github.com/aavshr/aws-sdk-go@v1.41.3/service/wellarchitected/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package wellarchitected
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateLenses = "AssociateLenses"
    17  
    18  // AssociateLensesRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateLenses operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateLenses for more information on using the AssociateLenses
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateLensesRequest method.
    34  //    req, resp := client.AssociateLensesRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/AssociateLenses
    42  func (c *WellArchitected) AssociateLensesRequest(input *AssociateLensesInput) (req *request.Request, output *AssociateLensesOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateLenses,
    45  		HTTPMethod: "PATCH",
    46  		HTTPPath:   "/workloads/{WorkloadId}/associateLenses",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateLensesInput{}
    51  	}
    52  
    53  	output = &AssociateLensesOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateLenses API operation for AWS Well-Architected Tool.
    60  //
    61  // Associate a lens to a workload.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for AWS Well-Architected Tool's
    68  // API operation AssociateLenses for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * ValidationException
    72  //   The user input is not valid.
    73  //
    74  //   * ResourceNotFoundException
    75  //   The requested resource was not found.
    76  //
    77  //   * ConflictException
    78  //   The resource already exists.
    79  //
    80  //   * InternalServerException
    81  //   There is a problem with the AWS Well-Architected Tool API service.
    82  //
    83  //   * AccessDeniedException
    84  //   User does not have sufficient access to perform this action.
    85  //
    86  //   * ThrottlingException
    87  //   Request was denied due to request throttling.
    88  //
    89  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/AssociateLenses
    90  func (c *WellArchitected) AssociateLenses(input *AssociateLensesInput) (*AssociateLensesOutput, error) {
    91  	req, out := c.AssociateLensesRequest(input)
    92  	return out, req.Send()
    93  }
    94  
    95  // AssociateLensesWithContext is the same as AssociateLenses with the addition of
    96  // the ability to pass a context and additional request options.
    97  //
    98  // See AssociateLenses for details on how to use this API operation.
    99  //
   100  // The context must be non-nil and will be used for request cancellation. If
   101  // the context is nil a panic will occur. In the future the SDK may create
   102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   103  // for more information on using Contexts.
   104  func (c *WellArchitected) AssociateLensesWithContext(ctx aws.Context, input *AssociateLensesInput, opts ...request.Option) (*AssociateLensesOutput, error) {
   105  	req, out := c.AssociateLensesRequest(input)
   106  	req.SetContext(ctx)
   107  	req.ApplyOptions(opts...)
   108  	return out, req.Send()
   109  }
   110  
   111  const opCreateMilestone = "CreateMilestone"
   112  
   113  // CreateMilestoneRequest generates a "aws/request.Request" representing the
   114  // client's request for the CreateMilestone operation. The "output" return
   115  // value will be populated with the request's response once the request completes
   116  // successfully.
   117  //
   118  // Use "Send" method on the returned Request to send the API call to the service.
   119  // the "output" return value is not valid until after Send returns without error.
   120  //
   121  // See CreateMilestone for more information on using the CreateMilestone
   122  // API call, and error handling.
   123  //
   124  // This method is useful when you want to inject custom logic or configuration
   125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   126  //
   127  //
   128  //    // Example sending a request using the CreateMilestoneRequest method.
   129  //    req, resp := client.CreateMilestoneRequest(params)
   130  //
   131  //    err := req.Send()
   132  //    if err == nil { // resp is now filled
   133  //        fmt.Println(resp)
   134  //    }
   135  //
   136  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateMilestone
   137  func (c *WellArchitected) CreateMilestoneRequest(input *CreateMilestoneInput) (req *request.Request, output *CreateMilestoneOutput) {
   138  	op := &request.Operation{
   139  		Name:       opCreateMilestone,
   140  		HTTPMethod: "POST",
   141  		HTTPPath:   "/workloads/{WorkloadId}/milestones",
   142  	}
   143  
   144  	if input == nil {
   145  		input = &CreateMilestoneInput{}
   146  	}
   147  
   148  	output = &CreateMilestoneOutput{}
   149  	req = c.newRequest(op, input, output)
   150  	return
   151  }
   152  
   153  // CreateMilestone API operation for AWS Well-Architected Tool.
   154  //
   155  // Create a milestone for an existing workload.
   156  //
   157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   158  // with awserr.Error's Code and Message methods to get detailed information about
   159  // the error.
   160  //
   161  // See the AWS API reference guide for AWS Well-Architected Tool's
   162  // API operation CreateMilestone for usage and error information.
   163  //
   164  // Returned Error Types:
   165  //   * ValidationException
   166  //   The user input is not valid.
   167  //
   168  //   * ConflictException
   169  //   The resource already exists.
   170  //
   171  //   * InternalServerException
   172  //   There is a problem with the AWS Well-Architected Tool API service.
   173  //
   174  //   * ResourceNotFoundException
   175  //   The requested resource was not found.
   176  //
   177  //   * ServiceQuotaExceededException
   178  //   The user has reached their resource quota.
   179  //
   180  //   * AccessDeniedException
   181  //   User does not have sufficient access to perform this action.
   182  //
   183  //   * ThrottlingException
   184  //   Request was denied due to request throttling.
   185  //
   186  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateMilestone
   187  func (c *WellArchitected) CreateMilestone(input *CreateMilestoneInput) (*CreateMilestoneOutput, error) {
   188  	req, out := c.CreateMilestoneRequest(input)
   189  	return out, req.Send()
   190  }
   191  
   192  // CreateMilestoneWithContext is the same as CreateMilestone with the addition of
   193  // the ability to pass a context and additional request options.
   194  //
   195  // See CreateMilestone for details on how to use this API operation.
   196  //
   197  // The context must be non-nil and will be used for request cancellation. If
   198  // the context is nil a panic will occur. In the future the SDK may create
   199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   200  // for more information on using Contexts.
   201  func (c *WellArchitected) CreateMilestoneWithContext(ctx aws.Context, input *CreateMilestoneInput, opts ...request.Option) (*CreateMilestoneOutput, error) {
   202  	req, out := c.CreateMilestoneRequest(input)
   203  	req.SetContext(ctx)
   204  	req.ApplyOptions(opts...)
   205  	return out, req.Send()
   206  }
   207  
   208  const opCreateWorkload = "CreateWorkload"
   209  
   210  // CreateWorkloadRequest generates a "aws/request.Request" representing the
   211  // client's request for the CreateWorkload operation. The "output" return
   212  // value will be populated with the request's response once the request completes
   213  // successfully.
   214  //
   215  // Use "Send" method on the returned Request to send the API call to the service.
   216  // the "output" return value is not valid until after Send returns without error.
   217  //
   218  // See CreateWorkload for more information on using the CreateWorkload
   219  // API call, and error handling.
   220  //
   221  // This method is useful when you want to inject custom logic or configuration
   222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   223  //
   224  //
   225  //    // Example sending a request using the CreateWorkloadRequest method.
   226  //    req, resp := client.CreateWorkloadRequest(params)
   227  //
   228  //    err := req.Send()
   229  //    if err == nil { // resp is now filled
   230  //        fmt.Println(resp)
   231  //    }
   232  //
   233  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkload
   234  func (c *WellArchitected) CreateWorkloadRequest(input *CreateWorkloadInput) (req *request.Request, output *CreateWorkloadOutput) {
   235  	op := &request.Operation{
   236  		Name:       opCreateWorkload,
   237  		HTTPMethod: "POST",
   238  		HTTPPath:   "/workloads",
   239  	}
   240  
   241  	if input == nil {
   242  		input = &CreateWorkloadInput{}
   243  	}
   244  
   245  	output = &CreateWorkloadOutput{}
   246  	req = c.newRequest(op, input, output)
   247  	return
   248  }
   249  
   250  // CreateWorkload API operation for AWS Well-Architected Tool.
   251  //
   252  // Create a new workload.
   253  //
   254  // The owner of a workload can share the workload with other AWS accounts and
   255  // IAM users in the same AWS Region. Only the owner of a workload can delete
   256  // it.
   257  //
   258  // For more information, see Defining a Workload (https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html)
   259  // in the AWS Well-Architected Tool User Guide.
   260  //
   261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   262  // with awserr.Error's Code and Message methods to get detailed information about
   263  // the error.
   264  //
   265  // See the AWS API reference guide for AWS Well-Architected Tool's
   266  // API operation CreateWorkload for usage and error information.
   267  //
   268  // Returned Error Types:
   269  //   * ValidationException
   270  //   The user input is not valid.
   271  //
   272  //   * ConflictException
   273  //   The resource already exists.
   274  //
   275  //   * ServiceQuotaExceededException
   276  //   The user has reached their resource quota.
   277  //
   278  //   * InternalServerException
   279  //   There is a problem with the AWS Well-Architected Tool API service.
   280  //
   281  //   * AccessDeniedException
   282  //   User does not have sufficient access to perform this action.
   283  //
   284  //   * ThrottlingException
   285  //   Request was denied due to request throttling.
   286  //
   287  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkload
   288  func (c *WellArchitected) CreateWorkload(input *CreateWorkloadInput) (*CreateWorkloadOutput, error) {
   289  	req, out := c.CreateWorkloadRequest(input)
   290  	return out, req.Send()
   291  }
   292  
   293  // CreateWorkloadWithContext is the same as CreateWorkload with the addition of
   294  // the ability to pass a context and additional request options.
   295  //
   296  // See CreateWorkload for details on how to use this API operation.
   297  //
   298  // The context must be non-nil and will be used for request cancellation. If
   299  // the context is nil a panic will occur. In the future the SDK may create
   300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   301  // for more information on using Contexts.
   302  func (c *WellArchitected) CreateWorkloadWithContext(ctx aws.Context, input *CreateWorkloadInput, opts ...request.Option) (*CreateWorkloadOutput, error) {
   303  	req, out := c.CreateWorkloadRequest(input)
   304  	req.SetContext(ctx)
   305  	req.ApplyOptions(opts...)
   306  	return out, req.Send()
   307  }
   308  
   309  const opCreateWorkloadShare = "CreateWorkloadShare"
   310  
   311  // CreateWorkloadShareRequest generates a "aws/request.Request" representing the
   312  // client's request for the CreateWorkloadShare operation. The "output" return
   313  // value will be populated with the request's response once the request completes
   314  // successfully.
   315  //
   316  // Use "Send" method on the returned Request to send the API call to the service.
   317  // the "output" return value is not valid until after Send returns without error.
   318  //
   319  // See CreateWorkloadShare for more information on using the CreateWorkloadShare
   320  // API call, and error handling.
   321  //
   322  // This method is useful when you want to inject custom logic or configuration
   323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   324  //
   325  //
   326  //    // Example sending a request using the CreateWorkloadShareRequest method.
   327  //    req, resp := client.CreateWorkloadShareRequest(params)
   328  //
   329  //    err := req.Send()
   330  //    if err == nil { // resp is now filled
   331  //        fmt.Println(resp)
   332  //    }
   333  //
   334  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkloadShare
   335  func (c *WellArchitected) CreateWorkloadShareRequest(input *CreateWorkloadShareInput) (req *request.Request, output *CreateWorkloadShareOutput) {
   336  	op := &request.Operation{
   337  		Name:       opCreateWorkloadShare,
   338  		HTTPMethod: "POST",
   339  		HTTPPath:   "/workloads/{WorkloadId}/shares",
   340  	}
   341  
   342  	if input == nil {
   343  		input = &CreateWorkloadShareInput{}
   344  	}
   345  
   346  	output = &CreateWorkloadShareOutput{}
   347  	req = c.newRequest(op, input, output)
   348  	return
   349  }
   350  
   351  // CreateWorkloadShare API operation for AWS Well-Architected Tool.
   352  //
   353  // Create a workload share.
   354  //
   355  // The owner of a workload can share it with other AWS accounts and IAM users
   356  // in the same AWS Region. Shared access to a workload is not removed until
   357  // the workload invitation is deleted.
   358  //
   359  // For more information, see Sharing a Workload (https://docs.aws.amazon.com/wellarchitected/latest/userguide/workloads-sharing.html)
   360  // in the AWS Well-Architected Tool User Guide.
   361  //
   362  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   363  // with awserr.Error's Code and Message methods to get detailed information about
   364  // the error.
   365  //
   366  // See the AWS API reference guide for AWS Well-Architected Tool's
   367  // API operation CreateWorkloadShare for usage and error information.
   368  //
   369  // Returned Error Types:
   370  //   * ValidationException
   371  //   The user input is not valid.
   372  //
   373  //   * ConflictException
   374  //   The resource already exists.
   375  //
   376  //   * InternalServerException
   377  //   There is a problem with the AWS Well-Architected Tool API service.
   378  //
   379  //   * ResourceNotFoundException
   380  //   The requested resource was not found.
   381  //
   382  //   * ServiceQuotaExceededException
   383  //   The user has reached their resource quota.
   384  //
   385  //   * AccessDeniedException
   386  //   User does not have sufficient access to perform this action.
   387  //
   388  //   * ThrottlingException
   389  //   Request was denied due to request throttling.
   390  //
   391  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkloadShare
   392  func (c *WellArchitected) CreateWorkloadShare(input *CreateWorkloadShareInput) (*CreateWorkloadShareOutput, error) {
   393  	req, out := c.CreateWorkloadShareRequest(input)
   394  	return out, req.Send()
   395  }
   396  
   397  // CreateWorkloadShareWithContext is the same as CreateWorkloadShare with the addition of
   398  // the ability to pass a context and additional request options.
   399  //
   400  // See CreateWorkloadShare for details on how to use this API operation.
   401  //
   402  // The context must be non-nil and will be used for request cancellation. If
   403  // the context is nil a panic will occur. In the future the SDK may create
   404  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   405  // for more information on using Contexts.
   406  func (c *WellArchitected) CreateWorkloadShareWithContext(ctx aws.Context, input *CreateWorkloadShareInput, opts ...request.Option) (*CreateWorkloadShareOutput, error) {
   407  	req, out := c.CreateWorkloadShareRequest(input)
   408  	req.SetContext(ctx)
   409  	req.ApplyOptions(opts...)
   410  	return out, req.Send()
   411  }
   412  
   413  const opDeleteWorkload = "DeleteWorkload"
   414  
   415  // DeleteWorkloadRequest generates a "aws/request.Request" representing the
   416  // client's request for the DeleteWorkload operation. The "output" return
   417  // value will be populated with the request's response once the request completes
   418  // successfully.
   419  //
   420  // Use "Send" method on the returned Request to send the API call to the service.
   421  // the "output" return value is not valid until after Send returns without error.
   422  //
   423  // See DeleteWorkload for more information on using the DeleteWorkload
   424  // API call, and error handling.
   425  //
   426  // This method is useful when you want to inject custom logic or configuration
   427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   428  //
   429  //
   430  //    // Example sending a request using the DeleteWorkloadRequest method.
   431  //    req, resp := client.DeleteWorkloadRequest(params)
   432  //
   433  //    err := req.Send()
   434  //    if err == nil { // resp is now filled
   435  //        fmt.Println(resp)
   436  //    }
   437  //
   438  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkload
   439  func (c *WellArchitected) DeleteWorkloadRequest(input *DeleteWorkloadInput) (req *request.Request, output *DeleteWorkloadOutput) {
   440  	op := &request.Operation{
   441  		Name:       opDeleteWorkload,
   442  		HTTPMethod: "DELETE",
   443  		HTTPPath:   "/workloads/{WorkloadId}",
   444  	}
   445  
   446  	if input == nil {
   447  		input = &DeleteWorkloadInput{}
   448  	}
   449  
   450  	output = &DeleteWorkloadOutput{}
   451  	req = c.newRequest(op, input, output)
   452  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   453  	return
   454  }
   455  
   456  // DeleteWorkload API operation for AWS Well-Architected Tool.
   457  //
   458  // Delete an existing workload.
   459  //
   460  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   461  // with awserr.Error's Code and Message methods to get detailed information about
   462  // the error.
   463  //
   464  // See the AWS API reference guide for AWS Well-Architected Tool's
   465  // API operation DeleteWorkload for usage and error information.
   466  //
   467  // Returned Error Types:
   468  //   * ValidationException
   469  //   The user input is not valid.
   470  //
   471  //   * ResourceNotFoundException
   472  //   The requested resource was not found.
   473  //
   474  //   * ConflictException
   475  //   The resource already exists.
   476  //
   477  //   * InternalServerException
   478  //   There is a problem with the AWS Well-Architected Tool API service.
   479  //
   480  //   * AccessDeniedException
   481  //   User does not have sufficient access to perform this action.
   482  //
   483  //   * ThrottlingException
   484  //   Request was denied due to request throttling.
   485  //
   486  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkload
   487  func (c *WellArchitected) DeleteWorkload(input *DeleteWorkloadInput) (*DeleteWorkloadOutput, error) {
   488  	req, out := c.DeleteWorkloadRequest(input)
   489  	return out, req.Send()
   490  }
   491  
   492  // DeleteWorkloadWithContext is the same as DeleteWorkload with the addition of
   493  // the ability to pass a context and additional request options.
   494  //
   495  // See DeleteWorkload for details on how to use this API operation.
   496  //
   497  // The context must be non-nil and will be used for request cancellation. If
   498  // the context is nil a panic will occur. In the future the SDK may create
   499  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   500  // for more information on using Contexts.
   501  func (c *WellArchitected) DeleteWorkloadWithContext(ctx aws.Context, input *DeleteWorkloadInput, opts ...request.Option) (*DeleteWorkloadOutput, error) {
   502  	req, out := c.DeleteWorkloadRequest(input)
   503  	req.SetContext(ctx)
   504  	req.ApplyOptions(opts...)
   505  	return out, req.Send()
   506  }
   507  
   508  const opDeleteWorkloadShare = "DeleteWorkloadShare"
   509  
   510  // DeleteWorkloadShareRequest generates a "aws/request.Request" representing the
   511  // client's request for the DeleteWorkloadShare operation. The "output" return
   512  // value will be populated with the request's response once the request completes
   513  // successfully.
   514  //
   515  // Use "Send" method on the returned Request to send the API call to the service.
   516  // the "output" return value is not valid until after Send returns without error.
   517  //
   518  // See DeleteWorkloadShare for more information on using the DeleteWorkloadShare
   519  // API call, and error handling.
   520  //
   521  // This method is useful when you want to inject custom logic or configuration
   522  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   523  //
   524  //
   525  //    // Example sending a request using the DeleteWorkloadShareRequest method.
   526  //    req, resp := client.DeleteWorkloadShareRequest(params)
   527  //
   528  //    err := req.Send()
   529  //    if err == nil { // resp is now filled
   530  //        fmt.Println(resp)
   531  //    }
   532  //
   533  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkloadShare
   534  func (c *WellArchitected) DeleteWorkloadShareRequest(input *DeleteWorkloadShareInput) (req *request.Request, output *DeleteWorkloadShareOutput) {
   535  	op := &request.Operation{
   536  		Name:       opDeleteWorkloadShare,
   537  		HTTPMethod: "DELETE",
   538  		HTTPPath:   "/workloads/{WorkloadId}/shares/{ShareId}",
   539  	}
   540  
   541  	if input == nil {
   542  		input = &DeleteWorkloadShareInput{}
   543  	}
   544  
   545  	output = &DeleteWorkloadShareOutput{}
   546  	req = c.newRequest(op, input, output)
   547  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   548  	return
   549  }
   550  
   551  // DeleteWorkloadShare API operation for AWS Well-Architected Tool.
   552  //
   553  // Delete a workload share.
   554  //
   555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   556  // with awserr.Error's Code and Message methods to get detailed information about
   557  // the error.
   558  //
   559  // See the AWS API reference guide for AWS Well-Architected Tool's
   560  // API operation DeleteWorkloadShare for usage and error information.
   561  //
   562  // Returned Error Types:
   563  //   * ValidationException
   564  //   The user input is not valid.
   565  //
   566  //   * InternalServerException
   567  //   There is a problem with the AWS Well-Architected Tool API service.
   568  //
   569  //   * ResourceNotFoundException
   570  //   The requested resource was not found.
   571  //
   572  //   * ConflictException
   573  //   The resource already exists.
   574  //
   575  //   * AccessDeniedException
   576  //   User does not have sufficient access to perform this action.
   577  //
   578  //   * ThrottlingException
   579  //   Request was denied due to request throttling.
   580  //
   581  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DeleteWorkloadShare
   582  func (c *WellArchitected) DeleteWorkloadShare(input *DeleteWorkloadShareInput) (*DeleteWorkloadShareOutput, error) {
   583  	req, out := c.DeleteWorkloadShareRequest(input)
   584  	return out, req.Send()
   585  }
   586  
   587  // DeleteWorkloadShareWithContext is the same as DeleteWorkloadShare with the addition of
   588  // the ability to pass a context and additional request options.
   589  //
   590  // See DeleteWorkloadShare for details on how to use this API operation.
   591  //
   592  // The context must be non-nil and will be used for request cancellation. If
   593  // the context is nil a panic will occur. In the future the SDK may create
   594  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   595  // for more information on using Contexts.
   596  func (c *WellArchitected) DeleteWorkloadShareWithContext(ctx aws.Context, input *DeleteWorkloadShareInput, opts ...request.Option) (*DeleteWorkloadShareOutput, error) {
   597  	req, out := c.DeleteWorkloadShareRequest(input)
   598  	req.SetContext(ctx)
   599  	req.ApplyOptions(opts...)
   600  	return out, req.Send()
   601  }
   602  
   603  const opDisassociateLenses = "DisassociateLenses"
   604  
   605  // DisassociateLensesRequest generates a "aws/request.Request" representing the
   606  // client's request for the DisassociateLenses operation. The "output" return
   607  // value will be populated with the request's response once the request completes
   608  // successfully.
   609  //
   610  // Use "Send" method on the returned Request to send the API call to the service.
   611  // the "output" return value is not valid until after Send returns without error.
   612  //
   613  // See DisassociateLenses for more information on using the DisassociateLenses
   614  // API call, and error handling.
   615  //
   616  // This method is useful when you want to inject custom logic or configuration
   617  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   618  //
   619  //
   620  //    // Example sending a request using the DisassociateLensesRequest method.
   621  //    req, resp := client.DisassociateLensesRequest(params)
   622  //
   623  //    err := req.Send()
   624  //    if err == nil { // resp is now filled
   625  //        fmt.Println(resp)
   626  //    }
   627  //
   628  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DisassociateLenses
   629  func (c *WellArchitected) DisassociateLensesRequest(input *DisassociateLensesInput) (req *request.Request, output *DisassociateLensesOutput) {
   630  	op := &request.Operation{
   631  		Name:       opDisassociateLenses,
   632  		HTTPMethod: "PATCH",
   633  		HTTPPath:   "/workloads/{WorkloadId}/disassociateLenses",
   634  	}
   635  
   636  	if input == nil {
   637  		input = &DisassociateLensesInput{}
   638  	}
   639  
   640  	output = &DisassociateLensesOutput{}
   641  	req = c.newRequest(op, input, output)
   642  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   643  	return
   644  }
   645  
   646  // DisassociateLenses API operation for AWS Well-Architected Tool.
   647  //
   648  // Disassociate a lens from a workload.
   649  //
   650  // The AWS Well-Architected Framework lens (wellarchitected) cannot be removed
   651  // from a workload.
   652  //
   653  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   654  // with awserr.Error's Code and Message methods to get detailed information about
   655  // the error.
   656  //
   657  // See the AWS API reference guide for AWS Well-Architected Tool's
   658  // API operation DisassociateLenses for usage and error information.
   659  //
   660  // Returned Error Types:
   661  //   * ValidationException
   662  //   The user input is not valid.
   663  //
   664  //   * ResourceNotFoundException
   665  //   The requested resource was not found.
   666  //
   667  //   * ConflictException
   668  //   The resource already exists.
   669  //
   670  //   * InternalServerException
   671  //   There is a problem with the AWS Well-Architected Tool API service.
   672  //
   673  //   * AccessDeniedException
   674  //   User does not have sufficient access to perform this action.
   675  //
   676  //   * ThrottlingException
   677  //   Request was denied due to request throttling.
   678  //
   679  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/DisassociateLenses
   680  func (c *WellArchitected) DisassociateLenses(input *DisassociateLensesInput) (*DisassociateLensesOutput, error) {
   681  	req, out := c.DisassociateLensesRequest(input)
   682  	return out, req.Send()
   683  }
   684  
   685  // DisassociateLensesWithContext is the same as DisassociateLenses with the addition of
   686  // the ability to pass a context and additional request options.
   687  //
   688  // See DisassociateLenses for details on how to use this API operation.
   689  //
   690  // The context must be non-nil and will be used for request cancellation. If
   691  // the context is nil a panic will occur. In the future the SDK may create
   692  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   693  // for more information on using Contexts.
   694  func (c *WellArchitected) DisassociateLensesWithContext(ctx aws.Context, input *DisassociateLensesInput, opts ...request.Option) (*DisassociateLensesOutput, error) {
   695  	req, out := c.DisassociateLensesRequest(input)
   696  	req.SetContext(ctx)
   697  	req.ApplyOptions(opts...)
   698  	return out, req.Send()
   699  }
   700  
   701  const opGetAnswer = "GetAnswer"
   702  
   703  // GetAnswerRequest generates a "aws/request.Request" representing the
   704  // client's request for the GetAnswer operation. The "output" return
   705  // value will be populated with the request's response once the request completes
   706  // successfully.
   707  //
   708  // Use "Send" method on the returned Request to send the API call to the service.
   709  // the "output" return value is not valid until after Send returns without error.
   710  //
   711  // See GetAnswer for more information on using the GetAnswer
   712  // API call, and error handling.
   713  //
   714  // This method is useful when you want to inject custom logic or configuration
   715  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   716  //
   717  //
   718  //    // Example sending a request using the GetAnswerRequest method.
   719  //    req, resp := client.GetAnswerRequest(params)
   720  //
   721  //    err := req.Send()
   722  //    if err == nil { // resp is now filled
   723  //        fmt.Println(resp)
   724  //    }
   725  //
   726  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetAnswer
   727  func (c *WellArchitected) GetAnswerRequest(input *GetAnswerInput) (req *request.Request, output *GetAnswerOutput) {
   728  	op := &request.Operation{
   729  		Name:       opGetAnswer,
   730  		HTTPMethod: "GET",
   731  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
   732  	}
   733  
   734  	if input == nil {
   735  		input = &GetAnswerInput{}
   736  	}
   737  
   738  	output = &GetAnswerOutput{}
   739  	req = c.newRequest(op, input, output)
   740  	return
   741  }
   742  
   743  // GetAnswer API operation for AWS Well-Architected Tool.
   744  //
   745  // Get the answer to a specific question in a workload review.
   746  //
   747  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   748  // with awserr.Error's Code and Message methods to get detailed information about
   749  // the error.
   750  //
   751  // See the AWS API reference guide for AWS Well-Architected Tool's
   752  // API operation GetAnswer for usage and error information.
   753  //
   754  // Returned Error Types:
   755  //   * ValidationException
   756  //   The user input is not valid.
   757  //
   758  //   * ResourceNotFoundException
   759  //   The requested resource was not found.
   760  //
   761  //   * InternalServerException
   762  //   There is a problem with the AWS Well-Architected Tool API service.
   763  //
   764  //   * AccessDeniedException
   765  //   User does not have sufficient access to perform this action.
   766  //
   767  //   * ThrottlingException
   768  //   Request was denied due to request throttling.
   769  //
   770  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetAnswer
   771  func (c *WellArchitected) GetAnswer(input *GetAnswerInput) (*GetAnswerOutput, error) {
   772  	req, out := c.GetAnswerRequest(input)
   773  	return out, req.Send()
   774  }
   775  
   776  // GetAnswerWithContext is the same as GetAnswer with the addition of
   777  // the ability to pass a context and additional request options.
   778  //
   779  // See GetAnswer for details on how to use this API operation.
   780  //
   781  // The context must be non-nil and will be used for request cancellation. If
   782  // the context is nil a panic will occur. In the future the SDK may create
   783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   784  // for more information on using Contexts.
   785  func (c *WellArchitected) GetAnswerWithContext(ctx aws.Context, input *GetAnswerInput, opts ...request.Option) (*GetAnswerOutput, error) {
   786  	req, out := c.GetAnswerRequest(input)
   787  	req.SetContext(ctx)
   788  	req.ApplyOptions(opts...)
   789  	return out, req.Send()
   790  }
   791  
   792  const opGetLensReview = "GetLensReview"
   793  
   794  // GetLensReviewRequest generates a "aws/request.Request" representing the
   795  // client's request for the GetLensReview operation. The "output" return
   796  // value will be populated with the request's response once the request completes
   797  // successfully.
   798  //
   799  // Use "Send" method on the returned Request to send the API call to the service.
   800  // the "output" return value is not valid until after Send returns without error.
   801  //
   802  // See GetLensReview for more information on using the GetLensReview
   803  // API call, and error handling.
   804  //
   805  // This method is useful when you want to inject custom logic or configuration
   806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   807  //
   808  //
   809  //    // Example sending a request using the GetLensReviewRequest method.
   810  //    req, resp := client.GetLensReviewRequest(params)
   811  //
   812  //    err := req.Send()
   813  //    if err == nil { // resp is now filled
   814  //        fmt.Println(resp)
   815  //    }
   816  //
   817  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReview
   818  func (c *WellArchitected) GetLensReviewRequest(input *GetLensReviewInput) (req *request.Request, output *GetLensReviewOutput) {
   819  	op := &request.Operation{
   820  		Name:       opGetLensReview,
   821  		HTTPMethod: "GET",
   822  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}",
   823  	}
   824  
   825  	if input == nil {
   826  		input = &GetLensReviewInput{}
   827  	}
   828  
   829  	output = &GetLensReviewOutput{}
   830  	req = c.newRequest(op, input, output)
   831  	return
   832  }
   833  
   834  // GetLensReview API operation for AWS Well-Architected Tool.
   835  //
   836  // Get lens review.
   837  //
   838  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   839  // with awserr.Error's Code and Message methods to get detailed information about
   840  // the error.
   841  //
   842  // See the AWS API reference guide for AWS Well-Architected Tool's
   843  // API operation GetLensReview for usage and error information.
   844  //
   845  // Returned Error Types:
   846  //   * ValidationException
   847  //   The user input is not valid.
   848  //
   849  //   * ResourceNotFoundException
   850  //   The requested resource was not found.
   851  //
   852  //   * InternalServerException
   853  //   There is a problem with the AWS Well-Architected Tool API service.
   854  //
   855  //   * AccessDeniedException
   856  //   User does not have sufficient access to perform this action.
   857  //
   858  //   * ThrottlingException
   859  //   Request was denied due to request throttling.
   860  //
   861  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReview
   862  func (c *WellArchitected) GetLensReview(input *GetLensReviewInput) (*GetLensReviewOutput, error) {
   863  	req, out := c.GetLensReviewRequest(input)
   864  	return out, req.Send()
   865  }
   866  
   867  // GetLensReviewWithContext is the same as GetLensReview with the addition of
   868  // the ability to pass a context and additional request options.
   869  //
   870  // See GetLensReview for details on how to use this API operation.
   871  //
   872  // The context must be non-nil and will be used for request cancellation. If
   873  // the context is nil a panic will occur. In the future the SDK may create
   874  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   875  // for more information on using Contexts.
   876  func (c *WellArchitected) GetLensReviewWithContext(ctx aws.Context, input *GetLensReviewInput, opts ...request.Option) (*GetLensReviewOutput, error) {
   877  	req, out := c.GetLensReviewRequest(input)
   878  	req.SetContext(ctx)
   879  	req.ApplyOptions(opts...)
   880  	return out, req.Send()
   881  }
   882  
   883  const opGetLensReviewReport = "GetLensReviewReport"
   884  
   885  // GetLensReviewReportRequest generates a "aws/request.Request" representing the
   886  // client's request for the GetLensReviewReport operation. The "output" return
   887  // value will be populated with the request's response once the request completes
   888  // successfully.
   889  //
   890  // Use "Send" method on the returned Request to send the API call to the service.
   891  // the "output" return value is not valid until after Send returns without error.
   892  //
   893  // See GetLensReviewReport for more information on using the GetLensReviewReport
   894  // API call, and error handling.
   895  //
   896  // This method is useful when you want to inject custom logic or configuration
   897  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   898  //
   899  //
   900  //    // Example sending a request using the GetLensReviewReportRequest method.
   901  //    req, resp := client.GetLensReviewReportRequest(params)
   902  //
   903  //    err := req.Send()
   904  //    if err == nil { // resp is now filled
   905  //        fmt.Println(resp)
   906  //    }
   907  //
   908  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReviewReport
   909  func (c *WellArchitected) GetLensReviewReportRequest(input *GetLensReviewReportInput) (req *request.Request, output *GetLensReviewReportOutput) {
   910  	op := &request.Operation{
   911  		Name:       opGetLensReviewReport,
   912  		HTTPMethod: "GET",
   913  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/report",
   914  	}
   915  
   916  	if input == nil {
   917  		input = &GetLensReviewReportInput{}
   918  	}
   919  
   920  	output = &GetLensReviewReportOutput{}
   921  	req = c.newRequest(op, input, output)
   922  	return
   923  }
   924  
   925  // GetLensReviewReport API operation for AWS Well-Architected Tool.
   926  //
   927  // Get lens review report.
   928  //
   929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   930  // with awserr.Error's Code and Message methods to get detailed information about
   931  // the error.
   932  //
   933  // See the AWS API reference guide for AWS Well-Architected Tool's
   934  // API operation GetLensReviewReport for usage and error information.
   935  //
   936  // Returned Error Types:
   937  //   * ValidationException
   938  //   The user input is not valid.
   939  //
   940  //   * ResourceNotFoundException
   941  //   The requested resource was not found.
   942  //
   943  //   * InternalServerException
   944  //   There is a problem with the AWS Well-Architected Tool API service.
   945  //
   946  //   * AccessDeniedException
   947  //   User does not have sufficient access to perform this action.
   948  //
   949  //   * ThrottlingException
   950  //   Request was denied due to request throttling.
   951  //
   952  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensReviewReport
   953  func (c *WellArchitected) GetLensReviewReport(input *GetLensReviewReportInput) (*GetLensReviewReportOutput, error) {
   954  	req, out := c.GetLensReviewReportRequest(input)
   955  	return out, req.Send()
   956  }
   957  
   958  // GetLensReviewReportWithContext is the same as GetLensReviewReport with the addition of
   959  // the ability to pass a context and additional request options.
   960  //
   961  // See GetLensReviewReport for details on how to use this API operation.
   962  //
   963  // The context must be non-nil and will be used for request cancellation. If
   964  // the context is nil a panic will occur. In the future the SDK may create
   965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   966  // for more information on using Contexts.
   967  func (c *WellArchitected) GetLensReviewReportWithContext(ctx aws.Context, input *GetLensReviewReportInput, opts ...request.Option) (*GetLensReviewReportOutput, error) {
   968  	req, out := c.GetLensReviewReportRequest(input)
   969  	req.SetContext(ctx)
   970  	req.ApplyOptions(opts...)
   971  	return out, req.Send()
   972  }
   973  
   974  const opGetLensVersionDifference = "GetLensVersionDifference"
   975  
   976  // GetLensVersionDifferenceRequest generates a "aws/request.Request" representing the
   977  // client's request for the GetLensVersionDifference operation. The "output" return
   978  // value will be populated with the request's response once the request completes
   979  // successfully.
   980  //
   981  // Use "Send" method on the returned Request to send the API call to the service.
   982  // the "output" return value is not valid until after Send returns without error.
   983  //
   984  // See GetLensVersionDifference for more information on using the GetLensVersionDifference
   985  // API call, and error handling.
   986  //
   987  // This method is useful when you want to inject custom logic or configuration
   988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   989  //
   990  //
   991  //    // Example sending a request using the GetLensVersionDifferenceRequest method.
   992  //    req, resp := client.GetLensVersionDifferenceRequest(params)
   993  //
   994  //    err := req.Send()
   995  //    if err == nil { // resp is now filled
   996  //        fmt.Println(resp)
   997  //    }
   998  //
   999  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensVersionDifference
  1000  func (c *WellArchitected) GetLensVersionDifferenceRequest(input *GetLensVersionDifferenceInput) (req *request.Request, output *GetLensVersionDifferenceOutput) {
  1001  	op := &request.Operation{
  1002  		Name:       opGetLensVersionDifference,
  1003  		HTTPMethod: "GET",
  1004  		HTTPPath:   "/lenses/{LensAlias}/versionDifference",
  1005  	}
  1006  
  1007  	if input == nil {
  1008  		input = &GetLensVersionDifferenceInput{}
  1009  	}
  1010  
  1011  	output = &GetLensVersionDifferenceOutput{}
  1012  	req = c.newRequest(op, input, output)
  1013  	return
  1014  }
  1015  
  1016  // GetLensVersionDifference API operation for AWS Well-Architected Tool.
  1017  //
  1018  // Get lens version differences.
  1019  //
  1020  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1021  // with awserr.Error's Code and Message methods to get detailed information about
  1022  // the error.
  1023  //
  1024  // See the AWS API reference guide for AWS Well-Architected Tool's
  1025  // API operation GetLensVersionDifference for usage and error information.
  1026  //
  1027  // Returned Error Types:
  1028  //   * ValidationException
  1029  //   The user input is not valid.
  1030  //
  1031  //   * ResourceNotFoundException
  1032  //   The requested resource was not found.
  1033  //
  1034  //   * InternalServerException
  1035  //   There is a problem with the AWS Well-Architected Tool API service.
  1036  //
  1037  //   * AccessDeniedException
  1038  //   User does not have sufficient access to perform this action.
  1039  //
  1040  //   * ThrottlingException
  1041  //   Request was denied due to request throttling.
  1042  //
  1043  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetLensVersionDifference
  1044  func (c *WellArchitected) GetLensVersionDifference(input *GetLensVersionDifferenceInput) (*GetLensVersionDifferenceOutput, error) {
  1045  	req, out := c.GetLensVersionDifferenceRequest(input)
  1046  	return out, req.Send()
  1047  }
  1048  
  1049  // GetLensVersionDifferenceWithContext is the same as GetLensVersionDifference with the addition of
  1050  // the ability to pass a context and additional request options.
  1051  //
  1052  // See GetLensVersionDifference for details on how to use this API operation.
  1053  //
  1054  // The context must be non-nil and will be used for request cancellation. If
  1055  // the context is nil a panic will occur. In the future the SDK may create
  1056  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1057  // for more information on using Contexts.
  1058  func (c *WellArchitected) GetLensVersionDifferenceWithContext(ctx aws.Context, input *GetLensVersionDifferenceInput, opts ...request.Option) (*GetLensVersionDifferenceOutput, error) {
  1059  	req, out := c.GetLensVersionDifferenceRequest(input)
  1060  	req.SetContext(ctx)
  1061  	req.ApplyOptions(opts...)
  1062  	return out, req.Send()
  1063  }
  1064  
  1065  const opGetMilestone = "GetMilestone"
  1066  
  1067  // GetMilestoneRequest generates a "aws/request.Request" representing the
  1068  // client's request for the GetMilestone operation. The "output" return
  1069  // value will be populated with the request's response once the request completes
  1070  // successfully.
  1071  //
  1072  // Use "Send" method on the returned Request to send the API call to the service.
  1073  // the "output" return value is not valid until after Send returns without error.
  1074  //
  1075  // See GetMilestone for more information on using the GetMilestone
  1076  // API call, and error handling.
  1077  //
  1078  // This method is useful when you want to inject custom logic or configuration
  1079  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1080  //
  1081  //
  1082  //    // Example sending a request using the GetMilestoneRequest method.
  1083  //    req, resp := client.GetMilestoneRequest(params)
  1084  //
  1085  //    err := req.Send()
  1086  //    if err == nil { // resp is now filled
  1087  //        fmt.Println(resp)
  1088  //    }
  1089  //
  1090  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetMilestone
  1091  func (c *WellArchitected) GetMilestoneRequest(input *GetMilestoneInput) (req *request.Request, output *GetMilestoneOutput) {
  1092  	op := &request.Operation{
  1093  		Name:       opGetMilestone,
  1094  		HTTPMethod: "GET",
  1095  		HTTPPath:   "/workloads/{WorkloadId}/milestones/{MilestoneNumber}",
  1096  	}
  1097  
  1098  	if input == nil {
  1099  		input = &GetMilestoneInput{}
  1100  	}
  1101  
  1102  	output = &GetMilestoneOutput{}
  1103  	req = c.newRequest(op, input, output)
  1104  	return
  1105  }
  1106  
  1107  // GetMilestone API operation for AWS Well-Architected Tool.
  1108  //
  1109  // Get a milestone for an existing workload.
  1110  //
  1111  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1112  // with awserr.Error's Code and Message methods to get detailed information about
  1113  // the error.
  1114  //
  1115  // See the AWS API reference guide for AWS Well-Architected Tool's
  1116  // API operation GetMilestone for usage and error information.
  1117  //
  1118  // Returned Error Types:
  1119  //   * ValidationException
  1120  //   The user input is not valid.
  1121  //
  1122  //   * ResourceNotFoundException
  1123  //   The requested resource was not found.
  1124  //
  1125  //   * InternalServerException
  1126  //   There is a problem with the AWS Well-Architected Tool API service.
  1127  //
  1128  //   * AccessDeniedException
  1129  //   User does not have sufficient access to perform this action.
  1130  //
  1131  //   * ThrottlingException
  1132  //   Request was denied due to request throttling.
  1133  //
  1134  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetMilestone
  1135  func (c *WellArchitected) GetMilestone(input *GetMilestoneInput) (*GetMilestoneOutput, error) {
  1136  	req, out := c.GetMilestoneRequest(input)
  1137  	return out, req.Send()
  1138  }
  1139  
  1140  // GetMilestoneWithContext is the same as GetMilestone with the addition of
  1141  // the ability to pass a context and additional request options.
  1142  //
  1143  // See GetMilestone for details on how to use this API operation.
  1144  //
  1145  // The context must be non-nil and will be used for request cancellation. If
  1146  // the context is nil a panic will occur. In the future the SDK may create
  1147  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1148  // for more information on using Contexts.
  1149  func (c *WellArchitected) GetMilestoneWithContext(ctx aws.Context, input *GetMilestoneInput, opts ...request.Option) (*GetMilestoneOutput, error) {
  1150  	req, out := c.GetMilestoneRequest(input)
  1151  	req.SetContext(ctx)
  1152  	req.ApplyOptions(opts...)
  1153  	return out, req.Send()
  1154  }
  1155  
  1156  const opGetWorkload = "GetWorkload"
  1157  
  1158  // GetWorkloadRequest generates a "aws/request.Request" representing the
  1159  // client's request for the GetWorkload operation. The "output" return
  1160  // value will be populated with the request's response once the request completes
  1161  // successfully.
  1162  //
  1163  // Use "Send" method on the returned Request to send the API call to the service.
  1164  // the "output" return value is not valid until after Send returns without error.
  1165  //
  1166  // See GetWorkload for more information on using the GetWorkload
  1167  // API call, and error handling.
  1168  //
  1169  // This method is useful when you want to inject custom logic or configuration
  1170  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1171  //
  1172  //
  1173  //    // Example sending a request using the GetWorkloadRequest method.
  1174  //    req, resp := client.GetWorkloadRequest(params)
  1175  //
  1176  //    err := req.Send()
  1177  //    if err == nil { // resp is now filled
  1178  //        fmt.Println(resp)
  1179  //    }
  1180  //
  1181  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetWorkload
  1182  func (c *WellArchitected) GetWorkloadRequest(input *GetWorkloadInput) (req *request.Request, output *GetWorkloadOutput) {
  1183  	op := &request.Operation{
  1184  		Name:       opGetWorkload,
  1185  		HTTPMethod: "GET",
  1186  		HTTPPath:   "/workloads/{WorkloadId}",
  1187  	}
  1188  
  1189  	if input == nil {
  1190  		input = &GetWorkloadInput{}
  1191  	}
  1192  
  1193  	output = &GetWorkloadOutput{}
  1194  	req = c.newRequest(op, input, output)
  1195  	return
  1196  }
  1197  
  1198  // GetWorkload API operation for AWS Well-Architected Tool.
  1199  //
  1200  // Get an existing workload.
  1201  //
  1202  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1203  // with awserr.Error's Code and Message methods to get detailed information about
  1204  // the error.
  1205  //
  1206  // See the AWS API reference guide for AWS Well-Architected Tool's
  1207  // API operation GetWorkload for usage and error information.
  1208  //
  1209  // Returned Error Types:
  1210  //   * ValidationException
  1211  //   The user input is not valid.
  1212  //
  1213  //   * ResourceNotFoundException
  1214  //   The requested resource was not found.
  1215  //
  1216  //   * InternalServerException
  1217  //   There is a problem with the AWS Well-Architected Tool API service.
  1218  //
  1219  //   * AccessDeniedException
  1220  //   User does not have sufficient access to perform this action.
  1221  //
  1222  //   * ThrottlingException
  1223  //   Request was denied due to request throttling.
  1224  //
  1225  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/GetWorkload
  1226  func (c *WellArchitected) GetWorkload(input *GetWorkloadInput) (*GetWorkloadOutput, error) {
  1227  	req, out := c.GetWorkloadRequest(input)
  1228  	return out, req.Send()
  1229  }
  1230  
  1231  // GetWorkloadWithContext is the same as GetWorkload with the addition of
  1232  // the ability to pass a context and additional request options.
  1233  //
  1234  // See GetWorkload for details on how to use this API operation.
  1235  //
  1236  // The context must be non-nil and will be used for request cancellation. If
  1237  // the context is nil a panic will occur. In the future the SDK may create
  1238  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1239  // for more information on using Contexts.
  1240  func (c *WellArchitected) GetWorkloadWithContext(ctx aws.Context, input *GetWorkloadInput, opts ...request.Option) (*GetWorkloadOutput, error) {
  1241  	req, out := c.GetWorkloadRequest(input)
  1242  	req.SetContext(ctx)
  1243  	req.ApplyOptions(opts...)
  1244  	return out, req.Send()
  1245  }
  1246  
  1247  const opListAnswers = "ListAnswers"
  1248  
  1249  // ListAnswersRequest generates a "aws/request.Request" representing the
  1250  // client's request for the ListAnswers operation. The "output" return
  1251  // value will be populated with the request's response once the request completes
  1252  // successfully.
  1253  //
  1254  // Use "Send" method on the returned Request to send the API call to the service.
  1255  // the "output" return value is not valid until after Send returns without error.
  1256  //
  1257  // See ListAnswers for more information on using the ListAnswers
  1258  // API call, and error handling.
  1259  //
  1260  // This method is useful when you want to inject custom logic or configuration
  1261  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1262  //
  1263  //
  1264  //    // Example sending a request using the ListAnswersRequest method.
  1265  //    req, resp := client.ListAnswersRequest(params)
  1266  //
  1267  //    err := req.Send()
  1268  //    if err == nil { // resp is now filled
  1269  //        fmt.Println(resp)
  1270  //    }
  1271  //
  1272  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListAnswers
  1273  func (c *WellArchitected) ListAnswersRequest(input *ListAnswersInput) (req *request.Request, output *ListAnswersOutput) {
  1274  	op := &request.Operation{
  1275  		Name:       opListAnswers,
  1276  		HTTPMethod: "GET",
  1277  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers",
  1278  		Paginator: &request.Paginator{
  1279  			InputTokens:     []string{"NextToken"},
  1280  			OutputTokens:    []string{"NextToken"},
  1281  			LimitToken:      "MaxResults",
  1282  			TruncationToken: "",
  1283  		},
  1284  	}
  1285  
  1286  	if input == nil {
  1287  		input = &ListAnswersInput{}
  1288  	}
  1289  
  1290  	output = &ListAnswersOutput{}
  1291  	req = c.newRequest(op, input, output)
  1292  	return
  1293  }
  1294  
  1295  // ListAnswers API operation for AWS Well-Architected Tool.
  1296  //
  1297  // List of answers.
  1298  //
  1299  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1300  // with awserr.Error's Code and Message methods to get detailed information about
  1301  // the error.
  1302  //
  1303  // See the AWS API reference guide for AWS Well-Architected Tool's
  1304  // API operation ListAnswers for usage and error information.
  1305  //
  1306  // Returned Error Types:
  1307  //   * ValidationException
  1308  //   The user input is not valid.
  1309  //
  1310  //   * InternalServerException
  1311  //   There is a problem with the AWS Well-Architected Tool API service.
  1312  //
  1313  //   * ResourceNotFoundException
  1314  //   The requested resource was not found.
  1315  //
  1316  //   * AccessDeniedException
  1317  //   User does not have sufficient access to perform this action.
  1318  //
  1319  //   * ThrottlingException
  1320  //   Request was denied due to request throttling.
  1321  //
  1322  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListAnswers
  1323  func (c *WellArchitected) ListAnswers(input *ListAnswersInput) (*ListAnswersOutput, error) {
  1324  	req, out := c.ListAnswersRequest(input)
  1325  	return out, req.Send()
  1326  }
  1327  
  1328  // ListAnswersWithContext is the same as ListAnswers with the addition of
  1329  // the ability to pass a context and additional request options.
  1330  //
  1331  // See ListAnswers for details on how to use this API operation.
  1332  //
  1333  // The context must be non-nil and will be used for request cancellation. If
  1334  // the context is nil a panic will occur. In the future the SDK may create
  1335  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1336  // for more information on using Contexts.
  1337  func (c *WellArchitected) ListAnswersWithContext(ctx aws.Context, input *ListAnswersInput, opts ...request.Option) (*ListAnswersOutput, error) {
  1338  	req, out := c.ListAnswersRequest(input)
  1339  	req.SetContext(ctx)
  1340  	req.ApplyOptions(opts...)
  1341  	return out, req.Send()
  1342  }
  1343  
  1344  // ListAnswersPages iterates over the pages of a ListAnswers operation,
  1345  // calling the "fn" function with the response data for each page. To stop
  1346  // iterating, return false from the fn function.
  1347  //
  1348  // See ListAnswers method for more information on how to use this operation.
  1349  //
  1350  // Note: This operation can generate multiple requests to a service.
  1351  //
  1352  //    // Example iterating over at most 3 pages of a ListAnswers operation.
  1353  //    pageNum := 0
  1354  //    err := client.ListAnswersPages(params,
  1355  //        func(page *wellarchitected.ListAnswersOutput, lastPage bool) bool {
  1356  //            pageNum++
  1357  //            fmt.Println(page)
  1358  //            return pageNum <= 3
  1359  //        })
  1360  //
  1361  func (c *WellArchitected) ListAnswersPages(input *ListAnswersInput, fn func(*ListAnswersOutput, bool) bool) error {
  1362  	return c.ListAnswersPagesWithContext(aws.BackgroundContext(), input, fn)
  1363  }
  1364  
  1365  // ListAnswersPagesWithContext same as ListAnswersPages except
  1366  // it takes a Context and allows setting request options on the pages.
  1367  //
  1368  // The context must be non-nil and will be used for request cancellation. If
  1369  // the context is nil a panic will occur. In the future the SDK may create
  1370  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1371  // for more information on using Contexts.
  1372  func (c *WellArchitected) ListAnswersPagesWithContext(ctx aws.Context, input *ListAnswersInput, fn func(*ListAnswersOutput, bool) bool, opts ...request.Option) error {
  1373  	p := request.Pagination{
  1374  		NewRequest: func() (*request.Request, error) {
  1375  			var inCpy *ListAnswersInput
  1376  			if input != nil {
  1377  				tmp := *input
  1378  				inCpy = &tmp
  1379  			}
  1380  			req, _ := c.ListAnswersRequest(inCpy)
  1381  			req.SetContext(ctx)
  1382  			req.ApplyOptions(opts...)
  1383  			return req, nil
  1384  		},
  1385  	}
  1386  
  1387  	for p.Next() {
  1388  		if !fn(p.Page().(*ListAnswersOutput), !p.HasNextPage()) {
  1389  			break
  1390  		}
  1391  	}
  1392  
  1393  	return p.Err()
  1394  }
  1395  
  1396  const opListLensReviewImprovements = "ListLensReviewImprovements"
  1397  
  1398  // ListLensReviewImprovementsRequest generates a "aws/request.Request" representing the
  1399  // client's request for the ListLensReviewImprovements operation. The "output" return
  1400  // value will be populated with the request's response once the request completes
  1401  // successfully.
  1402  //
  1403  // Use "Send" method on the returned Request to send the API call to the service.
  1404  // the "output" return value is not valid until after Send returns without error.
  1405  //
  1406  // See ListLensReviewImprovements for more information on using the ListLensReviewImprovements
  1407  // API call, and error handling.
  1408  //
  1409  // This method is useful when you want to inject custom logic or configuration
  1410  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1411  //
  1412  //
  1413  //    // Example sending a request using the ListLensReviewImprovementsRequest method.
  1414  //    req, resp := client.ListLensReviewImprovementsRequest(params)
  1415  //
  1416  //    err := req.Send()
  1417  //    if err == nil { // resp is now filled
  1418  //        fmt.Println(resp)
  1419  //    }
  1420  //
  1421  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviewImprovements
  1422  func (c *WellArchitected) ListLensReviewImprovementsRequest(input *ListLensReviewImprovementsInput) (req *request.Request, output *ListLensReviewImprovementsOutput) {
  1423  	op := &request.Operation{
  1424  		Name:       opListLensReviewImprovements,
  1425  		HTTPMethod: "GET",
  1426  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/improvements",
  1427  		Paginator: &request.Paginator{
  1428  			InputTokens:     []string{"NextToken"},
  1429  			OutputTokens:    []string{"NextToken"},
  1430  			LimitToken:      "MaxResults",
  1431  			TruncationToken: "",
  1432  		},
  1433  	}
  1434  
  1435  	if input == nil {
  1436  		input = &ListLensReviewImprovementsInput{}
  1437  	}
  1438  
  1439  	output = &ListLensReviewImprovementsOutput{}
  1440  	req = c.newRequest(op, input, output)
  1441  	return
  1442  }
  1443  
  1444  // ListLensReviewImprovements API operation for AWS Well-Architected Tool.
  1445  //
  1446  // List lens review improvements.
  1447  //
  1448  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1449  // with awserr.Error's Code and Message methods to get detailed information about
  1450  // the error.
  1451  //
  1452  // See the AWS API reference guide for AWS Well-Architected Tool's
  1453  // API operation ListLensReviewImprovements for usage and error information.
  1454  //
  1455  // Returned Error Types:
  1456  //   * ValidationException
  1457  //   The user input is not valid.
  1458  //
  1459  //   * InternalServerException
  1460  //   There is a problem with the AWS Well-Architected Tool API service.
  1461  //
  1462  //   * ResourceNotFoundException
  1463  //   The requested resource was not found.
  1464  //
  1465  //   * AccessDeniedException
  1466  //   User does not have sufficient access to perform this action.
  1467  //
  1468  //   * ThrottlingException
  1469  //   Request was denied due to request throttling.
  1470  //
  1471  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviewImprovements
  1472  func (c *WellArchitected) ListLensReviewImprovements(input *ListLensReviewImprovementsInput) (*ListLensReviewImprovementsOutput, error) {
  1473  	req, out := c.ListLensReviewImprovementsRequest(input)
  1474  	return out, req.Send()
  1475  }
  1476  
  1477  // ListLensReviewImprovementsWithContext is the same as ListLensReviewImprovements with the addition of
  1478  // the ability to pass a context and additional request options.
  1479  //
  1480  // See ListLensReviewImprovements for details on how to use this API operation.
  1481  //
  1482  // The context must be non-nil and will be used for request cancellation. If
  1483  // the context is nil a panic will occur. In the future the SDK may create
  1484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1485  // for more information on using Contexts.
  1486  func (c *WellArchitected) ListLensReviewImprovementsWithContext(ctx aws.Context, input *ListLensReviewImprovementsInput, opts ...request.Option) (*ListLensReviewImprovementsOutput, error) {
  1487  	req, out := c.ListLensReviewImprovementsRequest(input)
  1488  	req.SetContext(ctx)
  1489  	req.ApplyOptions(opts...)
  1490  	return out, req.Send()
  1491  }
  1492  
  1493  // ListLensReviewImprovementsPages iterates over the pages of a ListLensReviewImprovements operation,
  1494  // calling the "fn" function with the response data for each page. To stop
  1495  // iterating, return false from the fn function.
  1496  //
  1497  // See ListLensReviewImprovements method for more information on how to use this operation.
  1498  //
  1499  // Note: This operation can generate multiple requests to a service.
  1500  //
  1501  //    // Example iterating over at most 3 pages of a ListLensReviewImprovements operation.
  1502  //    pageNum := 0
  1503  //    err := client.ListLensReviewImprovementsPages(params,
  1504  //        func(page *wellarchitected.ListLensReviewImprovementsOutput, lastPage bool) bool {
  1505  //            pageNum++
  1506  //            fmt.Println(page)
  1507  //            return pageNum <= 3
  1508  //        })
  1509  //
  1510  func (c *WellArchitected) ListLensReviewImprovementsPages(input *ListLensReviewImprovementsInput, fn func(*ListLensReviewImprovementsOutput, bool) bool) error {
  1511  	return c.ListLensReviewImprovementsPagesWithContext(aws.BackgroundContext(), input, fn)
  1512  }
  1513  
  1514  // ListLensReviewImprovementsPagesWithContext same as ListLensReviewImprovementsPages except
  1515  // it takes a Context and allows setting request options on the pages.
  1516  //
  1517  // The context must be non-nil and will be used for request cancellation. If
  1518  // the context is nil a panic will occur. In the future the SDK may create
  1519  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1520  // for more information on using Contexts.
  1521  func (c *WellArchitected) ListLensReviewImprovementsPagesWithContext(ctx aws.Context, input *ListLensReviewImprovementsInput, fn func(*ListLensReviewImprovementsOutput, bool) bool, opts ...request.Option) error {
  1522  	p := request.Pagination{
  1523  		NewRequest: func() (*request.Request, error) {
  1524  			var inCpy *ListLensReviewImprovementsInput
  1525  			if input != nil {
  1526  				tmp := *input
  1527  				inCpy = &tmp
  1528  			}
  1529  			req, _ := c.ListLensReviewImprovementsRequest(inCpy)
  1530  			req.SetContext(ctx)
  1531  			req.ApplyOptions(opts...)
  1532  			return req, nil
  1533  		},
  1534  	}
  1535  
  1536  	for p.Next() {
  1537  		if !fn(p.Page().(*ListLensReviewImprovementsOutput), !p.HasNextPage()) {
  1538  			break
  1539  		}
  1540  	}
  1541  
  1542  	return p.Err()
  1543  }
  1544  
  1545  const opListLensReviews = "ListLensReviews"
  1546  
  1547  // ListLensReviewsRequest generates a "aws/request.Request" representing the
  1548  // client's request for the ListLensReviews operation. The "output" return
  1549  // value will be populated with the request's response once the request completes
  1550  // successfully.
  1551  //
  1552  // Use "Send" method on the returned Request to send the API call to the service.
  1553  // the "output" return value is not valid until after Send returns without error.
  1554  //
  1555  // See ListLensReviews for more information on using the ListLensReviews
  1556  // API call, and error handling.
  1557  //
  1558  // This method is useful when you want to inject custom logic or configuration
  1559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1560  //
  1561  //
  1562  //    // Example sending a request using the ListLensReviewsRequest method.
  1563  //    req, resp := client.ListLensReviewsRequest(params)
  1564  //
  1565  //    err := req.Send()
  1566  //    if err == nil { // resp is now filled
  1567  //        fmt.Println(resp)
  1568  //    }
  1569  //
  1570  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviews
  1571  func (c *WellArchitected) ListLensReviewsRequest(input *ListLensReviewsInput) (req *request.Request, output *ListLensReviewsOutput) {
  1572  	op := &request.Operation{
  1573  		Name:       opListLensReviews,
  1574  		HTTPMethod: "GET",
  1575  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews",
  1576  		Paginator: &request.Paginator{
  1577  			InputTokens:     []string{"NextToken"},
  1578  			OutputTokens:    []string{"NextToken"},
  1579  			LimitToken:      "MaxResults",
  1580  			TruncationToken: "",
  1581  		},
  1582  	}
  1583  
  1584  	if input == nil {
  1585  		input = &ListLensReviewsInput{}
  1586  	}
  1587  
  1588  	output = &ListLensReviewsOutput{}
  1589  	req = c.newRequest(op, input, output)
  1590  	return
  1591  }
  1592  
  1593  // ListLensReviews API operation for AWS Well-Architected Tool.
  1594  //
  1595  // List lens reviews.
  1596  //
  1597  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1598  // with awserr.Error's Code and Message methods to get detailed information about
  1599  // the error.
  1600  //
  1601  // See the AWS API reference guide for AWS Well-Architected Tool's
  1602  // API operation ListLensReviews for usage and error information.
  1603  //
  1604  // Returned Error Types:
  1605  //   * ValidationException
  1606  //   The user input is not valid.
  1607  //
  1608  //   * InternalServerException
  1609  //   There is a problem with the AWS Well-Architected Tool API service.
  1610  //
  1611  //   * ResourceNotFoundException
  1612  //   The requested resource was not found.
  1613  //
  1614  //   * AccessDeniedException
  1615  //   User does not have sufficient access to perform this action.
  1616  //
  1617  //   * ThrottlingException
  1618  //   Request was denied due to request throttling.
  1619  //
  1620  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLensReviews
  1621  func (c *WellArchitected) ListLensReviews(input *ListLensReviewsInput) (*ListLensReviewsOutput, error) {
  1622  	req, out := c.ListLensReviewsRequest(input)
  1623  	return out, req.Send()
  1624  }
  1625  
  1626  // ListLensReviewsWithContext is the same as ListLensReviews with the addition of
  1627  // the ability to pass a context and additional request options.
  1628  //
  1629  // See ListLensReviews for details on how to use this API operation.
  1630  //
  1631  // The context must be non-nil and will be used for request cancellation. If
  1632  // the context is nil a panic will occur. In the future the SDK may create
  1633  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1634  // for more information on using Contexts.
  1635  func (c *WellArchitected) ListLensReviewsWithContext(ctx aws.Context, input *ListLensReviewsInput, opts ...request.Option) (*ListLensReviewsOutput, error) {
  1636  	req, out := c.ListLensReviewsRequest(input)
  1637  	req.SetContext(ctx)
  1638  	req.ApplyOptions(opts...)
  1639  	return out, req.Send()
  1640  }
  1641  
  1642  // ListLensReviewsPages iterates over the pages of a ListLensReviews operation,
  1643  // calling the "fn" function with the response data for each page. To stop
  1644  // iterating, return false from the fn function.
  1645  //
  1646  // See ListLensReviews method for more information on how to use this operation.
  1647  //
  1648  // Note: This operation can generate multiple requests to a service.
  1649  //
  1650  //    // Example iterating over at most 3 pages of a ListLensReviews operation.
  1651  //    pageNum := 0
  1652  //    err := client.ListLensReviewsPages(params,
  1653  //        func(page *wellarchitected.ListLensReviewsOutput, lastPage bool) bool {
  1654  //            pageNum++
  1655  //            fmt.Println(page)
  1656  //            return pageNum <= 3
  1657  //        })
  1658  //
  1659  func (c *WellArchitected) ListLensReviewsPages(input *ListLensReviewsInput, fn func(*ListLensReviewsOutput, bool) bool) error {
  1660  	return c.ListLensReviewsPagesWithContext(aws.BackgroundContext(), input, fn)
  1661  }
  1662  
  1663  // ListLensReviewsPagesWithContext same as ListLensReviewsPages except
  1664  // it takes a Context and allows setting request options on the pages.
  1665  //
  1666  // The context must be non-nil and will be used for request cancellation. If
  1667  // the context is nil a panic will occur. In the future the SDK may create
  1668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1669  // for more information on using Contexts.
  1670  func (c *WellArchitected) ListLensReviewsPagesWithContext(ctx aws.Context, input *ListLensReviewsInput, fn func(*ListLensReviewsOutput, bool) bool, opts ...request.Option) error {
  1671  	p := request.Pagination{
  1672  		NewRequest: func() (*request.Request, error) {
  1673  			var inCpy *ListLensReviewsInput
  1674  			if input != nil {
  1675  				tmp := *input
  1676  				inCpy = &tmp
  1677  			}
  1678  			req, _ := c.ListLensReviewsRequest(inCpy)
  1679  			req.SetContext(ctx)
  1680  			req.ApplyOptions(opts...)
  1681  			return req, nil
  1682  		},
  1683  	}
  1684  
  1685  	for p.Next() {
  1686  		if !fn(p.Page().(*ListLensReviewsOutput), !p.HasNextPage()) {
  1687  			break
  1688  		}
  1689  	}
  1690  
  1691  	return p.Err()
  1692  }
  1693  
  1694  const opListLenses = "ListLenses"
  1695  
  1696  // ListLensesRequest generates a "aws/request.Request" representing the
  1697  // client's request for the ListLenses operation. The "output" return
  1698  // value will be populated with the request's response once the request completes
  1699  // successfully.
  1700  //
  1701  // Use "Send" method on the returned Request to send the API call to the service.
  1702  // the "output" return value is not valid until after Send returns without error.
  1703  //
  1704  // See ListLenses for more information on using the ListLenses
  1705  // API call, and error handling.
  1706  //
  1707  // This method is useful when you want to inject custom logic or configuration
  1708  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1709  //
  1710  //
  1711  //    // Example sending a request using the ListLensesRequest method.
  1712  //    req, resp := client.ListLensesRequest(params)
  1713  //
  1714  //    err := req.Send()
  1715  //    if err == nil { // resp is now filled
  1716  //        fmt.Println(resp)
  1717  //    }
  1718  //
  1719  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLenses
  1720  func (c *WellArchitected) ListLensesRequest(input *ListLensesInput) (req *request.Request, output *ListLensesOutput) {
  1721  	op := &request.Operation{
  1722  		Name:       opListLenses,
  1723  		HTTPMethod: "GET",
  1724  		HTTPPath:   "/lenses",
  1725  		Paginator: &request.Paginator{
  1726  			InputTokens:     []string{"NextToken"},
  1727  			OutputTokens:    []string{"NextToken"},
  1728  			LimitToken:      "MaxResults",
  1729  			TruncationToken: "",
  1730  		},
  1731  	}
  1732  
  1733  	if input == nil {
  1734  		input = &ListLensesInput{}
  1735  	}
  1736  
  1737  	output = &ListLensesOutput{}
  1738  	req = c.newRequest(op, input, output)
  1739  	return
  1740  }
  1741  
  1742  // ListLenses API operation for AWS Well-Architected Tool.
  1743  //
  1744  // List the available lenses.
  1745  //
  1746  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1747  // with awserr.Error's Code and Message methods to get detailed information about
  1748  // the error.
  1749  //
  1750  // See the AWS API reference guide for AWS Well-Architected Tool's
  1751  // API operation ListLenses for usage and error information.
  1752  //
  1753  // Returned Error Types:
  1754  //   * ValidationException
  1755  //   The user input is not valid.
  1756  //
  1757  //   * InternalServerException
  1758  //   There is a problem with the AWS Well-Architected Tool API service.
  1759  //
  1760  //   * AccessDeniedException
  1761  //   User does not have sufficient access to perform this action.
  1762  //
  1763  //   * ThrottlingException
  1764  //   Request was denied due to request throttling.
  1765  //
  1766  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListLenses
  1767  func (c *WellArchitected) ListLenses(input *ListLensesInput) (*ListLensesOutput, error) {
  1768  	req, out := c.ListLensesRequest(input)
  1769  	return out, req.Send()
  1770  }
  1771  
  1772  // ListLensesWithContext is the same as ListLenses with the addition of
  1773  // the ability to pass a context and additional request options.
  1774  //
  1775  // See ListLenses for details on how to use this API operation.
  1776  //
  1777  // The context must be non-nil and will be used for request cancellation. If
  1778  // the context is nil a panic will occur. In the future the SDK may create
  1779  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1780  // for more information on using Contexts.
  1781  func (c *WellArchitected) ListLensesWithContext(ctx aws.Context, input *ListLensesInput, opts ...request.Option) (*ListLensesOutput, error) {
  1782  	req, out := c.ListLensesRequest(input)
  1783  	req.SetContext(ctx)
  1784  	req.ApplyOptions(opts...)
  1785  	return out, req.Send()
  1786  }
  1787  
  1788  // ListLensesPages iterates over the pages of a ListLenses operation,
  1789  // calling the "fn" function with the response data for each page. To stop
  1790  // iterating, return false from the fn function.
  1791  //
  1792  // See ListLenses method for more information on how to use this operation.
  1793  //
  1794  // Note: This operation can generate multiple requests to a service.
  1795  //
  1796  //    // Example iterating over at most 3 pages of a ListLenses operation.
  1797  //    pageNum := 0
  1798  //    err := client.ListLensesPages(params,
  1799  //        func(page *wellarchitected.ListLensesOutput, lastPage bool) bool {
  1800  //            pageNum++
  1801  //            fmt.Println(page)
  1802  //            return pageNum <= 3
  1803  //        })
  1804  //
  1805  func (c *WellArchitected) ListLensesPages(input *ListLensesInput, fn func(*ListLensesOutput, bool) bool) error {
  1806  	return c.ListLensesPagesWithContext(aws.BackgroundContext(), input, fn)
  1807  }
  1808  
  1809  // ListLensesPagesWithContext same as ListLensesPages except
  1810  // it takes a Context and allows setting request options on the pages.
  1811  //
  1812  // The context must be non-nil and will be used for request cancellation. If
  1813  // the context is nil a panic will occur. In the future the SDK may create
  1814  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1815  // for more information on using Contexts.
  1816  func (c *WellArchitected) ListLensesPagesWithContext(ctx aws.Context, input *ListLensesInput, fn func(*ListLensesOutput, bool) bool, opts ...request.Option) error {
  1817  	p := request.Pagination{
  1818  		NewRequest: func() (*request.Request, error) {
  1819  			var inCpy *ListLensesInput
  1820  			if input != nil {
  1821  				tmp := *input
  1822  				inCpy = &tmp
  1823  			}
  1824  			req, _ := c.ListLensesRequest(inCpy)
  1825  			req.SetContext(ctx)
  1826  			req.ApplyOptions(opts...)
  1827  			return req, nil
  1828  		},
  1829  	}
  1830  
  1831  	for p.Next() {
  1832  		if !fn(p.Page().(*ListLensesOutput), !p.HasNextPage()) {
  1833  			break
  1834  		}
  1835  	}
  1836  
  1837  	return p.Err()
  1838  }
  1839  
  1840  const opListMilestones = "ListMilestones"
  1841  
  1842  // ListMilestonesRequest generates a "aws/request.Request" representing the
  1843  // client's request for the ListMilestones operation. The "output" return
  1844  // value will be populated with the request's response once the request completes
  1845  // successfully.
  1846  //
  1847  // Use "Send" method on the returned Request to send the API call to the service.
  1848  // the "output" return value is not valid until after Send returns without error.
  1849  //
  1850  // See ListMilestones for more information on using the ListMilestones
  1851  // API call, and error handling.
  1852  //
  1853  // This method is useful when you want to inject custom logic or configuration
  1854  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1855  //
  1856  //
  1857  //    // Example sending a request using the ListMilestonesRequest method.
  1858  //    req, resp := client.ListMilestonesRequest(params)
  1859  //
  1860  //    err := req.Send()
  1861  //    if err == nil { // resp is now filled
  1862  //        fmt.Println(resp)
  1863  //    }
  1864  //
  1865  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListMilestones
  1866  func (c *WellArchitected) ListMilestonesRequest(input *ListMilestonesInput) (req *request.Request, output *ListMilestonesOutput) {
  1867  	op := &request.Operation{
  1868  		Name:       opListMilestones,
  1869  		HTTPMethod: "POST",
  1870  		HTTPPath:   "/workloads/{WorkloadId}/milestonesSummaries",
  1871  		Paginator: &request.Paginator{
  1872  			InputTokens:     []string{"NextToken"},
  1873  			OutputTokens:    []string{"NextToken"},
  1874  			LimitToken:      "MaxResults",
  1875  			TruncationToken: "",
  1876  		},
  1877  	}
  1878  
  1879  	if input == nil {
  1880  		input = &ListMilestonesInput{}
  1881  	}
  1882  
  1883  	output = &ListMilestonesOutput{}
  1884  	req = c.newRequest(op, input, output)
  1885  	return
  1886  }
  1887  
  1888  // ListMilestones API operation for AWS Well-Architected Tool.
  1889  //
  1890  // List all milestones for an existing workload.
  1891  //
  1892  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1893  // with awserr.Error's Code and Message methods to get detailed information about
  1894  // the error.
  1895  //
  1896  // See the AWS API reference guide for AWS Well-Architected Tool's
  1897  // API operation ListMilestones for usage and error information.
  1898  //
  1899  // Returned Error Types:
  1900  //   * ValidationException
  1901  //   The user input is not valid.
  1902  //
  1903  //   * InternalServerException
  1904  //   There is a problem with the AWS Well-Architected Tool API service.
  1905  //
  1906  //   * ResourceNotFoundException
  1907  //   The requested resource was not found.
  1908  //
  1909  //   * AccessDeniedException
  1910  //   User does not have sufficient access to perform this action.
  1911  //
  1912  //   * ThrottlingException
  1913  //   Request was denied due to request throttling.
  1914  //
  1915  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListMilestones
  1916  func (c *WellArchitected) ListMilestones(input *ListMilestonesInput) (*ListMilestonesOutput, error) {
  1917  	req, out := c.ListMilestonesRequest(input)
  1918  	return out, req.Send()
  1919  }
  1920  
  1921  // ListMilestonesWithContext is the same as ListMilestones with the addition of
  1922  // the ability to pass a context and additional request options.
  1923  //
  1924  // See ListMilestones for details on how to use this API operation.
  1925  //
  1926  // The context must be non-nil and will be used for request cancellation. If
  1927  // the context is nil a panic will occur. In the future the SDK may create
  1928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1929  // for more information on using Contexts.
  1930  func (c *WellArchitected) ListMilestonesWithContext(ctx aws.Context, input *ListMilestonesInput, opts ...request.Option) (*ListMilestonesOutput, error) {
  1931  	req, out := c.ListMilestonesRequest(input)
  1932  	req.SetContext(ctx)
  1933  	req.ApplyOptions(opts...)
  1934  	return out, req.Send()
  1935  }
  1936  
  1937  // ListMilestonesPages iterates over the pages of a ListMilestones operation,
  1938  // calling the "fn" function with the response data for each page. To stop
  1939  // iterating, return false from the fn function.
  1940  //
  1941  // See ListMilestones method for more information on how to use this operation.
  1942  //
  1943  // Note: This operation can generate multiple requests to a service.
  1944  //
  1945  //    // Example iterating over at most 3 pages of a ListMilestones operation.
  1946  //    pageNum := 0
  1947  //    err := client.ListMilestonesPages(params,
  1948  //        func(page *wellarchitected.ListMilestonesOutput, lastPage bool) bool {
  1949  //            pageNum++
  1950  //            fmt.Println(page)
  1951  //            return pageNum <= 3
  1952  //        })
  1953  //
  1954  func (c *WellArchitected) ListMilestonesPages(input *ListMilestonesInput, fn func(*ListMilestonesOutput, bool) bool) error {
  1955  	return c.ListMilestonesPagesWithContext(aws.BackgroundContext(), input, fn)
  1956  }
  1957  
  1958  // ListMilestonesPagesWithContext same as ListMilestonesPages except
  1959  // it takes a Context and allows setting request options on the pages.
  1960  //
  1961  // The context must be non-nil and will be used for request cancellation. If
  1962  // the context is nil a panic will occur. In the future the SDK may create
  1963  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1964  // for more information on using Contexts.
  1965  func (c *WellArchitected) ListMilestonesPagesWithContext(ctx aws.Context, input *ListMilestonesInput, fn func(*ListMilestonesOutput, bool) bool, opts ...request.Option) error {
  1966  	p := request.Pagination{
  1967  		NewRequest: func() (*request.Request, error) {
  1968  			var inCpy *ListMilestonesInput
  1969  			if input != nil {
  1970  				tmp := *input
  1971  				inCpy = &tmp
  1972  			}
  1973  			req, _ := c.ListMilestonesRequest(inCpy)
  1974  			req.SetContext(ctx)
  1975  			req.ApplyOptions(opts...)
  1976  			return req, nil
  1977  		},
  1978  	}
  1979  
  1980  	for p.Next() {
  1981  		if !fn(p.Page().(*ListMilestonesOutput), !p.HasNextPage()) {
  1982  			break
  1983  		}
  1984  	}
  1985  
  1986  	return p.Err()
  1987  }
  1988  
  1989  const opListNotifications = "ListNotifications"
  1990  
  1991  // ListNotificationsRequest generates a "aws/request.Request" representing the
  1992  // client's request for the ListNotifications operation. The "output" return
  1993  // value will be populated with the request's response once the request completes
  1994  // successfully.
  1995  //
  1996  // Use "Send" method on the returned Request to send the API call to the service.
  1997  // the "output" return value is not valid until after Send returns without error.
  1998  //
  1999  // See ListNotifications for more information on using the ListNotifications
  2000  // API call, and error handling.
  2001  //
  2002  // This method is useful when you want to inject custom logic or configuration
  2003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2004  //
  2005  //
  2006  //    // Example sending a request using the ListNotificationsRequest method.
  2007  //    req, resp := client.ListNotificationsRequest(params)
  2008  //
  2009  //    err := req.Send()
  2010  //    if err == nil { // resp is now filled
  2011  //        fmt.Println(resp)
  2012  //    }
  2013  //
  2014  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListNotifications
  2015  func (c *WellArchitected) ListNotificationsRequest(input *ListNotificationsInput) (req *request.Request, output *ListNotificationsOutput) {
  2016  	op := &request.Operation{
  2017  		Name:       opListNotifications,
  2018  		HTTPMethod: "POST",
  2019  		HTTPPath:   "/notifications",
  2020  		Paginator: &request.Paginator{
  2021  			InputTokens:     []string{"NextToken"},
  2022  			OutputTokens:    []string{"NextToken"},
  2023  			LimitToken:      "MaxResults",
  2024  			TruncationToken: "",
  2025  		},
  2026  	}
  2027  
  2028  	if input == nil {
  2029  		input = &ListNotificationsInput{}
  2030  	}
  2031  
  2032  	output = &ListNotificationsOutput{}
  2033  	req = c.newRequest(op, input, output)
  2034  	return
  2035  }
  2036  
  2037  // ListNotifications API operation for AWS Well-Architected Tool.
  2038  //
  2039  // List lens notifications.
  2040  //
  2041  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2042  // with awserr.Error's Code and Message methods to get detailed information about
  2043  // the error.
  2044  //
  2045  // See the AWS API reference guide for AWS Well-Architected Tool's
  2046  // API operation ListNotifications for usage and error information.
  2047  //
  2048  // Returned Error Types:
  2049  //   * ValidationException
  2050  //   The user input is not valid.
  2051  //
  2052  //   * InternalServerException
  2053  //   There is a problem with the AWS Well-Architected Tool API service.
  2054  //
  2055  //   * AccessDeniedException
  2056  //   User does not have sufficient access to perform this action.
  2057  //
  2058  //   * ThrottlingException
  2059  //   Request was denied due to request throttling.
  2060  //
  2061  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListNotifications
  2062  func (c *WellArchitected) ListNotifications(input *ListNotificationsInput) (*ListNotificationsOutput, error) {
  2063  	req, out := c.ListNotificationsRequest(input)
  2064  	return out, req.Send()
  2065  }
  2066  
  2067  // ListNotificationsWithContext is the same as ListNotifications with the addition of
  2068  // the ability to pass a context and additional request options.
  2069  //
  2070  // See ListNotifications for details on how to use this API operation.
  2071  //
  2072  // The context must be non-nil and will be used for request cancellation. If
  2073  // the context is nil a panic will occur. In the future the SDK may create
  2074  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2075  // for more information on using Contexts.
  2076  func (c *WellArchitected) ListNotificationsWithContext(ctx aws.Context, input *ListNotificationsInput, opts ...request.Option) (*ListNotificationsOutput, error) {
  2077  	req, out := c.ListNotificationsRequest(input)
  2078  	req.SetContext(ctx)
  2079  	req.ApplyOptions(opts...)
  2080  	return out, req.Send()
  2081  }
  2082  
  2083  // ListNotificationsPages iterates over the pages of a ListNotifications operation,
  2084  // calling the "fn" function with the response data for each page. To stop
  2085  // iterating, return false from the fn function.
  2086  //
  2087  // See ListNotifications method for more information on how to use this operation.
  2088  //
  2089  // Note: This operation can generate multiple requests to a service.
  2090  //
  2091  //    // Example iterating over at most 3 pages of a ListNotifications operation.
  2092  //    pageNum := 0
  2093  //    err := client.ListNotificationsPages(params,
  2094  //        func(page *wellarchitected.ListNotificationsOutput, lastPage bool) bool {
  2095  //            pageNum++
  2096  //            fmt.Println(page)
  2097  //            return pageNum <= 3
  2098  //        })
  2099  //
  2100  func (c *WellArchitected) ListNotificationsPages(input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool) error {
  2101  	return c.ListNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2102  }
  2103  
  2104  // ListNotificationsPagesWithContext same as ListNotificationsPages except
  2105  // it takes a Context and allows setting request options on the pages.
  2106  //
  2107  // The context must be non-nil and will be used for request cancellation. If
  2108  // the context is nil a panic will occur. In the future the SDK may create
  2109  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2110  // for more information on using Contexts.
  2111  func (c *WellArchitected) ListNotificationsPagesWithContext(ctx aws.Context, input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool, opts ...request.Option) error {
  2112  	p := request.Pagination{
  2113  		NewRequest: func() (*request.Request, error) {
  2114  			var inCpy *ListNotificationsInput
  2115  			if input != nil {
  2116  				tmp := *input
  2117  				inCpy = &tmp
  2118  			}
  2119  			req, _ := c.ListNotificationsRequest(inCpy)
  2120  			req.SetContext(ctx)
  2121  			req.ApplyOptions(opts...)
  2122  			return req, nil
  2123  		},
  2124  	}
  2125  
  2126  	for p.Next() {
  2127  		if !fn(p.Page().(*ListNotificationsOutput), !p.HasNextPage()) {
  2128  			break
  2129  		}
  2130  	}
  2131  
  2132  	return p.Err()
  2133  }
  2134  
  2135  const opListShareInvitations = "ListShareInvitations"
  2136  
  2137  // ListShareInvitationsRequest generates a "aws/request.Request" representing the
  2138  // client's request for the ListShareInvitations operation. The "output" return
  2139  // value will be populated with the request's response once the request completes
  2140  // successfully.
  2141  //
  2142  // Use "Send" method on the returned Request to send the API call to the service.
  2143  // the "output" return value is not valid until after Send returns without error.
  2144  //
  2145  // See ListShareInvitations for more information on using the ListShareInvitations
  2146  // API call, and error handling.
  2147  //
  2148  // This method is useful when you want to inject custom logic or configuration
  2149  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2150  //
  2151  //
  2152  //    // Example sending a request using the ListShareInvitationsRequest method.
  2153  //    req, resp := client.ListShareInvitationsRequest(params)
  2154  //
  2155  //    err := req.Send()
  2156  //    if err == nil { // resp is now filled
  2157  //        fmt.Println(resp)
  2158  //    }
  2159  //
  2160  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListShareInvitations
  2161  func (c *WellArchitected) ListShareInvitationsRequest(input *ListShareInvitationsInput) (req *request.Request, output *ListShareInvitationsOutput) {
  2162  	op := &request.Operation{
  2163  		Name:       opListShareInvitations,
  2164  		HTTPMethod: "GET",
  2165  		HTTPPath:   "/shareInvitations",
  2166  		Paginator: &request.Paginator{
  2167  			InputTokens:     []string{"NextToken"},
  2168  			OutputTokens:    []string{"NextToken"},
  2169  			LimitToken:      "MaxResults",
  2170  			TruncationToken: "",
  2171  		},
  2172  	}
  2173  
  2174  	if input == nil {
  2175  		input = &ListShareInvitationsInput{}
  2176  	}
  2177  
  2178  	output = &ListShareInvitationsOutput{}
  2179  	req = c.newRequest(op, input, output)
  2180  	return
  2181  }
  2182  
  2183  // ListShareInvitations API operation for AWS Well-Architected Tool.
  2184  //
  2185  // List the workload invitations.
  2186  //
  2187  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2188  // with awserr.Error's Code and Message methods to get detailed information about
  2189  // the error.
  2190  //
  2191  // See the AWS API reference guide for AWS Well-Architected Tool's
  2192  // API operation ListShareInvitations for usage and error information.
  2193  //
  2194  // Returned Error Types:
  2195  //   * ValidationException
  2196  //   The user input is not valid.
  2197  //
  2198  //   * InternalServerException
  2199  //   There is a problem with the AWS Well-Architected Tool API service.
  2200  //
  2201  //   * AccessDeniedException
  2202  //   User does not have sufficient access to perform this action.
  2203  //
  2204  //   * ThrottlingException
  2205  //   Request was denied due to request throttling.
  2206  //
  2207  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListShareInvitations
  2208  func (c *WellArchitected) ListShareInvitations(input *ListShareInvitationsInput) (*ListShareInvitationsOutput, error) {
  2209  	req, out := c.ListShareInvitationsRequest(input)
  2210  	return out, req.Send()
  2211  }
  2212  
  2213  // ListShareInvitationsWithContext is the same as ListShareInvitations with the addition of
  2214  // the ability to pass a context and additional request options.
  2215  //
  2216  // See ListShareInvitations for details on how to use this API operation.
  2217  //
  2218  // The context must be non-nil and will be used for request cancellation. If
  2219  // the context is nil a panic will occur. In the future the SDK may create
  2220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2221  // for more information on using Contexts.
  2222  func (c *WellArchitected) ListShareInvitationsWithContext(ctx aws.Context, input *ListShareInvitationsInput, opts ...request.Option) (*ListShareInvitationsOutput, error) {
  2223  	req, out := c.ListShareInvitationsRequest(input)
  2224  	req.SetContext(ctx)
  2225  	req.ApplyOptions(opts...)
  2226  	return out, req.Send()
  2227  }
  2228  
  2229  // ListShareInvitationsPages iterates over the pages of a ListShareInvitations operation,
  2230  // calling the "fn" function with the response data for each page. To stop
  2231  // iterating, return false from the fn function.
  2232  //
  2233  // See ListShareInvitations method for more information on how to use this operation.
  2234  //
  2235  // Note: This operation can generate multiple requests to a service.
  2236  //
  2237  //    // Example iterating over at most 3 pages of a ListShareInvitations operation.
  2238  //    pageNum := 0
  2239  //    err := client.ListShareInvitationsPages(params,
  2240  //        func(page *wellarchitected.ListShareInvitationsOutput, lastPage bool) bool {
  2241  //            pageNum++
  2242  //            fmt.Println(page)
  2243  //            return pageNum <= 3
  2244  //        })
  2245  //
  2246  func (c *WellArchitected) ListShareInvitationsPages(input *ListShareInvitationsInput, fn func(*ListShareInvitationsOutput, bool) bool) error {
  2247  	return c.ListShareInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2248  }
  2249  
  2250  // ListShareInvitationsPagesWithContext same as ListShareInvitationsPages except
  2251  // it takes a Context and allows setting request options on the pages.
  2252  //
  2253  // The context must be non-nil and will be used for request cancellation. If
  2254  // the context is nil a panic will occur. In the future the SDK may create
  2255  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2256  // for more information on using Contexts.
  2257  func (c *WellArchitected) ListShareInvitationsPagesWithContext(ctx aws.Context, input *ListShareInvitationsInput, fn func(*ListShareInvitationsOutput, bool) bool, opts ...request.Option) error {
  2258  	p := request.Pagination{
  2259  		NewRequest: func() (*request.Request, error) {
  2260  			var inCpy *ListShareInvitationsInput
  2261  			if input != nil {
  2262  				tmp := *input
  2263  				inCpy = &tmp
  2264  			}
  2265  			req, _ := c.ListShareInvitationsRequest(inCpy)
  2266  			req.SetContext(ctx)
  2267  			req.ApplyOptions(opts...)
  2268  			return req, nil
  2269  		},
  2270  	}
  2271  
  2272  	for p.Next() {
  2273  		if !fn(p.Page().(*ListShareInvitationsOutput), !p.HasNextPage()) {
  2274  			break
  2275  		}
  2276  	}
  2277  
  2278  	return p.Err()
  2279  }
  2280  
  2281  const opListTagsForResource = "ListTagsForResource"
  2282  
  2283  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2284  // client's request for the ListTagsForResource operation. The "output" return
  2285  // value will be populated with the request's response once the request completes
  2286  // successfully.
  2287  //
  2288  // Use "Send" method on the returned Request to send the API call to the service.
  2289  // the "output" return value is not valid until after Send returns without error.
  2290  //
  2291  // See ListTagsForResource for more information on using the ListTagsForResource
  2292  // API call, and error handling.
  2293  //
  2294  // This method is useful when you want to inject custom logic or configuration
  2295  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2296  //
  2297  //
  2298  //    // Example sending a request using the ListTagsForResourceRequest method.
  2299  //    req, resp := client.ListTagsForResourceRequest(params)
  2300  //
  2301  //    err := req.Send()
  2302  //    if err == nil { // resp is now filled
  2303  //        fmt.Println(resp)
  2304  //    }
  2305  //
  2306  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListTagsForResource
  2307  func (c *WellArchitected) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2308  	op := &request.Operation{
  2309  		Name:       opListTagsForResource,
  2310  		HTTPMethod: "GET",
  2311  		HTTPPath:   "/tags/{WorkloadArn}",
  2312  	}
  2313  
  2314  	if input == nil {
  2315  		input = &ListTagsForResourceInput{}
  2316  	}
  2317  
  2318  	output = &ListTagsForResourceOutput{}
  2319  	req = c.newRequest(op, input, output)
  2320  	return
  2321  }
  2322  
  2323  // ListTagsForResource API operation for AWS Well-Architected Tool.
  2324  //
  2325  // List the tags for a resource.
  2326  //
  2327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2328  // with awserr.Error's Code and Message methods to get detailed information about
  2329  // the error.
  2330  //
  2331  // See the AWS API reference guide for AWS Well-Architected Tool's
  2332  // API operation ListTagsForResource for usage and error information.
  2333  //
  2334  // Returned Error Types:
  2335  //   * InternalServerException
  2336  //   There is a problem with the AWS Well-Architected Tool API service.
  2337  //
  2338  //   * ResourceNotFoundException
  2339  //   The requested resource was not found.
  2340  //
  2341  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListTagsForResource
  2342  func (c *WellArchitected) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2343  	req, out := c.ListTagsForResourceRequest(input)
  2344  	return out, req.Send()
  2345  }
  2346  
  2347  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2348  // the ability to pass a context and additional request options.
  2349  //
  2350  // See ListTagsForResource for details on how to use this API operation.
  2351  //
  2352  // The context must be non-nil and will be used for request cancellation. If
  2353  // the context is nil a panic will occur. In the future the SDK may create
  2354  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2355  // for more information on using Contexts.
  2356  func (c *WellArchitected) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2357  	req, out := c.ListTagsForResourceRequest(input)
  2358  	req.SetContext(ctx)
  2359  	req.ApplyOptions(opts...)
  2360  	return out, req.Send()
  2361  }
  2362  
  2363  const opListWorkloadShares = "ListWorkloadShares"
  2364  
  2365  // ListWorkloadSharesRequest generates a "aws/request.Request" representing the
  2366  // client's request for the ListWorkloadShares operation. The "output" return
  2367  // value will be populated with the request's response once the request completes
  2368  // successfully.
  2369  //
  2370  // Use "Send" method on the returned Request to send the API call to the service.
  2371  // the "output" return value is not valid until after Send returns without error.
  2372  //
  2373  // See ListWorkloadShares for more information on using the ListWorkloadShares
  2374  // API call, and error handling.
  2375  //
  2376  // This method is useful when you want to inject custom logic or configuration
  2377  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2378  //
  2379  //
  2380  //    // Example sending a request using the ListWorkloadSharesRequest method.
  2381  //    req, resp := client.ListWorkloadSharesRequest(params)
  2382  //
  2383  //    err := req.Send()
  2384  //    if err == nil { // resp is now filled
  2385  //        fmt.Println(resp)
  2386  //    }
  2387  //
  2388  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloadShares
  2389  func (c *WellArchitected) ListWorkloadSharesRequest(input *ListWorkloadSharesInput) (req *request.Request, output *ListWorkloadSharesOutput) {
  2390  	op := &request.Operation{
  2391  		Name:       opListWorkloadShares,
  2392  		HTTPMethod: "GET",
  2393  		HTTPPath:   "/workloads/{WorkloadId}/shares",
  2394  		Paginator: &request.Paginator{
  2395  			InputTokens:     []string{"NextToken"},
  2396  			OutputTokens:    []string{"NextToken"},
  2397  			LimitToken:      "MaxResults",
  2398  			TruncationToken: "",
  2399  		},
  2400  	}
  2401  
  2402  	if input == nil {
  2403  		input = &ListWorkloadSharesInput{}
  2404  	}
  2405  
  2406  	output = &ListWorkloadSharesOutput{}
  2407  	req = c.newRequest(op, input, output)
  2408  	return
  2409  }
  2410  
  2411  // ListWorkloadShares API operation for AWS Well-Architected Tool.
  2412  //
  2413  // List the workload shares associated with the workload.
  2414  //
  2415  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2416  // with awserr.Error's Code and Message methods to get detailed information about
  2417  // the error.
  2418  //
  2419  // See the AWS API reference guide for AWS Well-Architected Tool's
  2420  // API operation ListWorkloadShares for usage and error information.
  2421  //
  2422  // Returned Error Types:
  2423  //   * ValidationException
  2424  //   The user input is not valid.
  2425  //
  2426  //   * InternalServerException
  2427  //   There is a problem with the AWS Well-Architected Tool API service.
  2428  //
  2429  //   * ResourceNotFoundException
  2430  //   The requested resource was not found.
  2431  //
  2432  //   * AccessDeniedException
  2433  //   User does not have sufficient access to perform this action.
  2434  //
  2435  //   * ThrottlingException
  2436  //   Request was denied due to request throttling.
  2437  //
  2438  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloadShares
  2439  func (c *WellArchitected) ListWorkloadShares(input *ListWorkloadSharesInput) (*ListWorkloadSharesOutput, error) {
  2440  	req, out := c.ListWorkloadSharesRequest(input)
  2441  	return out, req.Send()
  2442  }
  2443  
  2444  // ListWorkloadSharesWithContext is the same as ListWorkloadShares with the addition of
  2445  // the ability to pass a context and additional request options.
  2446  //
  2447  // See ListWorkloadShares for details on how to use this API operation.
  2448  //
  2449  // The context must be non-nil and will be used for request cancellation. If
  2450  // the context is nil a panic will occur. In the future the SDK may create
  2451  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2452  // for more information on using Contexts.
  2453  func (c *WellArchitected) ListWorkloadSharesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, opts ...request.Option) (*ListWorkloadSharesOutput, error) {
  2454  	req, out := c.ListWorkloadSharesRequest(input)
  2455  	req.SetContext(ctx)
  2456  	req.ApplyOptions(opts...)
  2457  	return out, req.Send()
  2458  }
  2459  
  2460  // ListWorkloadSharesPages iterates over the pages of a ListWorkloadShares operation,
  2461  // calling the "fn" function with the response data for each page. To stop
  2462  // iterating, return false from the fn function.
  2463  //
  2464  // See ListWorkloadShares method for more information on how to use this operation.
  2465  //
  2466  // Note: This operation can generate multiple requests to a service.
  2467  //
  2468  //    // Example iterating over at most 3 pages of a ListWorkloadShares operation.
  2469  //    pageNum := 0
  2470  //    err := client.ListWorkloadSharesPages(params,
  2471  //        func(page *wellarchitected.ListWorkloadSharesOutput, lastPage bool) bool {
  2472  //            pageNum++
  2473  //            fmt.Println(page)
  2474  //            return pageNum <= 3
  2475  //        })
  2476  //
  2477  func (c *WellArchitected) ListWorkloadSharesPages(input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool) error {
  2478  	return c.ListWorkloadSharesPagesWithContext(aws.BackgroundContext(), input, fn)
  2479  }
  2480  
  2481  // ListWorkloadSharesPagesWithContext same as ListWorkloadSharesPages except
  2482  // it takes a Context and allows setting request options on the pages.
  2483  //
  2484  // The context must be non-nil and will be used for request cancellation. If
  2485  // the context is nil a panic will occur. In the future the SDK may create
  2486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2487  // for more information on using Contexts.
  2488  func (c *WellArchitected) ListWorkloadSharesPagesWithContext(ctx aws.Context, input *ListWorkloadSharesInput, fn func(*ListWorkloadSharesOutput, bool) bool, opts ...request.Option) error {
  2489  	p := request.Pagination{
  2490  		NewRequest: func() (*request.Request, error) {
  2491  			var inCpy *ListWorkloadSharesInput
  2492  			if input != nil {
  2493  				tmp := *input
  2494  				inCpy = &tmp
  2495  			}
  2496  			req, _ := c.ListWorkloadSharesRequest(inCpy)
  2497  			req.SetContext(ctx)
  2498  			req.ApplyOptions(opts...)
  2499  			return req, nil
  2500  		},
  2501  	}
  2502  
  2503  	for p.Next() {
  2504  		if !fn(p.Page().(*ListWorkloadSharesOutput), !p.HasNextPage()) {
  2505  			break
  2506  		}
  2507  	}
  2508  
  2509  	return p.Err()
  2510  }
  2511  
  2512  const opListWorkloads = "ListWorkloads"
  2513  
  2514  // ListWorkloadsRequest generates a "aws/request.Request" representing the
  2515  // client's request for the ListWorkloads operation. The "output" return
  2516  // value will be populated with the request's response once the request completes
  2517  // successfully.
  2518  //
  2519  // Use "Send" method on the returned Request to send the API call to the service.
  2520  // the "output" return value is not valid until after Send returns without error.
  2521  //
  2522  // See ListWorkloads for more information on using the ListWorkloads
  2523  // API call, and error handling.
  2524  //
  2525  // This method is useful when you want to inject custom logic or configuration
  2526  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2527  //
  2528  //
  2529  //    // Example sending a request using the ListWorkloadsRequest method.
  2530  //    req, resp := client.ListWorkloadsRequest(params)
  2531  //
  2532  //    err := req.Send()
  2533  //    if err == nil { // resp is now filled
  2534  //        fmt.Println(resp)
  2535  //    }
  2536  //
  2537  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
  2538  func (c *WellArchitected) ListWorkloadsRequest(input *ListWorkloadsInput) (req *request.Request, output *ListWorkloadsOutput) {
  2539  	op := &request.Operation{
  2540  		Name:       opListWorkloads,
  2541  		HTTPMethod: "POST",
  2542  		HTTPPath:   "/workloadsSummaries",
  2543  		Paginator: &request.Paginator{
  2544  			InputTokens:     []string{"NextToken"},
  2545  			OutputTokens:    []string{"NextToken"},
  2546  			LimitToken:      "MaxResults",
  2547  			TruncationToken: "",
  2548  		},
  2549  	}
  2550  
  2551  	if input == nil {
  2552  		input = &ListWorkloadsInput{}
  2553  	}
  2554  
  2555  	output = &ListWorkloadsOutput{}
  2556  	req = c.newRequest(op, input, output)
  2557  	return
  2558  }
  2559  
  2560  // ListWorkloads API operation for AWS Well-Architected Tool.
  2561  //
  2562  // List workloads. Paginated.
  2563  //
  2564  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2565  // with awserr.Error's Code and Message methods to get detailed information about
  2566  // the error.
  2567  //
  2568  // See the AWS API reference guide for AWS Well-Architected Tool's
  2569  // API operation ListWorkloads for usage and error information.
  2570  //
  2571  // Returned Error Types:
  2572  //   * ValidationException
  2573  //   The user input is not valid.
  2574  //
  2575  //   * InternalServerException
  2576  //   There is a problem with the AWS Well-Architected Tool API service.
  2577  //
  2578  //   * AccessDeniedException
  2579  //   User does not have sufficient access to perform this action.
  2580  //
  2581  //   * ThrottlingException
  2582  //   Request was denied due to request throttling.
  2583  //
  2584  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ListWorkloads
  2585  func (c *WellArchitected) ListWorkloads(input *ListWorkloadsInput) (*ListWorkloadsOutput, error) {
  2586  	req, out := c.ListWorkloadsRequest(input)
  2587  	return out, req.Send()
  2588  }
  2589  
  2590  // ListWorkloadsWithContext is the same as ListWorkloads with the addition of
  2591  // the ability to pass a context and additional request options.
  2592  //
  2593  // See ListWorkloads for details on how to use this API operation.
  2594  //
  2595  // The context must be non-nil and will be used for request cancellation. If
  2596  // the context is nil a panic will occur. In the future the SDK may create
  2597  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2598  // for more information on using Contexts.
  2599  func (c *WellArchitected) ListWorkloadsWithContext(ctx aws.Context, input *ListWorkloadsInput, opts ...request.Option) (*ListWorkloadsOutput, error) {
  2600  	req, out := c.ListWorkloadsRequest(input)
  2601  	req.SetContext(ctx)
  2602  	req.ApplyOptions(opts...)
  2603  	return out, req.Send()
  2604  }
  2605  
  2606  // ListWorkloadsPages iterates over the pages of a ListWorkloads operation,
  2607  // calling the "fn" function with the response data for each page. To stop
  2608  // iterating, return false from the fn function.
  2609  //
  2610  // See ListWorkloads method for more information on how to use this operation.
  2611  //
  2612  // Note: This operation can generate multiple requests to a service.
  2613  //
  2614  //    // Example iterating over at most 3 pages of a ListWorkloads operation.
  2615  //    pageNum := 0
  2616  //    err := client.ListWorkloadsPages(params,
  2617  //        func(page *wellarchitected.ListWorkloadsOutput, lastPage bool) bool {
  2618  //            pageNum++
  2619  //            fmt.Println(page)
  2620  //            return pageNum <= 3
  2621  //        })
  2622  //
  2623  func (c *WellArchitected) ListWorkloadsPages(input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool) error {
  2624  	return c.ListWorkloadsPagesWithContext(aws.BackgroundContext(), input, fn)
  2625  }
  2626  
  2627  // ListWorkloadsPagesWithContext same as ListWorkloadsPages except
  2628  // it takes a Context and allows setting request options on the pages.
  2629  //
  2630  // The context must be non-nil and will be used for request cancellation. If
  2631  // the context is nil a panic will occur. In the future the SDK may create
  2632  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2633  // for more information on using Contexts.
  2634  func (c *WellArchitected) ListWorkloadsPagesWithContext(ctx aws.Context, input *ListWorkloadsInput, fn func(*ListWorkloadsOutput, bool) bool, opts ...request.Option) error {
  2635  	p := request.Pagination{
  2636  		NewRequest: func() (*request.Request, error) {
  2637  			var inCpy *ListWorkloadsInput
  2638  			if input != nil {
  2639  				tmp := *input
  2640  				inCpy = &tmp
  2641  			}
  2642  			req, _ := c.ListWorkloadsRequest(inCpy)
  2643  			req.SetContext(ctx)
  2644  			req.ApplyOptions(opts...)
  2645  			return req, nil
  2646  		},
  2647  	}
  2648  
  2649  	for p.Next() {
  2650  		if !fn(p.Page().(*ListWorkloadsOutput), !p.HasNextPage()) {
  2651  			break
  2652  		}
  2653  	}
  2654  
  2655  	return p.Err()
  2656  }
  2657  
  2658  const opTagResource = "TagResource"
  2659  
  2660  // TagResourceRequest generates a "aws/request.Request" representing the
  2661  // client's request for the TagResource operation. The "output" return
  2662  // value will be populated with the request's response once the request completes
  2663  // successfully.
  2664  //
  2665  // Use "Send" method on the returned Request to send the API call to the service.
  2666  // the "output" return value is not valid until after Send returns without error.
  2667  //
  2668  // See TagResource for more information on using the TagResource
  2669  // API call, and error handling.
  2670  //
  2671  // This method is useful when you want to inject custom logic or configuration
  2672  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2673  //
  2674  //
  2675  //    // Example sending a request using the TagResourceRequest method.
  2676  //    req, resp := client.TagResourceRequest(params)
  2677  //
  2678  //    err := req.Send()
  2679  //    if err == nil { // resp is now filled
  2680  //        fmt.Println(resp)
  2681  //    }
  2682  //
  2683  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/TagResource
  2684  func (c *WellArchitected) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2685  	op := &request.Operation{
  2686  		Name:       opTagResource,
  2687  		HTTPMethod: "POST",
  2688  		HTTPPath:   "/tags/{WorkloadArn}",
  2689  	}
  2690  
  2691  	if input == nil {
  2692  		input = &TagResourceInput{}
  2693  	}
  2694  
  2695  	output = &TagResourceOutput{}
  2696  	req = c.newRequest(op, input, output)
  2697  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2698  	return
  2699  }
  2700  
  2701  // TagResource API operation for AWS Well-Architected Tool.
  2702  //
  2703  // Adds one or more tags to the specified resource.
  2704  //
  2705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2706  // with awserr.Error's Code and Message methods to get detailed information about
  2707  // the error.
  2708  //
  2709  // See the AWS API reference guide for AWS Well-Architected Tool's
  2710  // API operation TagResource for usage and error information.
  2711  //
  2712  // Returned Error Types:
  2713  //   * InternalServerException
  2714  //   There is a problem with the AWS Well-Architected Tool API service.
  2715  //
  2716  //   * ResourceNotFoundException
  2717  //   The requested resource was not found.
  2718  //
  2719  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/TagResource
  2720  func (c *WellArchitected) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2721  	req, out := c.TagResourceRequest(input)
  2722  	return out, req.Send()
  2723  }
  2724  
  2725  // TagResourceWithContext is the same as TagResource with the addition of
  2726  // the ability to pass a context and additional request options.
  2727  //
  2728  // See TagResource for details on how to use this API operation.
  2729  //
  2730  // The context must be non-nil and will be used for request cancellation. If
  2731  // the context is nil a panic will occur. In the future the SDK may create
  2732  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2733  // for more information on using Contexts.
  2734  func (c *WellArchitected) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2735  	req, out := c.TagResourceRequest(input)
  2736  	req.SetContext(ctx)
  2737  	req.ApplyOptions(opts...)
  2738  	return out, req.Send()
  2739  }
  2740  
  2741  const opUntagResource = "UntagResource"
  2742  
  2743  // UntagResourceRequest generates a "aws/request.Request" representing the
  2744  // client's request for the UntagResource operation. The "output" return
  2745  // value will be populated with the request's response once the request completes
  2746  // successfully.
  2747  //
  2748  // Use "Send" method on the returned Request to send the API call to the service.
  2749  // the "output" return value is not valid until after Send returns without error.
  2750  //
  2751  // See UntagResource for more information on using the UntagResource
  2752  // API call, and error handling.
  2753  //
  2754  // This method is useful when you want to inject custom logic or configuration
  2755  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2756  //
  2757  //
  2758  //    // Example sending a request using the UntagResourceRequest method.
  2759  //    req, resp := client.UntagResourceRequest(params)
  2760  //
  2761  //    err := req.Send()
  2762  //    if err == nil { // resp is now filled
  2763  //        fmt.Println(resp)
  2764  //    }
  2765  //
  2766  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UntagResource
  2767  func (c *WellArchitected) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2768  	op := &request.Operation{
  2769  		Name:       opUntagResource,
  2770  		HTTPMethod: "DELETE",
  2771  		HTTPPath:   "/tags/{WorkloadArn}",
  2772  	}
  2773  
  2774  	if input == nil {
  2775  		input = &UntagResourceInput{}
  2776  	}
  2777  
  2778  	output = &UntagResourceOutput{}
  2779  	req = c.newRequest(op, input, output)
  2780  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2781  	return
  2782  }
  2783  
  2784  // UntagResource API operation for AWS Well-Architected Tool.
  2785  //
  2786  // Deletes specified tags from a resource.
  2787  //
  2788  // To specify multiple tags, use separate tagKeys parameters, for example:
  2789  //
  2790  // DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2
  2791  //
  2792  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2793  // with awserr.Error's Code and Message methods to get detailed information about
  2794  // the error.
  2795  //
  2796  // See the AWS API reference guide for AWS Well-Architected Tool's
  2797  // API operation UntagResource for usage and error information.
  2798  //
  2799  // Returned Error Types:
  2800  //   * InternalServerException
  2801  //   There is a problem with the AWS Well-Architected Tool API service.
  2802  //
  2803  //   * ResourceNotFoundException
  2804  //   The requested resource was not found.
  2805  //
  2806  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UntagResource
  2807  func (c *WellArchitected) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2808  	req, out := c.UntagResourceRequest(input)
  2809  	return out, req.Send()
  2810  }
  2811  
  2812  // UntagResourceWithContext is the same as UntagResource with the addition of
  2813  // the ability to pass a context and additional request options.
  2814  //
  2815  // See UntagResource for details on how to use this API operation.
  2816  //
  2817  // The context must be non-nil and will be used for request cancellation. If
  2818  // the context is nil a panic will occur. In the future the SDK may create
  2819  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2820  // for more information on using Contexts.
  2821  func (c *WellArchitected) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2822  	req, out := c.UntagResourceRequest(input)
  2823  	req.SetContext(ctx)
  2824  	req.ApplyOptions(opts...)
  2825  	return out, req.Send()
  2826  }
  2827  
  2828  const opUpdateAnswer = "UpdateAnswer"
  2829  
  2830  // UpdateAnswerRequest generates a "aws/request.Request" representing the
  2831  // client's request for the UpdateAnswer operation. The "output" return
  2832  // value will be populated with the request's response once the request completes
  2833  // successfully.
  2834  //
  2835  // Use "Send" method on the returned Request to send the API call to the service.
  2836  // the "output" return value is not valid until after Send returns without error.
  2837  //
  2838  // See UpdateAnswer for more information on using the UpdateAnswer
  2839  // API call, and error handling.
  2840  //
  2841  // This method is useful when you want to inject custom logic or configuration
  2842  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2843  //
  2844  //
  2845  //    // Example sending a request using the UpdateAnswerRequest method.
  2846  //    req, resp := client.UpdateAnswerRequest(params)
  2847  //
  2848  //    err := req.Send()
  2849  //    if err == nil { // resp is now filled
  2850  //        fmt.Println(resp)
  2851  //    }
  2852  //
  2853  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
  2854  func (c *WellArchitected) UpdateAnswerRequest(input *UpdateAnswerInput) (req *request.Request, output *UpdateAnswerOutput) {
  2855  	op := &request.Operation{
  2856  		Name:       opUpdateAnswer,
  2857  		HTTPMethod: "PATCH",
  2858  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/answers/{QuestionId}",
  2859  	}
  2860  
  2861  	if input == nil {
  2862  		input = &UpdateAnswerInput{}
  2863  	}
  2864  
  2865  	output = &UpdateAnswerOutput{}
  2866  	req = c.newRequest(op, input, output)
  2867  	return
  2868  }
  2869  
  2870  // UpdateAnswer API operation for AWS Well-Architected Tool.
  2871  //
  2872  // Update the answer to a specific question in a workload review.
  2873  //
  2874  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2875  // with awserr.Error's Code and Message methods to get detailed information about
  2876  // the error.
  2877  //
  2878  // See the AWS API reference guide for AWS Well-Architected Tool's
  2879  // API operation UpdateAnswer for usage and error information.
  2880  //
  2881  // Returned Error Types:
  2882  //   * ValidationException
  2883  //   The user input is not valid.
  2884  //
  2885  //   * ResourceNotFoundException
  2886  //   The requested resource was not found.
  2887  //
  2888  //   * ConflictException
  2889  //   The resource already exists.
  2890  //
  2891  //   * InternalServerException
  2892  //   There is a problem with the AWS Well-Architected Tool API service.
  2893  //
  2894  //   * AccessDeniedException
  2895  //   User does not have sufficient access to perform this action.
  2896  //
  2897  //   * ThrottlingException
  2898  //   Request was denied due to request throttling.
  2899  //
  2900  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateAnswer
  2901  func (c *WellArchitected) UpdateAnswer(input *UpdateAnswerInput) (*UpdateAnswerOutput, error) {
  2902  	req, out := c.UpdateAnswerRequest(input)
  2903  	return out, req.Send()
  2904  }
  2905  
  2906  // UpdateAnswerWithContext is the same as UpdateAnswer with the addition of
  2907  // the ability to pass a context and additional request options.
  2908  //
  2909  // See UpdateAnswer for details on how to use this API operation.
  2910  //
  2911  // The context must be non-nil and will be used for request cancellation. If
  2912  // the context is nil a panic will occur. In the future the SDK may create
  2913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2914  // for more information on using Contexts.
  2915  func (c *WellArchitected) UpdateAnswerWithContext(ctx aws.Context, input *UpdateAnswerInput, opts ...request.Option) (*UpdateAnswerOutput, error) {
  2916  	req, out := c.UpdateAnswerRequest(input)
  2917  	req.SetContext(ctx)
  2918  	req.ApplyOptions(opts...)
  2919  	return out, req.Send()
  2920  }
  2921  
  2922  const opUpdateLensReview = "UpdateLensReview"
  2923  
  2924  // UpdateLensReviewRequest generates a "aws/request.Request" representing the
  2925  // client's request for the UpdateLensReview operation. The "output" return
  2926  // value will be populated with the request's response once the request completes
  2927  // successfully.
  2928  //
  2929  // Use "Send" method on the returned Request to send the API call to the service.
  2930  // the "output" return value is not valid until after Send returns without error.
  2931  //
  2932  // See UpdateLensReview for more information on using the UpdateLensReview
  2933  // API call, and error handling.
  2934  //
  2935  // This method is useful when you want to inject custom logic or configuration
  2936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2937  //
  2938  //
  2939  //    // Example sending a request using the UpdateLensReviewRequest method.
  2940  //    req, resp := client.UpdateLensReviewRequest(params)
  2941  //
  2942  //    err := req.Send()
  2943  //    if err == nil { // resp is now filled
  2944  //        fmt.Println(resp)
  2945  //    }
  2946  //
  2947  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
  2948  func (c *WellArchitected) UpdateLensReviewRequest(input *UpdateLensReviewInput) (req *request.Request, output *UpdateLensReviewOutput) {
  2949  	op := &request.Operation{
  2950  		Name:       opUpdateLensReview,
  2951  		HTTPMethod: "PATCH",
  2952  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}",
  2953  	}
  2954  
  2955  	if input == nil {
  2956  		input = &UpdateLensReviewInput{}
  2957  	}
  2958  
  2959  	output = &UpdateLensReviewOutput{}
  2960  	req = c.newRequest(op, input, output)
  2961  	return
  2962  }
  2963  
  2964  // UpdateLensReview API operation for AWS Well-Architected Tool.
  2965  //
  2966  // Update lens review.
  2967  //
  2968  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2969  // with awserr.Error's Code and Message methods to get detailed information about
  2970  // the error.
  2971  //
  2972  // See the AWS API reference guide for AWS Well-Architected Tool's
  2973  // API operation UpdateLensReview for usage and error information.
  2974  //
  2975  // Returned Error Types:
  2976  //   * ValidationException
  2977  //   The user input is not valid.
  2978  //
  2979  //   * ResourceNotFoundException
  2980  //   The requested resource was not found.
  2981  //
  2982  //   * ConflictException
  2983  //   The resource already exists.
  2984  //
  2985  //   * InternalServerException
  2986  //   There is a problem with the AWS Well-Architected Tool API service.
  2987  //
  2988  //   * AccessDeniedException
  2989  //   User does not have sufficient access to perform this action.
  2990  //
  2991  //   * ThrottlingException
  2992  //   Request was denied due to request throttling.
  2993  //
  2994  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateLensReview
  2995  func (c *WellArchitected) UpdateLensReview(input *UpdateLensReviewInput) (*UpdateLensReviewOutput, error) {
  2996  	req, out := c.UpdateLensReviewRequest(input)
  2997  	return out, req.Send()
  2998  }
  2999  
  3000  // UpdateLensReviewWithContext is the same as UpdateLensReview with the addition of
  3001  // the ability to pass a context and additional request options.
  3002  //
  3003  // See UpdateLensReview for details on how to use this API operation.
  3004  //
  3005  // The context must be non-nil and will be used for request cancellation. If
  3006  // the context is nil a panic will occur. In the future the SDK may create
  3007  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3008  // for more information on using Contexts.
  3009  func (c *WellArchitected) UpdateLensReviewWithContext(ctx aws.Context, input *UpdateLensReviewInput, opts ...request.Option) (*UpdateLensReviewOutput, error) {
  3010  	req, out := c.UpdateLensReviewRequest(input)
  3011  	req.SetContext(ctx)
  3012  	req.ApplyOptions(opts...)
  3013  	return out, req.Send()
  3014  }
  3015  
  3016  const opUpdateShareInvitation = "UpdateShareInvitation"
  3017  
  3018  // UpdateShareInvitationRequest generates a "aws/request.Request" representing the
  3019  // client's request for the UpdateShareInvitation operation. The "output" return
  3020  // value will be populated with the request's response once the request completes
  3021  // successfully.
  3022  //
  3023  // Use "Send" method on the returned Request to send the API call to the service.
  3024  // the "output" return value is not valid until after Send returns without error.
  3025  //
  3026  // See UpdateShareInvitation for more information on using the UpdateShareInvitation
  3027  // API call, and error handling.
  3028  //
  3029  // This method is useful when you want to inject custom logic or configuration
  3030  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3031  //
  3032  //
  3033  //    // Example sending a request using the UpdateShareInvitationRequest method.
  3034  //    req, resp := client.UpdateShareInvitationRequest(params)
  3035  //
  3036  //    err := req.Send()
  3037  //    if err == nil { // resp is now filled
  3038  //        fmt.Println(resp)
  3039  //    }
  3040  //
  3041  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
  3042  func (c *WellArchitected) UpdateShareInvitationRequest(input *UpdateShareInvitationInput) (req *request.Request, output *UpdateShareInvitationOutput) {
  3043  	op := &request.Operation{
  3044  		Name:       opUpdateShareInvitation,
  3045  		HTTPMethod: "PATCH",
  3046  		HTTPPath:   "/shareInvitations/{ShareInvitationId}",
  3047  	}
  3048  
  3049  	if input == nil {
  3050  		input = &UpdateShareInvitationInput{}
  3051  	}
  3052  
  3053  	output = &UpdateShareInvitationOutput{}
  3054  	req = c.newRequest(op, input, output)
  3055  	return
  3056  }
  3057  
  3058  // UpdateShareInvitation API operation for AWS Well-Architected Tool.
  3059  //
  3060  // Update a workload invitation.
  3061  //
  3062  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3063  // with awserr.Error's Code and Message methods to get detailed information about
  3064  // the error.
  3065  //
  3066  // See the AWS API reference guide for AWS Well-Architected Tool's
  3067  // API operation UpdateShareInvitation for usage and error information.
  3068  //
  3069  // Returned Error Types:
  3070  //   * ValidationException
  3071  //   The user input is not valid.
  3072  //
  3073  //   * InternalServerException
  3074  //   There is a problem with the AWS Well-Architected Tool API service.
  3075  //
  3076  //   * ResourceNotFoundException
  3077  //   The requested resource was not found.
  3078  //
  3079  //   * ConflictException
  3080  //   The resource already exists.
  3081  //
  3082  //   * AccessDeniedException
  3083  //   User does not have sufficient access to perform this action.
  3084  //
  3085  //   * ThrottlingException
  3086  //   Request was denied due to request throttling.
  3087  //
  3088  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateShareInvitation
  3089  func (c *WellArchitected) UpdateShareInvitation(input *UpdateShareInvitationInput) (*UpdateShareInvitationOutput, error) {
  3090  	req, out := c.UpdateShareInvitationRequest(input)
  3091  	return out, req.Send()
  3092  }
  3093  
  3094  // UpdateShareInvitationWithContext is the same as UpdateShareInvitation with the addition of
  3095  // the ability to pass a context and additional request options.
  3096  //
  3097  // See UpdateShareInvitation for details on how to use this API operation.
  3098  //
  3099  // The context must be non-nil and will be used for request cancellation. If
  3100  // the context is nil a panic will occur. In the future the SDK may create
  3101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3102  // for more information on using Contexts.
  3103  func (c *WellArchitected) UpdateShareInvitationWithContext(ctx aws.Context, input *UpdateShareInvitationInput, opts ...request.Option) (*UpdateShareInvitationOutput, error) {
  3104  	req, out := c.UpdateShareInvitationRequest(input)
  3105  	req.SetContext(ctx)
  3106  	req.ApplyOptions(opts...)
  3107  	return out, req.Send()
  3108  }
  3109  
  3110  const opUpdateWorkload = "UpdateWorkload"
  3111  
  3112  // UpdateWorkloadRequest generates a "aws/request.Request" representing the
  3113  // client's request for the UpdateWorkload operation. The "output" return
  3114  // value will be populated with the request's response once the request completes
  3115  // successfully.
  3116  //
  3117  // Use "Send" method on the returned Request to send the API call to the service.
  3118  // the "output" return value is not valid until after Send returns without error.
  3119  //
  3120  // See UpdateWorkload for more information on using the UpdateWorkload
  3121  // API call, and error handling.
  3122  //
  3123  // This method is useful when you want to inject custom logic or configuration
  3124  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3125  //
  3126  //
  3127  //    // Example sending a request using the UpdateWorkloadRequest method.
  3128  //    req, resp := client.UpdateWorkloadRequest(params)
  3129  //
  3130  //    err := req.Send()
  3131  //    if err == nil { // resp is now filled
  3132  //        fmt.Println(resp)
  3133  //    }
  3134  //
  3135  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
  3136  func (c *WellArchitected) UpdateWorkloadRequest(input *UpdateWorkloadInput) (req *request.Request, output *UpdateWorkloadOutput) {
  3137  	op := &request.Operation{
  3138  		Name:       opUpdateWorkload,
  3139  		HTTPMethod: "PATCH",
  3140  		HTTPPath:   "/workloads/{WorkloadId}",
  3141  	}
  3142  
  3143  	if input == nil {
  3144  		input = &UpdateWorkloadInput{}
  3145  	}
  3146  
  3147  	output = &UpdateWorkloadOutput{}
  3148  	req = c.newRequest(op, input, output)
  3149  	return
  3150  }
  3151  
  3152  // UpdateWorkload API operation for AWS Well-Architected Tool.
  3153  //
  3154  // Update an existing workload.
  3155  //
  3156  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3157  // with awserr.Error's Code and Message methods to get detailed information about
  3158  // the error.
  3159  //
  3160  // See the AWS API reference guide for AWS Well-Architected Tool's
  3161  // API operation UpdateWorkload for usage and error information.
  3162  //
  3163  // Returned Error Types:
  3164  //   * ValidationException
  3165  //   The user input is not valid.
  3166  //
  3167  //   * ResourceNotFoundException
  3168  //   The requested resource was not found.
  3169  //
  3170  //   * ConflictException
  3171  //   The resource already exists.
  3172  //
  3173  //   * InternalServerException
  3174  //   There is a problem with the AWS Well-Architected Tool API service.
  3175  //
  3176  //   * AccessDeniedException
  3177  //   User does not have sufficient access to perform this action.
  3178  //
  3179  //   * ThrottlingException
  3180  //   Request was denied due to request throttling.
  3181  //
  3182  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkload
  3183  func (c *WellArchitected) UpdateWorkload(input *UpdateWorkloadInput) (*UpdateWorkloadOutput, error) {
  3184  	req, out := c.UpdateWorkloadRequest(input)
  3185  	return out, req.Send()
  3186  }
  3187  
  3188  // UpdateWorkloadWithContext is the same as UpdateWorkload with the addition of
  3189  // the ability to pass a context and additional request options.
  3190  //
  3191  // See UpdateWorkload for details on how to use this API operation.
  3192  //
  3193  // The context must be non-nil and will be used for request cancellation. If
  3194  // the context is nil a panic will occur. In the future the SDK may create
  3195  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3196  // for more information on using Contexts.
  3197  func (c *WellArchitected) UpdateWorkloadWithContext(ctx aws.Context, input *UpdateWorkloadInput, opts ...request.Option) (*UpdateWorkloadOutput, error) {
  3198  	req, out := c.UpdateWorkloadRequest(input)
  3199  	req.SetContext(ctx)
  3200  	req.ApplyOptions(opts...)
  3201  	return out, req.Send()
  3202  }
  3203  
  3204  const opUpdateWorkloadShare = "UpdateWorkloadShare"
  3205  
  3206  // UpdateWorkloadShareRequest generates a "aws/request.Request" representing the
  3207  // client's request for the UpdateWorkloadShare operation. The "output" return
  3208  // value will be populated with the request's response once the request completes
  3209  // successfully.
  3210  //
  3211  // Use "Send" method on the returned Request to send the API call to the service.
  3212  // the "output" return value is not valid until after Send returns without error.
  3213  //
  3214  // See UpdateWorkloadShare for more information on using the UpdateWorkloadShare
  3215  // API call, and error handling.
  3216  //
  3217  // This method is useful when you want to inject custom logic or configuration
  3218  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3219  //
  3220  //
  3221  //    // Example sending a request using the UpdateWorkloadShareRequest method.
  3222  //    req, resp := client.UpdateWorkloadShareRequest(params)
  3223  //
  3224  //    err := req.Send()
  3225  //    if err == nil { // resp is now filled
  3226  //        fmt.Println(resp)
  3227  //    }
  3228  //
  3229  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
  3230  func (c *WellArchitected) UpdateWorkloadShareRequest(input *UpdateWorkloadShareInput) (req *request.Request, output *UpdateWorkloadShareOutput) {
  3231  	op := &request.Operation{
  3232  		Name:       opUpdateWorkloadShare,
  3233  		HTTPMethod: "PATCH",
  3234  		HTTPPath:   "/workloads/{WorkloadId}/shares/{ShareId}",
  3235  	}
  3236  
  3237  	if input == nil {
  3238  		input = &UpdateWorkloadShareInput{}
  3239  	}
  3240  
  3241  	output = &UpdateWorkloadShareOutput{}
  3242  	req = c.newRequest(op, input, output)
  3243  	return
  3244  }
  3245  
  3246  // UpdateWorkloadShare API operation for AWS Well-Architected Tool.
  3247  //
  3248  // Update a workload share.
  3249  //
  3250  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3251  // with awserr.Error's Code and Message methods to get detailed information about
  3252  // the error.
  3253  //
  3254  // See the AWS API reference guide for AWS Well-Architected Tool's
  3255  // API operation UpdateWorkloadShare for usage and error information.
  3256  //
  3257  // Returned Error Types:
  3258  //   * ValidationException
  3259  //   The user input is not valid.
  3260  //
  3261  //   * InternalServerException
  3262  //   There is a problem with the AWS Well-Architected Tool API service.
  3263  //
  3264  //   * ResourceNotFoundException
  3265  //   The requested resource was not found.
  3266  //
  3267  //   * ConflictException
  3268  //   The resource already exists.
  3269  //
  3270  //   * AccessDeniedException
  3271  //   User does not have sufficient access to perform this action.
  3272  //
  3273  //   * ThrottlingException
  3274  //   Request was denied due to request throttling.
  3275  //
  3276  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpdateWorkloadShare
  3277  func (c *WellArchitected) UpdateWorkloadShare(input *UpdateWorkloadShareInput) (*UpdateWorkloadShareOutput, error) {
  3278  	req, out := c.UpdateWorkloadShareRequest(input)
  3279  	return out, req.Send()
  3280  }
  3281  
  3282  // UpdateWorkloadShareWithContext is the same as UpdateWorkloadShare with the addition of
  3283  // the ability to pass a context and additional request options.
  3284  //
  3285  // See UpdateWorkloadShare for details on how to use this API operation.
  3286  //
  3287  // The context must be non-nil and will be used for request cancellation. If
  3288  // the context is nil a panic will occur. In the future the SDK may create
  3289  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3290  // for more information on using Contexts.
  3291  func (c *WellArchitected) UpdateWorkloadShareWithContext(ctx aws.Context, input *UpdateWorkloadShareInput, opts ...request.Option) (*UpdateWorkloadShareOutput, error) {
  3292  	req, out := c.UpdateWorkloadShareRequest(input)
  3293  	req.SetContext(ctx)
  3294  	req.ApplyOptions(opts...)
  3295  	return out, req.Send()
  3296  }
  3297  
  3298  const opUpgradeLensReview = "UpgradeLensReview"
  3299  
  3300  // UpgradeLensReviewRequest generates a "aws/request.Request" representing the
  3301  // client's request for the UpgradeLensReview operation. The "output" return
  3302  // value will be populated with the request's response once the request completes
  3303  // successfully.
  3304  //
  3305  // Use "Send" method on the returned Request to send the API call to the service.
  3306  // the "output" return value is not valid until after Send returns without error.
  3307  //
  3308  // See UpgradeLensReview for more information on using the UpgradeLensReview
  3309  // API call, and error handling.
  3310  //
  3311  // This method is useful when you want to inject custom logic or configuration
  3312  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3313  //
  3314  //
  3315  //    // Example sending a request using the UpgradeLensReviewRequest method.
  3316  //    req, resp := client.UpgradeLensReviewRequest(params)
  3317  //
  3318  //    err := req.Send()
  3319  //    if err == nil { // resp is now filled
  3320  //        fmt.Println(resp)
  3321  //    }
  3322  //
  3323  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
  3324  func (c *WellArchitected) UpgradeLensReviewRequest(input *UpgradeLensReviewInput) (req *request.Request, output *UpgradeLensReviewOutput) {
  3325  	op := &request.Operation{
  3326  		Name:       opUpgradeLensReview,
  3327  		HTTPMethod: "PUT",
  3328  		HTTPPath:   "/workloads/{WorkloadId}/lensReviews/{LensAlias}/upgrade",
  3329  	}
  3330  
  3331  	if input == nil {
  3332  		input = &UpgradeLensReviewInput{}
  3333  	}
  3334  
  3335  	output = &UpgradeLensReviewOutput{}
  3336  	req = c.newRequest(op, input, output)
  3337  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3338  	return
  3339  }
  3340  
  3341  // UpgradeLensReview API operation for AWS Well-Architected Tool.
  3342  //
  3343  // Upgrade lens review.
  3344  //
  3345  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3346  // with awserr.Error's Code and Message methods to get detailed information about
  3347  // the error.
  3348  //
  3349  // See the AWS API reference guide for AWS Well-Architected Tool's
  3350  // API operation UpgradeLensReview for usage and error information.
  3351  //
  3352  // Returned Error Types:
  3353  //   * ValidationException
  3354  //   The user input is not valid.
  3355  //
  3356  //   * ResourceNotFoundException
  3357  //   The requested resource was not found.
  3358  //
  3359  //   * ConflictException
  3360  //   The resource already exists.
  3361  //
  3362  //   * InternalServerException
  3363  //   There is a problem with the AWS Well-Architected Tool API service.
  3364  //
  3365  //   * AccessDeniedException
  3366  //   User does not have sufficient access to perform this action.
  3367  //
  3368  //   * ThrottlingException
  3369  //   Request was denied due to request throttling.
  3370  //
  3371  // See also, https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/UpgradeLensReview
  3372  func (c *WellArchitected) UpgradeLensReview(input *UpgradeLensReviewInput) (*UpgradeLensReviewOutput, error) {
  3373  	req, out := c.UpgradeLensReviewRequest(input)
  3374  	return out, req.Send()
  3375  }
  3376  
  3377  // UpgradeLensReviewWithContext is the same as UpgradeLensReview with the addition of
  3378  // the ability to pass a context and additional request options.
  3379  //
  3380  // See UpgradeLensReview for details on how to use this API operation.
  3381  //
  3382  // The context must be non-nil and will be used for request cancellation. If
  3383  // the context is nil a panic will occur. In the future the SDK may create
  3384  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3385  // for more information on using Contexts.
  3386  func (c *WellArchitected) UpgradeLensReviewWithContext(ctx aws.Context, input *UpgradeLensReviewInput, opts ...request.Option) (*UpgradeLensReviewOutput, error) {
  3387  	req, out := c.UpgradeLensReviewRequest(input)
  3388  	req.SetContext(ctx)
  3389  	req.ApplyOptions(opts...)
  3390  	return out, req.Send()
  3391  }
  3392  
  3393  // User does not have sufficient access to perform this action.
  3394  type AccessDeniedException struct {
  3395  	_            struct{}                  `type:"structure"`
  3396  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3397  
  3398  	// Description of the error.
  3399  	Message_ *string `locationName:"Message" type:"string"`
  3400  }
  3401  
  3402  // String returns the string representation.
  3403  //
  3404  // API parameter values that are decorated as "sensitive" in the API will not
  3405  // be included in the string output. The member name will be present, but the
  3406  // value will be replaced with "sensitive".
  3407  func (s AccessDeniedException) String() string {
  3408  	return awsutil.Prettify(s)
  3409  }
  3410  
  3411  // GoString returns the string representation.
  3412  //
  3413  // API parameter values that are decorated as "sensitive" in the API will not
  3414  // be included in the string output. The member name will be present, but the
  3415  // value will be replaced with "sensitive".
  3416  func (s AccessDeniedException) GoString() string {
  3417  	return s.String()
  3418  }
  3419  
  3420  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3421  	return &AccessDeniedException{
  3422  		RespMetadata: v,
  3423  	}
  3424  }
  3425  
  3426  // Code returns the exception type name.
  3427  func (s *AccessDeniedException) Code() string {
  3428  	return "AccessDeniedException"
  3429  }
  3430  
  3431  // Message returns the exception's message.
  3432  func (s *AccessDeniedException) Message() string {
  3433  	if s.Message_ != nil {
  3434  		return *s.Message_
  3435  	}
  3436  	return ""
  3437  }
  3438  
  3439  // OrigErr always returns nil, satisfies awserr.Error interface.
  3440  func (s *AccessDeniedException) OrigErr() error {
  3441  	return nil
  3442  }
  3443  
  3444  func (s *AccessDeniedException) Error() string {
  3445  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3446  }
  3447  
  3448  // Status code returns the HTTP status code for the request's response error.
  3449  func (s *AccessDeniedException) StatusCode() int {
  3450  	return s.RespMetadata.StatusCode
  3451  }
  3452  
  3453  // RequestID returns the service's response RequestID for request.
  3454  func (s *AccessDeniedException) RequestID() string {
  3455  	return s.RespMetadata.RequestID
  3456  }
  3457  
  3458  // An answer of the question.
  3459  type Answer struct {
  3460  	_ struct{} `type:"structure"`
  3461  
  3462  	// A list of selected choices to a question in your workload.
  3463  	ChoiceAnswers []*ChoiceAnswer `type:"list"`
  3464  
  3465  	// List of choices available for a question.
  3466  	Choices []*Choice `type:"list"`
  3467  
  3468  	// The helpful resource URL for a question.
  3469  	HelpfulResourceUrl *string `min:"1" type:"string"`
  3470  
  3471  	// The improvement plan URL for a question.
  3472  	//
  3473  	// This value is only available if the question has been answered.
  3474  	ImprovementPlanUrl *string `min:"1" type:"string"`
  3475  
  3476  	// Defines whether this question is applicable to a lens review.
  3477  	IsApplicable *bool `type:"boolean"`
  3478  
  3479  	// The notes associated with the workload.
  3480  	Notes *string `type:"string"`
  3481  
  3482  	// The ID used to identify a pillar, for example, security.
  3483  	//
  3484  	// A pillar is identified by its PillarReviewSummary$PillarId.
  3485  	PillarId *string `min:"1" type:"string"`
  3486  
  3487  	// The description of the question.
  3488  	QuestionDescription *string `min:"1" type:"string"`
  3489  
  3490  	// The ID of the question.
  3491  	QuestionId *string `min:"1" type:"string"`
  3492  
  3493  	// The title of the question.
  3494  	QuestionTitle *string `min:"1" type:"string"`
  3495  
  3496  	// The reason why the question is not applicable to your workload.
  3497  	Reason *string `type:"string" enum:"AnswerReason"`
  3498  
  3499  	// The risk for a given workload, lens review, pillar, or question.
  3500  	Risk *string `type:"string" enum:"Risk"`
  3501  
  3502  	// List of selected choice IDs in a question answer.
  3503  	//
  3504  	// The values entered replace the previously selected choices.
  3505  	SelectedChoices []*string `type:"list"`
  3506  }
  3507  
  3508  // String returns the string representation.
  3509  //
  3510  // API parameter values that are decorated as "sensitive" in the API will not
  3511  // be included in the string output. The member name will be present, but the
  3512  // value will be replaced with "sensitive".
  3513  func (s Answer) String() string {
  3514  	return awsutil.Prettify(s)
  3515  }
  3516  
  3517  // GoString returns the string representation.
  3518  //
  3519  // API parameter values that are decorated as "sensitive" in the API will not
  3520  // be included in the string output. The member name will be present, but the
  3521  // value will be replaced with "sensitive".
  3522  func (s Answer) GoString() string {
  3523  	return s.String()
  3524  }
  3525  
  3526  // SetChoiceAnswers sets the ChoiceAnswers field's value.
  3527  func (s *Answer) SetChoiceAnswers(v []*ChoiceAnswer) *Answer {
  3528  	s.ChoiceAnswers = v
  3529  	return s
  3530  }
  3531  
  3532  // SetChoices sets the Choices field's value.
  3533  func (s *Answer) SetChoices(v []*Choice) *Answer {
  3534  	s.Choices = v
  3535  	return s
  3536  }
  3537  
  3538  // SetHelpfulResourceUrl sets the HelpfulResourceUrl field's value.
  3539  func (s *Answer) SetHelpfulResourceUrl(v string) *Answer {
  3540  	s.HelpfulResourceUrl = &v
  3541  	return s
  3542  }
  3543  
  3544  // SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
  3545  func (s *Answer) SetImprovementPlanUrl(v string) *Answer {
  3546  	s.ImprovementPlanUrl = &v
  3547  	return s
  3548  }
  3549  
  3550  // SetIsApplicable sets the IsApplicable field's value.
  3551  func (s *Answer) SetIsApplicable(v bool) *Answer {
  3552  	s.IsApplicable = &v
  3553  	return s
  3554  }
  3555  
  3556  // SetNotes sets the Notes field's value.
  3557  func (s *Answer) SetNotes(v string) *Answer {
  3558  	s.Notes = &v
  3559  	return s
  3560  }
  3561  
  3562  // SetPillarId sets the PillarId field's value.
  3563  func (s *Answer) SetPillarId(v string) *Answer {
  3564  	s.PillarId = &v
  3565  	return s
  3566  }
  3567  
  3568  // SetQuestionDescription sets the QuestionDescription field's value.
  3569  func (s *Answer) SetQuestionDescription(v string) *Answer {
  3570  	s.QuestionDescription = &v
  3571  	return s
  3572  }
  3573  
  3574  // SetQuestionId sets the QuestionId field's value.
  3575  func (s *Answer) SetQuestionId(v string) *Answer {
  3576  	s.QuestionId = &v
  3577  	return s
  3578  }
  3579  
  3580  // SetQuestionTitle sets the QuestionTitle field's value.
  3581  func (s *Answer) SetQuestionTitle(v string) *Answer {
  3582  	s.QuestionTitle = &v
  3583  	return s
  3584  }
  3585  
  3586  // SetReason sets the Reason field's value.
  3587  func (s *Answer) SetReason(v string) *Answer {
  3588  	s.Reason = &v
  3589  	return s
  3590  }
  3591  
  3592  // SetRisk sets the Risk field's value.
  3593  func (s *Answer) SetRisk(v string) *Answer {
  3594  	s.Risk = &v
  3595  	return s
  3596  }
  3597  
  3598  // SetSelectedChoices sets the SelectedChoices field's value.
  3599  func (s *Answer) SetSelectedChoices(v []*string) *Answer {
  3600  	s.SelectedChoices = v
  3601  	return s
  3602  }
  3603  
  3604  // An answer summary of a lens review in a workload.
  3605  type AnswerSummary struct {
  3606  	_ struct{} `type:"structure"`
  3607  
  3608  	// A list of selected choices to a question in your workload.
  3609  	ChoiceAnswerSummaries []*ChoiceAnswerSummary `type:"list"`
  3610  
  3611  	// List of choices available for a question.
  3612  	Choices []*Choice `type:"list"`
  3613  
  3614  	// Defines whether this question is applicable to a lens review.
  3615  	IsApplicable *bool `type:"boolean"`
  3616  
  3617  	// The ID used to identify a pillar, for example, security.
  3618  	//
  3619  	// A pillar is identified by its PillarReviewSummary$PillarId.
  3620  	PillarId *string `min:"1" type:"string"`
  3621  
  3622  	// The ID of the question.
  3623  	QuestionId *string `min:"1" type:"string"`
  3624  
  3625  	// The title of the question.
  3626  	QuestionTitle *string `min:"1" type:"string"`
  3627  
  3628  	// The reason why a choice is non-applicable to a question in your workload.
  3629  	Reason *string `type:"string" enum:"AnswerReason"`
  3630  
  3631  	// The risk for a given workload, lens review, pillar, or question.
  3632  	Risk *string `type:"string" enum:"Risk"`
  3633  
  3634  	// List of selected choice IDs in a question answer.
  3635  	//
  3636  	// The values entered replace the previously selected choices.
  3637  	SelectedChoices []*string `type:"list"`
  3638  }
  3639  
  3640  // String returns the string representation.
  3641  //
  3642  // API parameter values that are decorated as "sensitive" in the API will not
  3643  // be included in the string output. The member name will be present, but the
  3644  // value will be replaced with "sensitive".
  3645  func (s AnswerSummary) String() string {
  3646  	return awsutil.Prettify(s)
  3647  }
  3648  
  3649  // GoString returns the string representation.
  3650  //
  3651  // API parameter values that are decorated as "sensitive" in the API will not
  3652  // be included in the string output. The member name will be present, but the
  3653  // value will be replaced with "sensitive".
  3654  func (s AnswerSummary) GoString() string {
  3655  	return s.String()
  3656  }
  3657  
  3658  // SetChoiceAnswerSummaries sets the ChoiceAnswerSummaries field's value.
  3659  func (s *AnswerSummary) SetChoiceAnswerSummaries(v []*ChoiceAnswerSummary) *AnswerSummary {
  3660  	s.ChoiceAnswerSummaries = v
  3661  	return s
  3662  }
  3663  
  3664  // SetChoices sets the Choices field's value.
  3665  func (s *AnswerSummary) SetChoices(v []*Choice) *AnswerSummary {
  3666  	s.Choices = v
  3667  	return s
  3668  }
  3669  
  3670  // SetIsApplicable sets the IsApplicable field's value.
  3671  func (s *AnswerSummary) SetIsApplicable(v bool) *AnswerSummary {
  3672  	s.IsApplicable = &v
  3673  	return s
  3674  }
  3675  
  3676  // SetPillarId sets the PillarId field's value.
  3677  func (s *AnswerSummary) SetPillarId(v string) *AnswerSummary {
  3678  	s.PillarId = &v
  3679  	return s
  3680  }
  3681  
  3682  // SetQuestionId sets the QuestionId field's value.
  3683  func (s *AnswerSummary) SetQuestionId(v string) *AnswerSummary {
  3684  	s.QuestionId = &v
  3685  	return s
  3686  }
  3687  
  3688  // SetQuestionTitle sets the QuestionTitle field's value.
  3689  func (s *AnswerSummary) SetQuestionTitle(v string) *AnswerSummary {
  3690  	s.QuestionTitle = &v
  3691  	return s
  3692  }
  3693  
  3694  // SetReason sets the Reason field's value.
  3695  func (s *AnswerSummary) SetReason(v string) *AnswerSummary {
  3696  	s.Reason = &v
  3697  	return s
  3698  }
  3699  
  3700  // SetRisk sets the Risk field's value.
  3701  func (s *AnswerSummary) SetRisk(v string) *AnswerSummary {
  3702  	s.Risk = &v
  3703  	return s
  3704  }
  3705  
  3706  // SetSelectedChoices sets the SelectedChoices field's value.
  3707  func (s *AnswerSummary) SetSelectedChoices(v []*string) *AnswerSummary {
  3708  	s.SelectedChoices = v
  3709  	return s
  3710  }
  3711  
  3712  // Input to associate lens reviews.
  3713  type AssociateLensesInput struct {
  3714  	_ struct{} `type:"structure"`
  3715  
  3716  	// List of lens aliases to associate or disassociate with a workload.
  3717  	//
  3718  	// Identify a lens using its LensSummary$LensAlias.
  3719  	//
  3720  	// LensAliases is a required field
  3721  	LensAliases []*string `min:"1" type:"list" required:"true"`
  3722  
  3723  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  3724  	//
  3725  	// WorkloadId is a required field
  3726  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  3727  }
  3728  
  3729  // String returns the string representation.
  3730  //
  3731  // API parameter values that are decorated as "sensitive" in the API will not
  3732  // be included in the string output. The member name will be present, but the
  3733  // value will be replaced with "sensitive".
  3734  func (s AssociateLensesInput) String() string {
  3735  	return awsutil.Prettify(s)
  3736  }
  3737  
  3738  // GoString returns the string representation.
  3739  //
  3740  // API parameter values that are decorated as "sensitive" in the API will not
  3741  // be included in the string output. The member name will be present, but the
  3742  // value will be replaced with "sensitive".
  3743  func (s AssociateLensesInput) GoString() string {
  3744  	return s.String()
  3745  }
  3746  
  3747  // Validate inspects the fields of the type to determine if they are valid.
  3748  func (s *AssociateLensesInput) Validate() error {
  3749  	invalidParams := request.ErrInvalidParams{Context: "AssociateLensesInput"}
  3750  	if s.LensAliases == nil {
  3751  		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
  3752  	}
  3753  	if s.LensAliases != nil && len(s.LensAliases) < 1 {
  3754  		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
  3755  	}
  3756  	if s.WorkloadId == nil {
  3757  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  3758  	}
  3759  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  3760  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  3761  	}
  3762  
  3763  	if invalidParams.Len() > 0 {
  3764  		return invalidParams
  3765  	}
  3766  	return nil
  3767  }
  3768  
  3769  // SetLensAliases sets the LensAliases field's value.
  3770  func (s *AssociateLensesInput) SetLensAliases(v []*string) *AssociateLensesInput {
  3771  	s.LensAliases = v
  3772  	return s
  3773  }
  3774  
  3775  // SetWorkloadId sets the WorkloadId field's value.
  3776  func (s *AssociateLensesInput) SetWorkloadId(v string) *AssociateLensesInput {
  3777  	s.WorkloadId = &v
  3778  	return s
  3779  }
  3780  
  3781  type AssociateLensesOutput struct {
  3782  	_ struct{} `type:"structure" nopayload:"true"`
  3783  }
  3784  
  3785  // String returns the string representation.
  3786  //
  3787  // API parameter values that are decorated as "sensitive" in the API will not
  3788  // be included in the string output. The member name will be present, but the
  3789  // value will be replaced with "sensitive".
  3790  func (s AssociateLensesOutput) String() string {
  3791  	return awsutil.Prettify(s)
  3792  }
  3793  
  3794  // GoString returns the string representation.
  3795  //
  3796  // API parameter values that are decorated as "sensitive" in the API will not
  3797  // be included in the string output. The member name will be present, but the
  3798  // value will be replaced with "sensitive".
  3799  func (s AssociateLensesOutput) GoString() string {
  3800  	return s.String()
  3801  }
  3802  
  3803  // A choice available to answer question.
  3804  type Choice struct {
  3805  	_ struct{} `type:"structure"`
  3806  
  3807  	// The ID of a choice.
  3808  	ChoiceId *string `min:"1" type:"string"`
  3809  
  3810  	// The description of a choice.
  3811  	Description *string `min:"1" type:"string"`
  3812  
  3813  	// The title of a choice.
  3814  	Title *string `min:"1" type:"string"`
  3815  }
  3816  
  3817  // String returns the string representation.
  3818  //
  3819  // API parameter values that are decorated as "sensitive" in the API will not
  3820  // be included in the string output. The member name will be present, but the
  3821  // value will be replaced with "sensitive".
  3822  func (s Choice) String() string {
  3823  	return awsutil.Prettify(s)
  3824  }
  3825  
  3826  // GoString returns the string representation.
  3827  //
  3828  // API parameter values that are decorated as "sensitive" in the API will not
  3829  // be included in the string output. The member name will be present, but the
  3830  // value will be replaced with "sensitive".
  3831  func (s Choice) GoString() string {
  3832  	return s.String()
  3833  }
  3834  
  3835  // SetChoiceId sets the ChoiceId field's value.
  3836  func (s *Choice) SetChoiceId(v string) *Choice {
  3837  	s.ChoiceId = &v
  3838  	return s
  3839  }
  3840  
  3841  // SetDescription sets the Description field's value.
  3842  func (s *Choice) SetDescription(v string) *Choice {
  3843  	s.Description = &v
  3844  	return s
  3845  }
  3846  
  3847  // SetTitle sets the Title field's value.
  3848  func (s *Choice) SetTitle(v string) *Choice {
  3849  	s.Title = &v
  3850  	return s
  3851  }
  3852  
  3853  // A choice that has been answered on a question in your workload.
  3854  type ChoiceAnswer struct {
  3855  	_ struct{} `type:"structure"`
  3856  
  3857  	// The ID of a choice.
  3858  	ChoiceId *string `min:"1" type:"string"`
  3859  
  3860  	// The notes associated with a choice.
  3861  	Notes *string `type:"string"`
  3862  
  3863  	// The reason why a choice is non-applicable to a question in your workload.
  3864  	Reason *string `type:"string" enum:"ChoiceReason"`
  3865  
  3866  	// The status of a choice.
  3867  	Status *string `type:"string" enum:"ChoiceStatus"`
  3868  }
  3869  
  3870  // String returns the string representation.
  3871  //
  3872  // API parameter values that are decorated as "sensitive" in the API will not
  3873  // be included in the string output. The member name will be present, but the
  3874  // value will be replaced with "sensitive".
  3875  func (s ChoiceAnswer) String() string {
  3876  	return awsutil.Prettify(s)
  3877  }
  3878  
  3879  // GoString returns the string representation.
  3880  //
  3881  // API parameter values that are decorated as "sensitive" in the API will not
  3882  // be included in the string output. The member name will be present, but the
  3883  // value will be replaced with "sensitive".
  3884  func (s ChoiceAnswer) GoString() string {
  3885  	return s.String()
  3886  }
  3887  
  3888  // SetChoiceId sets the ChoiceId field's value.
  3889  func (s *ChoiceAnswer) SetChoiceId(v string) *ChoiceAnswer {
  3890  	s.ChoiceId = &v
  3891  	return s
  3892  }
  3893  
  3894  // SetNotes sets the Notes field's value.
  3895  func (s *ChoiceAnswer) SetNotes(v string) *ChoiceAnswer {
  3896  	s.Notes = &v
  3897  	return s
  3898  }
  3899  
  3900  // SetReason sets the Reason field's value.
  3901  func (s *ChoiceAnswer) SetReason(v string) *ChoiceAnswer {
  3902  	s.Reason = &v
  3903  	return s
  3904  }
  3905  
  3906  // SetStatus sets the Status field's value.
  3907  func (s *ChoiceAnswer) SetStatus(v string) *ChoiceAnswer {
  3908  	s.Status = &v
  3909  	return s
  3910  }
  3911  
  3912  // A choice summary that has been answered on a question in your workload.
  3913  type ChoiceAnswerSummary struct {
  3914  	_ struct{} `type:"structure"`
  3915  
  3916  	// The ID of a choice.
  3917  	ChoiceId *string `min:"1" type:"string"`
  3918  
  3919  	// The reason why a choice is non-applicable to a question in your workload.
  3920  	Reason *string `type:"string" enum:"ChoiceReason"`
  3921  
  3922  	// The status of a choice.
  3923  	Status *string `type:"string" enum:"ChoiceStatus"`
  3924  }
  3925  
  3926  // String returns the string representation.
  3927  //
  3928  // API parameter values that are decorated as "sensitive" in the API will not
  3929  // be included in the string output. The member name will be present, but the
  3930  // value will be replaced with "sensitive".
  3931  func (s ChoiceAnswerSummary) String() string {
  3932  	return awsutil.Prettify(s)
  3933  }
  3934  
  3935  // GoString returns the string representation.
  3936  //
  3937  // API parameter values that are decorated as "sensitive" in the API will not
  3938  // be included in the string output. The member name will be present, but the
  3939  // value will be replaced with "sensitive".
  3940  func (s ChoiceAnswerSummary) GoString() string {
  3941  	return s.String()
  3942  }
  3943  
  3944  // SetChoiceId sets the ChoiceId field's value.
  3945  func (s *ChoiceAnswerSummary) SetChoiceId(v string) *ChoiceAnswerSummary {
  3946  	s.ChoiceId = &v
  3947  	return s
  3948  }
  3949  
  3950  // SetReason sets the Reason field's value.
  3951  func (s *ChoiceAnswerSummary) SetReason(v string) *ChoiceAnswerSummary {
  3952  	s.Reason = &v
  3953  	return s
  3954  }
  3955  
  3956  // SetStatus sets the Status field's value.
  3957  func (s *ChoiceAnswerSummary) SetStatus(v string) *ChoiceAnswerSummary {
  3958  	s.Status = &v
  3959  	return s
  3960  }
  3961  
  3962  // A list of choices to be updated.
  3963  type ChoiceUpdate struct {
  3964  	_ struct{} `type:"structure"`
  3965  
  3966  	// The notes associated with a choice.
  3967  	Notes *string `type:"string"`
  3968  
  3969  	// The reason why a choice is non-applicable to a question in your workload.
  3970  	Reason *string `type:"string" enum:"ChoiceReason"`
  3971  
  3972  	// The status of a choice.
  3973  	//
  3974  	// Status is a required field
  3975  	Status *string `type:"string" required:"true" enum:"ChoiceStatus"`
  3976  }
  3977  
  3978  // String returns the string representation.
  3979  //
  3980  // API parameter values that are decorated as "sensitive" in the API will not
  3981  // be included in the string output. The member name will be present, but the
  3982  // value will be replaced with "sensitive".
  3983  func (s ChoiceUpdate) String() string {
  3984  	return awsutil.Prettify(s)
  3985  }
  3986  
  3987  // GoString returns the string representation.
  3988  //
  3989  // API parameter values that are decorated as "sensitive" in the API will not
  3990  // be included in the string output. The member name will be present, but the
  3991  // value will be replaced with "sensitive".
  3992  func (s ChoiceUpdate) GoString() string {
  3993  	return s.String()
  3994  }
  3995  
  3996  // Validate inspects the fields of the type to determine if they are valid.
  3997  func (s *ChoiceUpdate) Validate() error {
  3998  	invalidParams := request.ErrInvalidParams{Context: "ChoiceUpdate"}
  3999  	if s.Status == nil {
  4000  		invalidParams.Add(request.NewErrParamRequired("Status"))
  4001  	}
  4002  
  4003  	if invalidParams.Len() > 0 {
  4004  		return invalidParams
  4005  	}
  4006  	return nil
  4007  }
  4008  
  4009  // SetNotes sets the Notes field's value.
  4010  func (s *ChoiceUpdate) SetNotes(v string) *ChoiceUpdate {
  4011  	s.Notes = &v
  4012  	return s
  4013  }
  4014  
  4015  // SetReason sets the Reason field's value.
  4016  func (s *ChoiceUpdate) SetReason(v string) *ChoiceUpdate {
  4017  	s.Reason = &v
  4018  	return s
  4019  }
  4020  
  4021  // SetStatus sets the Status field's value.
  4022  func (s *ChoiceUpdate) SetStatus(v string) *ChoiceUpdate {
  4023  	s.Status = &v
  4024  	return s
  4025  }
  4026  
  4027  // The resource already exists.
  4028  type ConflictException struct {
  4029  	_            struct{}                  `type:"structure"`
  4030  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4031  
  4032  	// Description of the error.
  4033  	Message_ *string `locationName:"Message" type:"string"`
  4034  
  4035  	// Identifier of the resource affected.
  4036  	//
  4037  	// ResourceId is a required field
  4038  	ResourceId *string `type:"string" required:"true"`
  4039  
  4040  	// Type of the resource affected.
  4041  	//
  4042  	// ResourceType is a required field
  4043  	ResourceType *string `type:"string" required:"true"`
  4044  }
  4045  
  4046  // String returns the string representation.
  4047  //
  4048  // API parameter values that are decorated as "sensitive" in the API will not
  4049  // be included in the string output. The member name will be present, but the
  4050  // value will be replaced with "sensitive".
  4051  func (s ConflictException) String() string {
  4052  	return awsutil.Prettify(s)
  4053  }
  4054  
  4055  // GoString returns the string representation.
  4056  //
  4057  // API parameter values that are decorated as "sensitive" in the API will not
  4058  // be included in the string output. The member name will be present, but the
  4059  // value will be replaced with "sensitive".
  4060  func (s ConflictException) GoString() string {
  4061  	return s.String()
  4062  }
  4063  
  4064  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4065  	return &ConflictException{
  4066  		RespMetadata: v,
  4067  	}
  4068  }
  4069  
  4070  // Code returns the exception type name.
  4071  func (s *ConflictException) Code() string {
  4072  	return "ConflictException"
  4073  }
  4074  
  4075  // Message returns the exception's message.
  4076  func (s *ConflictException) Message() string {
  4077  	if s.Message_ != nil {
  4078  		return *s.Message_
  4079  	}
  4080  	return ""
  4081  }
  4082  
  4083  // OrigErr always returns nil, satisfies awserr.Error interface.
  4084  func (s *ConflictException) OrigErr() error {
  4085  	return nil
  4086  }
  4087  
  4088  func (s *ConflictException) Error() string {
  4089  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4090  }
  4091  
  4092  // Status code returns the HTTP status code for the request's response error.
  4093  func (s *ConflictException) StatusCode() int {
  4094  	return s.RespMetadata.StatusCode
  4095  }
  4096  
  4097  // RequestID returns the service's response RequestID for request.
  4098  func (s *ConflictException) RequestID() string {
  4099  	return s.RespMetadata.RequestID
  4100  }
  4101  
  4102  // Input for milestone creation.
  4103  type CreateMilestoneInput struct {
  4104  	_ struct{} `type:"structure"`
  4105  
  4106  	// A unique case-sensitive string used to ensure that this request is idempotent
  4107  	// (executes only once).
  4108  	//
  4109  	// You should not reuse the same token for other requests. If you retry a request
  4110  	// with the same client request token and the same parameters after it has completed
  4111  	// successfully, the result of the original request is returned.
  4112  	//
  4113  	// This token is listed as required, however, if you do not specify it, the
  4114  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  4115  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  4116  	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
  4117  
  4118  	// The name of the milestone in a workload.
  4119  	//
  4120  	// Milestone names must be unique within a workload.
  4121  	//
  4122  	// MilestoneName is a required field
  4123  	MilestoneName *string `min:"3" type:"string" required:"true"`
  4124  
  4125  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4126  	//
  4127  	// WorkloadId is a required field
  4128  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  4129  }
  4130  
  4131  // String returns the string representation.
  4132  //
  4133  // API parameter values that are decorated as "sensitive" in the API will not
  4134  // be included in the string output. The member name will be present, but the
  4135  // value will be replaced with "sensitive".
  4136  func (s CreateMilestoneInput) String() string {
  4137  	return awsutil.Prettify(s)
  4138  }
  4139  
  4140  // GoString returns the string representation.
  4141  //
  4142  // API parameter values that are decorated as "sensitive" in the API will not
  4143  // be included in the string output. The member name will be present, but the
  4144  // value will be replaced with "sensitive".
  4145  func (s CreateMilestoneInput) GoString() string {
  4146  	return s.String()
  4147  }
  4148  
  4149  // Validate inspects the fields of the type to determine if they are valid.
  4150  func (s *CreateMilestoneInput) Validate() error {
  4151  	invalidParams := request.ErrInvalidParams{Context: "CreateMilestoneInput"}
  4152  	if s.MilestoneName == nil {
  4153  		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
  4154  	}
  4155  	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
  4156  		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
  4157  	}
  4158  	if s.WorkloadId == nil {
  4159  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  4160  	}
  4161  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  4162  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  4163  	}
  4164  
  4165  	if invalidParams.Len() > 0 {
  4166  		return invalidParams
  4167  	}
  4168  	return nil
  4169  }
  4170  
  4171  // SetClientRequestToken sets the ClientRequestToken field's value.
  4172  func (s *CreateMilestoneInput) SetClientRequestToken(v string) *CreateMilestoneInput {
  4173  	s.ClientRequestToken = &v
  4174  	return s
  4175  }
  4176  
  4177  // SetMilestoneName sets the MilestoneName field's value.
  4178  func (s *CreateMilestoneInput) SetMilestoneName(v string) *CreateMilestoneInput {
  4179  	s.MilestoneName = &v
  4180  	return s
  4181  }
  4182  
  4183  // SetWorkloadId sets the WorkloadId field's value.
  4184  func (s *CreateMilestoneInput) SetWorkloadId(v string) *CreateMilestoneInput {
  4185  	s.WorkloadId = &v
  4186  	return s
  4187  }
  4188  
  4189  // Output of a create milestone call.
  4190  type CreateMilestoneOutput struct {
  4191  	_ struct{} `type:"structure"`
  4192  
  4193  	// The milestone number.
  4194  	//
  4195  	// A workload can have a maximum of 100 milestones.
  4196  	MilestoneNumber *int64 `min:"1" type:"integer"`
  4197  
  4198  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4199  	WorkloadId *string `type:"string"`
  4200  }
  4201  
  4202  // String returns the string representation.
  4203  //
  4204  // API parameter values that are decorated as "sensitive" in the API will not
  4205  // be included in the string output. The member name will be present, but the
  4206  // value will be replaced with "sensitive".
  4207  func (s CreateMilestoneOutput) String() string {
  4208  	return awsutil.Prettify(s)
  4209  }
  4210  
  4211  // GoString returns the string representation.
  4212  //
  4213  // API parameter values that are decorated as "sensitive" in the API will not
  4214  // be included in the string output. The member name will be present, but the
  4215  // value will be replaced with "sensitive".
  4216  func (s CreateMilestoneOutput) GoString() string {
  4217  	return s.String()
  4218  }
  4219  
  4220  // SetMilestoneNumber sets the MilestoneNumber field's value.
  4221  func (s *CreateMilestoneOutput) SetMilestoneNumber(v int64) *CreateMilestoneOutput {
  4222  	s.MilestoneNumber = &v
  4223  	return s
  4224  }
  4225  
  4226  // SetWorkloadId sets the WorkloadId field's value.
  4227  func (s *CreateMilestoneOutput) SetWorkloadId(v string) *CreateMilestoneOutput {
  4228  	s.WorkloadId = &v
  4229  	return s
  4230  }
  4231  
  4232  // Input for workload creation.
  4233  type CreateWorkloadInput struct {
  4234  	_ struct{} `type:"structure"`
  4235  
  4236  	// The list of AWS account IDs associated with the workload.
  4237  	AccountIds []*string `type:"list"`
  4238  
  4239  	// The URL of the architectural design for the workload.
  4240  	ArchitecturalDesign *string `type:"string"`
  4241  
  4242  	// The list of AWS Regions associated with the workload, for example, us-east-2,
  4243  	// or ca-central-1.
  4244  	AwsRegions []*string `type:"list"`
  4245  
  4246  	// A unique case-sensitive string used to ensure that this request is idempotent
  4247  	// (executes only once).
  4248  	//
  4249  	// You should not reuse the same token for other requests. If you retry a request
  4250  	// with the same client request token and the same parameters after it has completed
  4251  	// successfully, the result of the original request is returned.
  4252  	//
  4253  	// This token is listed as required, however, if you do not specify it, the
  4254  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  4255  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  4256  	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
  4257  
  4258  	// The description for the workload.
  4259  	//
  4260  	// Description is a required field
  4261  	Description *string `min:"3" type:"string" required:"true"`
  4262  
  4263  	// The environment for the workload.
  4264  	//
  4265  	// Environment is a required field
  4266  	Environment *string `type:"string" required:"true" enum:"WorkloadEnvironment"`
  4267  
  4268  	// The industry for the workload.
  4269  	Industry *string `type:"string"`
  4270  
  4271  	// The industry type for the workload.
  4272  	//
  4273  	// If specified, must be one of the following:
  4274  	//
  4275  	//    * Agriculture
  4276  	//
  4277  	//    * Automobile
  4278  	//
  4279  	//    * Defense
  4280  	//
  4281  	//    * Design and Engineering
  4282  	//
  4283  	//    * Digital Advertising
  4284  	//
  4285  	//    * Education
  4286  	//
  4287  	//    * Environmental Protection
  4288  	//
  4289  	//    * Financial Services
  4290  	//
  4291  	//    * Gaming
  4292  	//
  4293  	//    * General Public Services
  4294  	//
  4295  	//    * Healthcare
  4296  	//
  4297  	//    * Hospitality
  4298  	//
  4299  	//    * InfoTech
  4300  	//
  4301  	//    * Justice and Public Safety
  4302  	//
  4303  	//    * Life Sciences
  4304  	//
  4305  	//    * Manufacturing
  4306  	//
  4307  	//    * Media & Entertainment
  4308  	//
  4309  	//    * Mining & Resources
  4310  	//
  4311  	//    * Oil & Gas
  4312  	//
  4313  	//    * Power & Utilities
  4314  	//
  4315  	//    * Professional Services
  4316  	//
  4317  	//    * Real Estate & Construction
  4318  	//
  4319  	//    * Retail & Wholesale
  4320  	//
  4321  	//    * Social Protection
  4322  	//
  4323  	//    * Telecommunications
  4324  	//
  4325  	//    * Travel, Transportation & Logistics
  4326  	//
  4327  	//    * Other
  4328  	IndustryType *string `type:"string"`
  4329  
  4330  	// The list of lenses associated with the workload. Each lens is identified
  4331  	// by its LensSummary$LensAlias.
  4332  	//
  4333  	// Lenses is a required field
  4334  	Lenses []*string `type:"list" required:"true"`
  4335  
  4336  	// The list of non-AWS Regions associated with the workload.
  4337  	NonAwsRegions []*string `type:"list"`
  4338  
  4339  	// The notes associated with the workload.
  4340  	Notes *string `type:"string"`
  4341  
  4342  	// The priorities of the pillars, which are used to order items in the improvement
  4343  	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
  4344  	PillarPriorities []*string `type:"list"`
  4345  
  4346  	// The review owner of the workload. The name, email address, or identifier
  4347  	// for the primary group or individual that owns the workload review process.
  4348  	//
  4349  	// ReviewOwner is a required field
  4350  	ReviewOwner *string `min:"3" type:"string" required:"true"`
  4351  
  4352  	// The tags to be associated with the workload.
  4353  	Tags map[string]*string `min:"1" type:"map"`
  4354  
  4355  	// The name of the workload.
  4356  	//
  4357  	// The name must be unique within an account within a Region. Spaces and capitalization
  4358  	// are ignored when checking for uniqueness.
  4359  	//
  4360  	// WorkloadName is a required field
  4361  	WorkloadName *string `min:"3" type:"string" required:"true"`
  4362  }
  4363  
  4364  // String returns the string representation.
  4365  //
  4366  // API parameter values that are decorated as "sensitive" in the API will not
  4367  // be included in the string output. The member name will be present, but the
  4368  // value will be replaced with "sensitive".
  4369  func (s CreateWorkloadInput) String() string {
  4370  	return awsutil.Prettify(s)
  4371  }
  4372  
  4373  // GoString returns the string representation.
  4374  //
  4375  // API parameter values that are decorated as "sensitive" in the API will not
  4376  // be included in the string output. The member name will be present, but the
  4377  // value will be replaced with "sensitive".
  4378  func (s CreateWorkloadInput) GoString() string {
  4379  	return s.String()
  4380  }
  4381  
  4382  // Validate inspects the fields of the type to determine if they are valid.
  4383  func (s *CreateWorkloadInput) Validate() error {
  4384  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadInput"}
  4385  	if s.Description == nil {
  4386  		invalidParams.Add(request.NewErrParamRequired("Description"))
  4387  	}
  4388  	if s.Description != nil && len(*s.Description) < 3 {
  4389  		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
  4390  	}
  4391  	if s.Environment == nil {
  4392  		invalidParams.Add(request.NewErrParamRequired("Environment"))
  4393  	}
  4394  	if s.Lenses == nil {
  4395  		invalidParams.Add(request.NewErrParamRequired("Lenses"))
  4396  	}
  4397  	if s.ReviewOwner == nil {
  4398  		invalidParams.Add(request.NewErrParamRequired("ReviewOwner"))
  4399  	}
  4400  	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
  4401  		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
  4402  	}
  4403  	if s.Tags != nil && len(s.Tags) < 1 {
  4404  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4405  	}
  4406  	if s.WorkloadName == nil {
  4407  		invalidParams.Add(request.NewErrParamRequired("WorkloadName"))
  4408  	}
  4409  	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
  4410  		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
  4411  	}
  4412  
  4413  	if invalidParams.Len() > 0 {
  4414  		return invalidParams
  4415  	}
  4416  	return nil
  4417  }
  4418  
  4419  // SetAccountIds sets the AccountIds field's value.
  4420  func (s *CreateWorkloadInput) SetAccountIds(v []*string) *CreateWorkloadInput {
  4421  	s.AccountIds = v
  4422  	return s
  4423  }
  4424  
  4425  // SetArchitecturalDesign sets the ArchitecturalDesign field's value.
  4426  func (s *CreateWorkloadInput) SetArchitecturalDesign(v string) *CreateWorkloadInput {
  4427  	s.ArchitecturalDesign = &v
  4428  	return s
  4429  }
  4430  
  4431  // SetAwsRegions sets the AwsRegions field's value.
  4432  func (s *CreateWorkloadInput) SetAwsRegions(v []*string) *CreateWorkloadInput {
  4433  	s.AwsRegions = v
  4434  	return s
  4435  }
  4436  
  4437  // SetClientRequestToken sets the ClientRequestToken field's value.
  4438  func (s *CreateWorkloadInput) SetClientRequestToken(v string) *CreateWorkloadInput {
  4439  	s.ClientRequestToken = &v
  4440  	return s
  4441  }
  4442  
  4443  // SetDescription sets the Description field's value.
  4444  func (s *CreateWorkloadInput) SetDescription(v string) *CreateWorkloadInput {
  4445  	s.Description = &v
  4446  	return s
  4447  }
  4448  
  4449  // SetEnvironment sets the Environment field's value.
  4450  func (s *CreateWorkloadInput) SetEnvironment(v string) *CreateWorkloadInput {
  4451  	s.Environment = &v
  4452  	return s
  4453  }
  4454  
  4455  // SetIndustry sets the Industry field's value.
  4456  func (s *CreateWorkloadInput) SetIndustry(v string) *CreateWorkloadInput {
  4457  	s.Industry = &v
  4458  	return s
  4459  }
  4460  
  4461  // SetIndustryType sets the IndustryType field's value.
  4462  func (s *CreateWorkloadInput) SetIndustryType(v string) *CreateWorkloadInput {
  4463  	s.IndustryType = &v
  4464  	return s
  4465  }
  4466  
  4467  // SetLenses sets the Lenses field's value.
  4468  func (s *CreateWorkloadInput) SetLenses(v []*string) *CreateWorkloadInput {
  4469  	s.Lenses = v
  4470  	return s
  4471  }
  4472  
  4473  // SetNonAwsRegions sets the NonAwsRegions field's value.
  4474  func (s *CreateWorkloadInput) SetNonAwsRegions(v []*string) *CreateWorkloadInput {
  4475  	s.NonAwsRegions = v
  4476  	return s
  4477  }
  4478  
  4479  // SetNotes sets the Notes field's value.
  4480  func (s *CreateWorkloadInput) SetNotes(v string) *CreateWorkloadInput {
  4481  	s.Notes = &v
  4482  	return s
  4483  }
  4484  
  4485  // SetPillarPriorities sets the PillarPriorities field's value.
  4486  func (s *CreateWorkloadInput) SetPillarPriorities(v []*string) *CreateWorkloadInput {
  4487  	s.PillarPriorities = v
  4488  	return s
  4489  }
  4490  
  4491  // SetReviewOwner sets the ReviewOwner field's value.
  4492  func (s *CreateWorkloadInput) SetReviewOwner(v string) *CreateWorkloadInput {
  4493  	s.ReviewOwner = &v
  4494  	return s
  4495  }
  4496  
  4497  // SetTags sets the Tags field's value.
  4498  func (s *CreateWorkloadInput) SetTags(v map[string]*string) *CreateWorkloadInput {
  4499  	s.Tags = v
  4500  	return s
  4501  }
  4502  
  4503  // SetWorkloadName sets the WorkloadName field's value.
  4504  func (s *CreateWorkloadInput) SetWorkloadName(v string) *CreateWorkloadInput {
  4505  	s.WorkloadName = &v
  4506  	return s
  4507  }
  4508  
  4509  // Output of a create workload call.
  4510  type CreateWorkloadOutput struct {
  4511  	_ struct{} `type:"structure"`
  4512  
  4513  	// The ARN for the workload.
  4514  	WorkloadArn *string `type:"string"`
  4515  
  4516  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4517  	WorkloadId *string `type:"string"`
  4518  }
  4519  
  4520  // String returns the string representation.
  4521  //
  4522  // API parameter values that are decorated as "sensitive" in the API will not
  4523  // be included in the string output. The member name will be present, but the
  4524  // value will be replaced with "sensitive".
  4525  func (s CreateWorkloadOutput) String() string {
  4526  	return awsutil.Prettify(s)
  4527  }
  4528  
  4529  // GoString returns the string representation.
  4530  //
  4531  // API parameter values that are decorated as "sensitive" in the API will not
  4532  // be included in the string output. The member name will be present, but the
  4533  // value will be replaced with "sensitive".
  4534  func (s CreateWorkloadOutput) GoString() string {
  4535  	return s.String()
  4536  }
  4537  
  4538  // SetWorkloadArn sets the WorkloadArn field's value.
  4539  func (s *CreateWorkloadOutput) SetWorkloadArn(v string) *CreateWorkloadOutput {
  4540  	s.WorkloadArn = &v
  4541  	return s
  4542  }
  4543  
  4544  // SetWorkloadId sets the WorkloadId field's value.
  4545  func (s *CreateWorkloadOutput) SetWorkloadId(v string) *CreateWorkloadOutput {
  4546  	s.WorkloadId = &v
  4547  	return s
  4548  }
  4549  
  4550  // Input for Create Workload Share
  4551  type CreateWorkloadShareInput struct {
  4552  	_ struct{} `type:"structure"`
  4553  
  4554  	// A unique case-sensitive string used to ensure that this request is idempotent
  4555  	// (executes only once).
  4556  	//
  4557  	// You should not reuse the same token for other requests. If you retry a request
  4558  	// with the same client request token and the same parameters after it has completed
  4559  	// successfully, the result of the original request is returned.
  4560  	//
  4561  	// This token is listed as required, however, if you do not specify it, the
  4562  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  4563  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  4564  	ClientRequestToken *string `type:"string" idempotencyToken:"true"`
  4565  
  4566  	// Permission granted on a workload share.
  4567  	//
  4568  	// PermissionType is a required field
  4569  	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
  4570  
  4571  	// The AWS account ID or IAM role with which the workload is shared.
  4572  	//
  4573  	// SharedWith is a required field
  4574  	SharedWith *string `min:"12" type:"string" required:"true"`
  4575  
  4576  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4577  	//
  4578  	// WorkloadId is a required field
  4579  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  4580  }
  4581  
  4582  // String returns the string representation.
  4583  //
  4584  // API parameter values that are decorated as "sensitive" in the API will not
  4585  // be included in the string output. The member name will be present, but the
  4586  // value will be replaced with "sensitive".
  4587  func (s CreateWorkloadShareInput) String() string {
  4588  	return awsutil.Prettify(s)
  4589  }
  4590  
  4591  // GoString returns the string representation.
  4592  //
  4593  // API parameter values that are decorated as "sensitive" in the API will not
  4594  // be included in the string output. The member name will be present, but the
  4595  // value will be replaced with "sensitive".
  4596  func (s CreateWorkloadShareInput) GoString() string {
  4597  	return s.String()
  4598  }
  4599  
  4600  // Validate inspects the fields of the type to determine if they are valid.
  4601  func (s *CreateWorkloadShareInput) Validate() error {
  4602  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkloadShareInput"}
  4603  	if s.PermissionType == nil {
  4604  		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
  4605  	}
  4606  	if s.SharedWith == nil {
  4607  		invalidParams.Add(request.NewErrParamRequired("SharedWith"))
  4608  	}
  4609  	if s.SharedWith != nil && len(*s.SharedWith) < 12 {
  4610  		invalidParams.Add(request.NewErrParamMinLen("SharedWith", 12))
  4611  	}
  4612  	if s.WorkloadId == nil {
  4613  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  4614  	}
  4615  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  4616  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  4617  	}
  4618  
  4619  	if invalidParams.Len() > 0 {
  4620  		return invalidParams
  4621  	}
  4622  	return nil
  4623  }
  4624  
  4625  // SetClientRequestToken sets the ClientRequestToken field's value.
  4626  func (s *CreateWorkloadShareInput) SetClientRequestToken(v string) *CreateWorkloadShareInput {
  4627  	s.ClientRequestToken = &v
  4628  	return s
  4629  }
  4630  
  4631  // SetPermissionType sets the PermissionType field's value.
  4632  func (s *CreateWorkloadShareInput) SetPermissionType(v string) *CreateWorkloadShareInput {
  4633  	s.PermissionType = &v
  4634  	return s
  4635  }
  4636  
  4637  // SetSharedWith sets the SharedWith field's value.
  4638  func (s *CreateWorkloadShareInput) SetSharedWith(v string) *CreateWorkloadShareInput {
  4639  	s.SharedWith = &v
  4640  	return s
  4641  }
  4642  
  4643  // SetWorkloadId sets the WorkloadId field's value.
  4644  func (s *CreateWorkloadShareInput) SetWorkloadId(v string) *CreateWorkloadShareInput {
  4645  	s.WorkloadId = &v
  4646  	return s
  4647  }
  4648  
  4649  // Input for Create Workload Share
  4650  type CreateWorkloadShareOutput struct {
  4651  	_ struct{} `type:"structure"`
  4652  
  4653  	// The ID associated with the workload share.
  4654  	ShareId *string `type:"string"`
  4655  
  4656  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4657  	WorkloadId *string `type:"string"`
  4658  }
  4659  
  4660  // String returns the string representation.
  4661  //
  4662  // API parameter values that are decorated as "sensitive" in the API will not
  4663  // be included in the string output. The member name will be present, but the
  4664  // value will be replaced with "sensitive".
  4665  func (s CreateWorkloadShareOutput) String() string {
  4666  	return awsutil.Prettify(s)
  4667  }
  4668  
  4669  // GoString returns the string representation.
  4670  //
  4671  // API parameter values that are decorated as "sensitive" in the API will not
  4672  // be included in the string output. The member name will be present, but the
  4673  // value will be replaced with "sensitive".
  4674  func (s CreateWorkloadShareOutput) GoString() string {
  4675  	return s.String()
  4676  }
  4677  
  4678  // SetShareId sets the ShareId field's value.
  4679  func (s *CreateWorkloadShareOutput) SetShareId(v string) *CreateWorkloadShareOutput {
  4680  	s.ShareId = &v
  4681  	return s
  4682  }
  4683  
  4684  // SetWorkloadId sets the WorkloadId field's value.
  4685  func (s *CreateWorkloadShareOutput) SetWorkloadId(v string) *CreateWorkloadShareOutput {
  4686  	s.WorkloadId = &v
  4687  	return s
  4688  }
  4689  
  4690  // Input for workload deletion.
  4691  type DeleteWorkloadInput struct {
  4692  	_ struct{} `type:"structure" nopayload:"true"`
  4693  
  4694  	// A unique case-sensitive string used to ensure that this request is idempotent
  4695  	// (executes only once).
  4696  	//
  4697  	// You should not reuse the same token for other requests. If you retry a request
  4698  	// with the same client request token and the same parameters after it has completed
  4699  	// successfully, the result of the original request is returned.
  4700  	//
  4701  	// This token is listed as required, however, if you do not specify it, the
  4702  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  4703  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  4704  	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
  4705  
  4706  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4707  	//
  4708  	// WorkloadId is a required field
  4709  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  4710  }
  4711  
  4712  // String returns the string representation.
  4713  //
  4714  // API parameter values that are decorated as "sensitive" in the API will not
  4715  // be included in the string output. The member name will be present, but the
  4716  // value will be replaced with "sensitive".
  4717  func (s DeleteWorkloadInput) String() string {
  4718  	return awsutil.Prettify(s)
  4719  }
  4720  
  4721  // GoString returns the string representation.
  4722  //
  4723  // API parameter values that are decorated as "sensitive" in the API will not
  4724  // be included in the string output. The member name will be present, but the
  4725  // value will be replaced with "sensitive".
  4726  func (s DeleteWorkloadInput) GoString() string {
  4727  	return s.String()
  4728  }
  4729  
  4730  // Validate inspects the fields of the type to determine if they are valid.
  4731  func (s *DeleteWorkloadInput) Validate() error {
  4732  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadInput"}
  4733  	if s.WorkloadId == nil {
  4734  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  4735  	}
  4736  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  4737  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  4738  	}
  4739  
  4740  	if invalidParams.Len() > 0 {
  4741  		return invalidParams
  4742  	}
  4743  	return nil
  4744  }
  4745  
  4746  // SetClientRequestToken sets the ClientRequestToken field's value.
  4747  func (s *DeleteWorkloadInput) SetClientRequestToken(v string) *DeleteWorkloadInput {
  4748  	s.ClientRequestToken = &v
  4749  	return s
  4750  }
  4751  
  4752  // SetWorkloadId sets the WorkloadId field's value.
  4753  func (s *DeleteWorkloadInput) SetWorkloadId(v string) *DeleteWorkloadInput {
  4754  	s.WorkloadId = &v
  4755  	return s
  4756  }
  4757  
  4758  type DeleteWorkloadOutput struct {
  4759  	_ struct{} `type:"structure" nopayload:"true"`
  4760  }
  4761  
  4762  // String returns the string representation.
  4763  //
  4764  // API parameter values that are decorated as "sensitive" in the API will not
  4765  // be included in the string output. The member name will be present, but the
  4766  // value will be replaced with "sensitive".
  4767  func (s DeleteWorkloadOutput) String() string {
  4768  	return awsutil.Prettify(s)
  4769  }
  4770  
  4771  // GoString returns the string representation.
  4772  //
  4773  // API parameter values that are decorated as "sensitive" in the API will not
  4774  // be included in the string output. The member name will be present, but the
  4775  // value will be replaced with "sensitive".
  4776  func (s DeleteWorkloadOutput) GoString() string {
  4777  	return s.String()
  4778  }
  4779  
  4780  // Input for Delete Workload Share
  4781  type DeleteWorkloadShareInput struct {
  4782  	_ struct{} `type:"structure" nopayload:"true"`
  4783  
  4784  	// A unique case-sensitive string used to ensure that this request is idempotent
  4785  	// (executes only once).
  4786  	//
  4787  	// You should not reuse the same token for other requests. If you retry a request
  4788  	// with the same client request token and the same parameters after it has completed
  4789  	// successfully, the result of the original request is returned.
  4790  	//
  4791  	// This token is listed as required, however, if you do not specify it, the
  4792  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  4793  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  4794  	ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"`
  4795  
  4796  	// The ID associated with the workload share.
  4797  	//
  4798  	// ShareId is a required field
  4799  	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
  4800  
  4801  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4802  	//
  4803  	// WorkloadId is a required field
  4804  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  4805  }
  4806  
  4807  // String returns the string representation.
  4808  //
  4809  // API parameter values that are decorated as "sensitive" in the API will not
  4810  // be included in the string output. The member name will be present, but the
  4811  // value will be replaced with "sensitive".
  4812  func (s DeleteWorkloadShareInput) String() string {
  4813  	return awsutil.Prettify(s)
  4814  }
  4815  
  4816  // GoString returns the string representation.
  4817  //
  4818  // API parameter values that are decorated as "sensitive" in the API will not
  4819  // be included in the string output. The member name will be present, but the
  4820  // value will be replaced with "sensitive".
  4821  func (s DeleteWorkloadShareInput) GoString() string {
  4822  	return s.String()
  4823  }
  4824  
  4825  // Validate inspects the fields of the type to determine if they are valid.
  4826  func (s *DeleteWorkloadShareInput) Validate() error {
  4827  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkloadShareInput"}
  4828  	if s.ShareId == nil {
  4829  		invalidParams.Add(request.NewErrParamRequired("ShareId"))
  4830  	}
  4831  	if s.ShareId != nil && len(*s.ShareId) < 1 {
  4832  		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
  4833  	}
  4834  	if s.WorkloadId == nil {
  4835  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  4836  	}
  4837  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  4838  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  4839  	}
  4840  
  4841  	if invalidParams.Len() > 0 {
  4842  		return invalidParams
  4843  	}
  4844  	return nil
  4845  }
  4846  
  4847  // SetClientRequestToken sets the ClientRequestToken field's value.
  4848  func (s *DeleteWorkloadShareInput) SetClientRequestToken(v string) *DeleteWorkloadShareInput {
  4849  	s.ClientRequestToken = &v
  4850  	return s
  4851  }
  4852  
  4853  // SetShareId sets the ShareId field's value.
  4854  func (s *DeleteWorkloadShareInput) SetShareId(v string) *DeleteWorkloadShareInput {
  4855  	s.ShareId = &v
  4856  	return s
  4857  }
  4858  
  4859  // SetWorkloadId sets the WorkloadId field's value.
  4860  func (s *DeleteWorkloadShareInput) SetWorkloadId(v string) *DeleteWorkloadShareInput {
  4861  	s.WorkloadId = &v
  4862  	return s
  4863  }
  4864  
  4865  type DeleteWorkloadShareOutput struct {
  4866  	_ struct{} `type:"structure" nopayload:"true"`
  4867  }
  4868  
  4869  // String returns the string representation.
  4870  //
  4871  // API parameter values that are decorated as "sensitive" in the API will not
  4872  // be included in the string output. The member name will be present, but the
  4873  // value will be replaced with "sensitive".
  4874  func (s DeleteWorkloadShareOutput) String() string {
  4875  	return awsutil.Prettify(s)
  4876  }
  4877  
  4878  // GoString returns the string representation.
  4879  //
  4880  // API parameter values that are decorated as "sensitive" in the API will not
  4881  // be included in the string output. The member name will be present, but the
  4882  // value will be replaced with "sensitive".
  4883  func (s DeleteWorkloadShareOutput) GoString() string {
  4884  	return s.String()
  4885  }
  4886  
  4887  // Input to disassociate lens reviews.
  4888  type DisassociateLensesInput struct {
  4889  	_ struct{} `type:"structure"`
  4890  
  4891  	// List of lens aliases to associate or disassociate with a workload.
  4892  	//
  4893  	// Identify a lens using its LensSummary$LensAlias.
  4894  	//
  4895  	// LensAliases is a required field
  4896  	LensAliases []*string `min:"1" type:"list" required:"true"`
  4897  
  4898  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  4899  	//
  4900  	// WorkloadId is a required field
  4901  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  4902  }
  4903  
  4904  // String returns the string representation.
  4905  //
  4906  // API parameter values that are decorated as "sensitive" in the API will not
  4907  // be included in the string output. The member name will be present, but the
  4908  // value will be replaced with "sensitive".
  4909  func (s DisassociateLensesInput) String() string {
  4910  	return awsutil.Prettify(s)
  4911  }
  4912  
  4913  // GoString returns the string representation.
  4914  //
  4915  // API parameter values that are decorated as "sensitive" in the API will not
  4916  // be included in the string output. The member name will be present, but the
  4917  // value will be replaced with "sensitive".
  4918  func (s DisassociateLensesInput) GoString() string {
  4919  	return s.String()
  4920  }
  4921  
  4922  // Validate inspects the fields of the type to determine if they are valid.
  4923  func (s *DisassociateLensesInput) Validate() error {
  4924  	invalidParams := request.ErrInvalidParams{Context: "DisassociateLensesInput"}
  4925  	if s.LensAliases == nil {
  4926  		invalidParams.Add(request.NewErrParamRequired("LensAliases"))
  4927  	}
  4928  	if s.LensAliases != nil && len(s.LensAliases) < 1 {
  4929  		invalidParams.Add(request.NewErrParamMinLen("LensAliases", 1))
  4930  	}
  4931  	if s.WorkloadId == nil {
  4932  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  4933  	}
  4934  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  4935  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  4936  	}
  4937  
  4938  	if invalidParams.Len() > 0 {
  4939  		return invalidParams
  4940  	}
  4941  	return nil
  4942  }
  4943  
  4944  // SetLensAliases sets the LensAliases field's value.
  4945  func (s *DisassociateLensesInput) SetLensAliases(v []*string) *DisassociateLensesInput {
  4946  	s.LensAliases = v
  4947  	return s
  4948  }
  4949  
  4950  // SetWorkloadId sets the WorkloadId field's value.
  4951  func (s *DisassociateLensesInput) SetWorkloadId(v string) *DisassociateLensesInput {
  4952  	s.WorkloadId = &v
  4953  	return s
  4954  }
  4955  
  4956  type DisassociateLensesOutput struct {
  4957  	_ struct{} `type:"structure" nopayload:"true"`
  4958  }
  4959  
  4960  // String returns the string representation.
  4961  //
  4962  // API parameter values that are decorated as "sensitive" in the API will not
  4963  // be included in the string output. The member name will be present, but the
  4964  // value will be replaced with "sensitive".
  4965  func (s DisassociateLensesOutput) String() string {
  4966  	return awsutil.Prettify(s)
  4967  }
  4968  
  4969  // GoString returns the string representation.
  4970  //
  4971  // API parameter values that are decorated as "sensitive" in the API will not
  4972  // be included in the string output. The member name will be present, but the
  4973  // value will be replaced with "sensitive".
  4974  func (s DisassociateLensesOutput) GoString() string {
  4975  	return s.String()
  4976  }
  4977  
  4978  // Input to get answer.
  4979  type GetAnswerInput struct {
  4980  	_ struct{} `type:"structure" nopayload:"true"`
  4981  
  4982  	// The alias of the lens, for example, serverless.
  4983  	//
  4984  	// Each lens is identified by its LensSummary$LensAlias.
  4985  	//
  4986  	// LensAlias is a required field
  4987  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  4988  
  4989  	// The milestone number.
  4990  	//
  4991  	// A workload can have a maximum of 100 milestones.
  4992  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  4993  
  4994  	// The ID of the question.
  4995  	//
  4996  	// QuestionId is a required field
  4997  	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
  4998  
  4999  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5000  	//
  5001  	// WorkloadId is a required field
  5002  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  5003  }
  5004  
  5005  // String returns the string representation.
  5006  //
  5007  // API parameter values that are decorated as "sensitive" in the API will not
  5008  // be included in the string output. The member name will be present, but the
  5009  // value will be replaced with "sensitive".
  5010  func (s GetAnswerInput) String() string {
  5011  	return awsutil.Prettify(s)
  5012  }
  5013  
  5014  // GoString returns the string representation.
  5015  //
  5016  // API parameter values that are decorated as "sensitive" in the API will not
  5017  // be included in the string output. The member name will be present, but the
  5018  // value will be replaced with "sensitive".
  5019  func (s GetAnswerInput) GoString() string {
  5020  	return s.String()
  5021  }
  5022  
  5023  // Validate inspects the fields of the type to determine if they are valid.
  5024  func (s *GetAnswerInput) Validate() error {
  5025  	invalidParams := request.ErrInvalidParams{Context: "GetAnswerInput"}
  5026  	if s.LensAlias == nil {
  5027  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  5028  	}
  5029  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  5030  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  5031  	}
  5032  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  5033  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  5034  	}
  5035  	if s.QuestionId == nil {
  5036  		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
  5037  	}
  5038  	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
  5039  		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
  5040  	}
  5041  	if s.WorkloadId == nil {
  5042  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  5043  	}
  5044  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  5045  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  5046  	}
  5047  
  5048  	if invalidParams.Len() > 0 {
  5049  		return invalidParams
  5050  	}
  5051  	return nil
  5052  }
  5053  
  5054  // SetLensAlias sets the LensAlias field's value.
  5055  func (s *GetAnswerInput) SetLensAlias(v string) *GetAnswerInput {
  5056  	s.LensAlias = &v
  5057  	return s
  5058  }
  5059  
  5060  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5061  func (s *GetAnswerInput) SetMilestoneNumber(v int64) *GetAnswerInput {
  5062  	s.MilestoneNumber = &v
  5063  	return s
  5064  }
  5065  
  5066  // SetQuestionId sets the QuestionId field's value.
  5067  func (s *GetAnswerInput) SetQuestionId(v string) *GetAnswerInput {
  5068  	s.QuestionId = &v
  5069  	return s
  5070  }
  5071  
  5072  // SetWorkloadId sets the WorkloadId field's value.
  5073  func (s *GetAnswerInput) SetWorkloadId(v string) *GetAnswerInput {
  5074  	s.WorkloadId = &v
  5075  	return s
  5076  }
  5077  
  5078  // Output of a get answer call.
  5079  type GetAnswerOutput struct {
  5080  	_ struct{} `type:"structure"`
  5081  
  5082  	// An answer of the question.
  5083  	Answer *Answer `type:"structure"`
  5084  
  5085  	// The alias of the lens, for example, serverless.
  5086  	//
  5087  	// Each lens is identified by its LensSummary$LensAlias.
  5088  	LensAlias *string `min:"1" type:"string"`
  5089  
  5090  	// The milestone number.
  5091  	//
  5092  	// A workload can have a maximum of 100 milestones.
  5093  	MilestoneNumber *int64 `min:"1" type:"integer"`
  5094  
  5095  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5096  	WorkloadId *string `type:"string"`
  5097  }
  5098  
  5099  // String returns the string representation.
  5100  //
  5101  // API parameter values that are decorated as "sensitive" in the API will not
  5102  // be included in the string output. The member name will be present, but the
  5103  // value will be replaced with "sensitive".
  5104  func (s GetAnswerOutput) String() string {
  5105  	return awsutil.Prettify(s)
  5106  }
  5107  
  5108  // GoString returns the string representation.
  5109  //
  5110  // API parameter values that are decorated as "sensitive" in the API will not
  5111  // be included in the string output. The member name will be present, but the
  5112  // value will be replaced with "sensitive".
  5113  func (s GetAnswerOutput) GoString() string {
  5114  	return s.String()
  5115  }
  5116  
  5117  // SetAnswer sets the Answer field's value.
  5118  func (s *GetAnswerOutput) SetAnswer(v *Answer) *GetAnswerOutput {
  5119  	s.Answer = v
  5120  	return s
  5121  }
  5122  
  5123  // SetLensAlias sets the LensAlias field's value.
  5124  func (s *GetAnswerOutput) SetLensAlias(v string) *GetAnswerOutput {
  5125  	s.LensAlias = &v
  5126  	return s
  5127  }
  5128  
  5129  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5130  func (s *GetAnswerOutput) SetMilestoneNumber(v int64) *GetAnswerOutput {
  5131  	s.MilestoneNumber = &v
  5132  	return s
  5133  }
  5134  
  5135  // SetWorkloadId sets the WorkloadId field's value.
  5136  func (s *GetAnswerOutput) SetWorkloadId(v string) *GetAnswerOutput {
  5137  	s.WorkloadId = &v
  5138  	return s
  5139  }
  5140  
  5141  // Input to get lens review.
  5142  type GetLensReviewInput struct {
  5143  	_ struct{} `type:"structure" nopayload:"true"`
  5144  
  5145  	// The alias of the lens, for example, serverless.
  5146  	//
  5147  	// Each lens is identified by its LensSummary$LensAlias.
  5148  	//
  5149  	// LensAlias is a required field
  5150  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  5151  
  5152  	// The milestone number.
  5153  	//
  5154  	// A workload can have a maximum of 100 milestones.
  5155  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  5156  
  5157  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5158  	//
  5159  	// WorkloadId is a required field
  5160  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  5161  }
  5162  
  5163  // String returns the string representation.
  5164  //
  5165  // API parameter values that are decorated as "sensitive" in the API will not
  5166  // be included in the string output. The member name will be present, but the
  5167  // value will be replaced with "sensitive".
  5168  func (s GetLensReviewInput) String() string {
  5169  	return awsutil.Prettify(s)
  5170  }
  5171  
  5172  // GoString returns the string representation.
  5173  //
  5174  // API parameter values that are decorated as "sensitive" in the API will not
  5175  // be included in the string output. The member name will be present, but the
  5176  // value will be replaced with "sensitive".
  5177  func (s GetLensReviewInput) GoString() string {
  5178  	return s.String()
  5179  }
  5180  
  5181  // Validate inspects the fields of the type to determine if they are valid.
  5182  func (s *GetLensReviewInput) Validate() error {
  5183  	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewInput"}
  5184  	if s.LensAlias == nil {
  5185  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  5186  	}
  5187  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  5188  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  5189  	}
  5190  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  5191  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  5192  	}
  5193  	if s.WorkloadId == nil {
  5194  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  5195  	}
  5196  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  5197  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  5198  	}
  5199  
  5200  	if invalidParams.Len() > 0 {
  5201  		return invalidParams
  5202  	}
  5203  	return nil
  5204  }
  5205  
  5206  // SetLensAlias sets the LensAlias field's value.
  5207  func (s *GetLensReviewInput) SetLensAlias(v string) *GetLensReviewInput {
  5208  	s.LensAlias = &v
  5209  	return s
  5210  }
  5211  
  5212  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5213  func (s *GetLensReviewInput) SetMilestoneNumber(v int64) *GetLensReviewInput {
  5214  	s.MilestoneNumber = &v
  5215  	return s
  5216  }
  5217  
  5218  // SetWorkloadId sets the WorkloadId field's value.
  5219  func (s *GetLensReviewInput) SetWorkloadId(v string) *GetLensReviewInput {
  5220  	s.WorkloadId = &v
  5221  	return s
  5222  }
  5223  
  5224  // Output of a get lens review call.
  5225  type GetLensReviewOutput struct {
  5226  	_ struct{} `type:"structure"`
  5227  
  5228  	// A lens review of a question.
  5229  	LensReview *LensReview `type:"structure"`
  5230  
  5231  	// The milestone number.
  5232  	//
  5233  	// A workload can have a maximum of 100 milestones.
  5234  	MilestoneNumber *int64 `min:"1" type:"integer"`
  5235  
  5236  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5237  	WorkloadId *string `type:"string"`
  5238  }
  5239  
  5240  // String returns the string representation.
  5241  //
  5242  // API parameter values that are decorated as "sensitive" in the API will not
  5243  // be included in the string output. The member name will be present, but the
  5244  // value will be replaced with "sensitive".
  5245  func (s GetLensReviewOutput) String() string {
  5246  	return awsutil.Prettify(s)
  5247  }
  5248  
  5249  // GoString returns the string representation.
  5250  //
  5251  // API parameter values that are decorated as "sensitive" in the API will not
  5252  // be included in the string output. The member name will be present, but the
  5253  // value will be replaced with "sensitive".
  5254  func (s GetLensReviewOutput) GoString() string {
  5255  	return s.String()
  5256  }
  5257  
  5258  // SetLensReview sets the LensReview field's value.
  5259  func (s *GetLensReviewOutput) SetLensReview(v *LensReview) *GetLensReviewOutput {
  5260  	s.LensReview = v
  5261  	return s
  5262  }
  5263  
  5264  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5265  func (s *GetLensReviewOutput) SetMilestoneNumber(v int64) *GetLensReviewOutput {
  5266  	s.MilestoneNumber = &v
  5267  	return s
  5268  }
  5269  
  5270  // SetWorkloadId sets the WorkloadId field's value.
  5271  func (s *GetLensReviewOutput) SetWorkloadId(v string) *GetLensReviewOutput {
  5272  	s.WorkloadId = &v
  5273  	return s
  5274  }
  5275  
  5276  // Input to get lens review report.
  5277  type GetLensReviewReportInput struct {
  5278  	_ struct{} `type:"structure" nopayload:"true"`
  5279  
  5280  	// The alias of the lens, for example, serverless.
  5281  	//
  5282  	// Each lens is identified by its LensSummary$LensAlias.
  5283  	//
  5284  	// LensAlias is a required field
  5285  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  5286  
  5287  	// The milestone number.
  5288  	//
  5289  	// A workload can have a maximum of 100 milestones.
  5290  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  5291  
  5292  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5293  	//
  5294  	// WorkloadId is a required field
  5295  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  5296  }
  5297  
  5298  // String returns the string representation.
  5299  //
  5300  // API parameter values that are decorated as "sensitive" in the API will not
  5301  // be included in the string output. The member name will be present, but the
  5302  // value will be replaced with "sensitive".
  5303  func (s GetLensReviewReportInput) String() string {
  5304  	return awsutil.Prettify(s)
  5305  }
  5306  
  5307  // GoString returns the string representation.
  5308  //
  5309  // API parameter values that are decorated as "sensitive" in the API will not
  5310  // be included in the string output. The member name will be present, but the
  5311  // value will be replaced with "sensitive".
  5312  func (s GetLensReviewReportInput) GoString() string {
  5313  	return s.String()
  5314  }
  5315  
  5316  // Validate inspects the fields of the type to determine if they are valid.
  5317  func (s *GetLensReviewReportInput) Validate() error {
  5318  	invalidParams := request.ErrInvalidParams{Context: "GetLensReviewReportInput"}
  5319  	if s.LensAlias == nil {
  5320  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  5321  	}
  5322  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  5323  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  5324  	}
  5325  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  5326  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  5327  	}
  5328  	if s.WorkloadId == nil {
  5329  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  5330  	}
  5331  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  5332  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  5333  	}
  5334  
  5335  	if invalidParams.Len() > 0 {
  5336  		return invalidParams
  5337  	}
  5338  	return nil
  5339  }
  5340  
  5341  // SetLensAlias sets the LensAlias field's value.
  5342  func (s *GetLensReviewReportInput) SetLensAlias(v string) *GetLensReviewReportInput {
  5343  	s.LensAlias = &v
  5344  	return s
  5345  }
  5346  
  5347  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5348  func (s *GetLensReviewReportInput) SetMilestoneNumber(v int64) *GetLensReviewReportInput {
  5349  	s.MilestoneNumber = &v
  5350  	return s
  5351  }
  5352  
  5353  // SetWorkloadId sets the WorkloadId field's value.
  5354  func (s *GetLensReviewReportInput) SetWorkloadId(v string) *GetLensReviewReportInput {
  5355  	s.WorkloadId = &v
  5356  	return s
  5357  }
  5358  
  5359  // Output of a get lens review report call.
  5360  type GetLensReviewReportOutput struct {
  5361  	_ struct{} `type:"structure"`
  5362  
  5363  	// A report of a lens review.
  5364  	LensReviewReport *LensReviewReport `type:"structure"`
  5365  
  5366  	// The milestone number.
  5367  	//
  5368  	// A workload can have a maximum of 100 milestones.
  5369  	MilestoneNumber *int64 `min:"1" type:"integer"`
  5370  
  5371  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5372  	WorkloadId *string `type:"string"`
  5373  }
  5374  
  5375  // String returns the string representation.
  5376  //
  5377  // API parameter values that are decorated as "sensitive" in the API will not
  5378  // be included in the string output. The member name will be present, but the
  5379  // value will be replaced with "sensitive".
  5380  func (s GetLensReviewReportOutput) String() string {
  5381  	return awsutil.Prettify(s)
  5382  }
  5383  
  5384  // GoString returns the string representation.
  5385  //
  5386  // API parameter values that are decorated as "sensitive" in the API will not
  5387  // be included in the string output. The member name will be present, but the
  5388  // value will be replaced with "sensitive".
  5389  func (s GetLensReviewReportOutput) GoString() string {
  5390  	return s.String()
  5391  }
  5392  
  5393  // SetLensReviewReport sets the LensReviewReport field's value.
  5394  func (s *GetLensReviewReportOutput) SetLensReviewReport(v *LensReviewReport) *GetLensReviewReportOutput {
  5395  	s.LensReviewReport = v
  5396  	return s
  5397  }
  5398  
  5399  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5400  func (s *GetLensReviewReportOutput) SetMilestoneNumber(v int64) *GetLensReviewReportOutput {
  5401  	s.MilestoneNumber = &v
  5402  	return s
  5403  }
  5404  
  5405  // SetWorkloadId sets the WorkloadId field's value.
  5406  func (s *GetLensReviewReportOutput) SetWorkloadId(v string) *GetLensReviewReportOutput {
  5407  	s.WorkloadId = &v
  5408  	return s
  5409  }
  5410  
  5411  type GetLensVersionDifferenceInput struct {
  5412  	_ struct{} `type:"structure" nopayload:"true"`
  5413  
  5414  	// The base version of the lens.
  5415  	//
  5416  	// BaseLensVersion is a required field
  5417  	BaseLensVersion *string `location:"querystring" locationName:"BaseLensVersion" min:"1" type:"string" required:"true"`
  5418  
  5419  	// The alias of the lens, for example, serverless.
  5420  	//
  5421  	// Each lens is identified by its LensSummary$LensAlias.
  5422  	//
  5423  	// LensAlias is a required field
  5424  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  5425  }
  5426  
  5427  // String returns the string representation.
  5428  //
  5429  // API parameter values that are decorated as "sensitive" in the API will not
  5430  // be included in the string output. The member name will be present, but the
  5431  // value will be replaced with "sensitive".
  5432  func (s GetLensVersionDifferenceInput) String() string {
  5433  	return awsutil.Prettify(s)
  5434  }
  5435  
  5436  // GoString returns the string representation.
  5437  //
  5438  // API parameter values that are decorated as "sensitive" in the API will not
  5439  // be included in the string output. The member name will be present, but the
  5440  // value will be replaced with "sensitive".
  5441  func (s GetLensVersionDifferenceInput) GoString() string {
  5442  	return s.String()
  5443  }
  5444  
  5445  // Validate inspects the fields of the type to determine if they are valid.
  5446  func (s *GetLensVersionDifferenceInput) Validate() error {
  5447  	invalidParams := request.ErrInvalidParams{Context: "GetLensVersionDifferenceInput"}
  5448  	if s.BaseLensVersion == nil {
  5449  		invalidParams.Add(request.NewErrParamRequired("BaseLensVersion"))
  5450  	}
  5451  	if s.BaseLensVersion != nil && len(*s.BaseLensVersion) < 1 {
  5452  		invalidParams.Add(request.NewErrParamMinLen("BaseLensVersion", 1))
  5453  	}
  5454  	if s.LensAlias == nil {
  5455  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  5456  	}
  5457  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  5458  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  5459  	}
  5460  
  5461  	if invalidParams.Len() > 0 {
  5462  		return invalidParams
  5463  	}
  5464  	return nil
  5465  }
  5466  
  5467  // SetBaseLensVersion sets the BaseLensVersion field's value.
  5468  func (s *GetLensVersionDifferenceInput) SetBaseLensVersion(v string) *GetLensVersionDifferenceInput {
  5469  	s.BaseLensVersion = &v
  5470  	return s
  5471  }
  5472  
  5473  // SetLensAlias sets the LensAlias field's value.
  5474  func (s *GetLensVersionDifferenceInput) SetLensAlias(v string) *GetLensVersionDifferenceInput {
  5475  	s.LensAlias = &v
  5476  	return s
  5477  }
  5478  
  5479  type GetLensVersionDifferenceOutput struct {
  5480  	_ struct{} `type:"structure"`
  5481  
  5482  	// The base version of the lens.
  5483  	BaseLensVersion *string `min:"1" type:"string"`
  5484  
  5485  	// The latest version of the lens.
  5486  	LatestLensVersion *string `min:"1" type:"string"`
  5487  
  5488  	// The alias of the lens, for example, serverless.
  5489  	//
  5490  	// Each lens is identified by its LensSummary$LensAlias.
  5491  	LensAlias *string `min:"1" type:"string"`
  5492  
  5493  	// The differences between the base and latest versions of the lens.
  5494  	VersionDifferences *VersionDifferences `type:"structure"`
  5495  }
  5496  
  5497  // String returns the string representation.
  5498  //
  5499  // API parameter values that are decorated as "sensitive" in the API will not
  5500  // be included in the string output. The member name will be present, but the
  5501  // value will be replaced with "sensitive".
  5502  func (s GetLensVersionDifferenceOutput) String() string {
  5503  	return awsutil.Prettify(s)
  5504  }
  5505  
  5506  // GoString returns the string representation.
  5507  //
  5508  // API parameter values that are decorated as "sensitive" in the API will not
  5509  // be included in the string output. The member name will be present, but the
  5510  // value will be replaced with "sensitive".
  5511  func (s GetLensVersionDifferenceOutput) GoString() string {
  5512  	return s.String()
  5513  }
  5514  
  5515  // SetBaseLensVersion sets the BaseLensVersion field's value.
  5516  func (s *GetLensVersionDifferenceOutput) SetBaseLensVersion(v string) *GetLensVersionDifferenceOutput {
  5517  	s.BaseLensVersion = &v
  5518  	return s
  5519  }
  5520  
  5521  // SetLatestLensVersion sets the LatestLensVersion field's value.
  5522  func (s *GetLensVersionDifferenceOutput) SetLatestLensVersion(v string) *GetLensVersionDifferenceOutput {
  5523  	s.LatestLensVersion = &v
  5524  	return s
  5525  }
  5526  
  5527  // SetLensAlias sets the LensAlias field's value.
  5528  func (s *GetLensVersionDifferenceOutput) SetLensAlias(v string) *GetLensVersionDifferenceOutput {
  5529  	s.LensAlias = &v
  5530  	return s
  5531  }
  5532  
  5533  // SetVersionDifferences sets the VersionDifferences field's value.
  5534  func (s *GetLensVersionDifferenceOutput) SetVersionDifferences(v *VersionDifferences) *GetLensVersionDifferenceOutput {
  5535  	s.VersionDifferences = v
  5536  	return s
  5537  }
  5538  
  5539  // Input to get a milestone.
  5540  type GetMilestoneInput struct {
  5541  	_ struct{} `type:"structure" nopayload:"true"`
  5542  
  5543  	// The milestone number.
  5544  	//
  5545  	// A workload can have a maximum of 100 milestones.
  5546  	//
  5547  	// MilestoneNumber is a required field
  5548  	MilestoneNumber *int64 `location:"uri" locationName:"MilestoneNumber" min:"1" type:"integer" required:"true"`
  5549  
  5550  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5551  	//
  5552  	// WorkloadId is a required field
  5553  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  5554  }
  5555  
  5556  // String returns the string representation.
  5557  //
  5558  // API parameter values that are decorated as "sensitive" in the API will not
  5559  // be included in the string output. The member name will be present, but the
  5560  // value will be replaced with "sensitive".
  5561  func (s GetMilestoneInput) String() string {
  5562  	return awsutil.Prettify(s)
  5563  }
  5564  
  5565  // GoString returns the string representation.
  5566  //
  5567  // API parameter values that are decorated as "sensitive" in the API will not
  5568  // be included in the string output. The member name will be present, but the
  5569  // value will be replaced with "sensitive".
  5570  func (s GetMilestoneInput) GoString() string {
  5571  	return s.String()
  5572  }
  5573  
  5574  // Validate inspects the fields of the type to determine if they are valid.
  5575  func (s *GetMilestoneInput) Validate() error {
  5576  	invalidParams := request.ErrInvalidParams{Context: "GetMilestoneInput"}
  5577  	if s.MilestoneNumber == nil {
  5578  		invalidParams.Add(request.NewErrParamRequired("MilestoneNumber"))
  5579  	}
  5580  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  5581  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  5582  	}
  5583  	if s.WorkloadId == nil {
  5584  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  5585  	}
  5586  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  5587  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  5588  	}
  5589  
  5590  	if invalidParams.Len() > 0 {
  5591  		return invalidParams
  5592  	}
  5593  	return nil
  5594  }
  5595  
  5596  // SetMilestoneNumber sets the MilestoneNumber field's value.
  5597  func (s *GetMilestoneInput) SetMilestoneNumber(v int64) *GetMilestoneInput {
  5598  	s.MilestoneNumber = &v
  5599  	return s
  5600  }
  5601  
  5602  // SetWorkloadId sets the WorkloadId field's value.
  5603  func (s *GetMilestoneInput) SetWorkloadId(v string) *GetMilestoneInput {
  5604  	s.WorkloadId = &v
  5605  	return s
  5606  }
  5607  
  5608  // Output of a get milestone call.
  5609  type GetMilestoneOutput struct {
  5610  	_ struct{} `type:"structure"`
  5611  
  5612  	// A milestone return object.
  5613  	Milestone *Milestone `type:"structure"`
  5614  
  5615  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5616  	WorkloadId *string `type:"string"`
  5617  }
  5618  
  5619  // String returns the string representation.
  5620  //
  5621  // API parameter values that are decorated as "sensitive" in the API will not
  5622  // be included in the string output. The member name will be present, but the
  5623  // value will be replaced with "sensitive".
  5624  func (s GetMilestoneOutput) String() string {
  5625  	return awsutil.Prettify(s)
  5626  }
  5627  
  5628  // GoString returns the string representation.
  5629  //
  5630  // API parameter values that are decorated as "sensitive" in the API will not
  5631  // be included in the string output. The member name will be present, but the
  5632  // value will be replaced with "sensitive".
  5633  func (s GetMilestoneOutput) GoString() string {
  5634  	return s.String()
  5635  }
  5636  
  5637  // SetMilestone sets the Milestone field's value.
  5638  func (s *GetMilestoneOutput) SetMilestone(v *Milestone) *GetMilestoneOutput {
  5639  	s.Milestone = v
  5640  	return s
  5641  }
  5642  
  5643  // SetWorkloadId sets the WorkloadId field's value.
  5644  func (s *GetMilestoneOutput) SetWorkloadId(v string) *GetMilestoneOutput {
  5645  	s.WorkloadId = &v
  5646  	return s
  5647  }
  5648  
  5649  // Input to get a workload.
  5650  type GetWorkloadInput struct {
  5651  	_ struct{} `type:"structure" nopayload:"true"`
  5652  
  5653  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  5654  	//
  5655  	// WorkloadId is a required field
  5656  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  5657  }
  5658  
  5659  // String returns the string representation.
  5660  //
  5661  // API parameter values that are decorated as "sensitive" in the API will not
  5662  // be included in the string output. The member name will be present, but the
  5663  // value will be replaced with "sensitive".
  5664  func (s GetWorkloadInput) String() string {
  5665  	return awsutil.Prettify(s)
  5666  }
  5667  
  5668  // GoString returns the string representation.
  5669  //
  5670  // API parameter values that are decorated as "sensitive" in the API will not
  5671  // be included in the string output. The member name will be present, but the
  5672  // value will be replaced with "sensitive".
  5673  func (s GetWorkloadInput) GoString() string {
  5674  	return s.String()
  5675  }
  5676  
  5677  // Validate inspects the fields of the type to determine if they are valid.
  5678  func (s *GetWorkloadInput) Validate() error {
  5679  	invalidParams := request.ErrInvalidParams{Context: "GetWorkloadInput"}
  5680  	if s.WorkloadId == nil {
  5681  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  5682  	}
  5683  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  5684  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  5685  	}
  5686  
  5687  	if invalidParams.Len() > 0 {
  5688  		return invalidParams
  5689  	}
  5690  	return nil
  5691  }
  5692  
  5693  // SetWorkloadId sets the WorkloadId field's value.
  5694  func (s *GetWorkloadInput) SetWorkloadId(v string) *GetWorkloadInput {
  5695  	s.WorkloadId = &v
  5696  	return s
  5697  }
  5698  
  5699  // Output of a get workload call.
  5700  type GetWorkloadOutput struct {
  5701  	_ struct{} `type:"structure"`
  5702  
  5703  	// A workload return object.
  5704  	Workload *Workload `type:"structure"`
  5705  }
  5706  
  5707  // String returns the string representation.
  5708  //
  5709  // API parameter values that are decorated as "sensitive" in the API will not
  5710  // be included in the string output. The member name will be present, but the
  5711  // value will be replaced with "sensitive".
  5712  func (s GetWorkloadOutput) String() string {
  5713  	return awsutil.Prettify(s)
  5714  }
  5715  
  5716  // GoString returns the string representation.
  5717  //
  5718  // API parameter values that are decorated as "sensitive" in the API will not
  5719  // be included in the string output. The member name will be present, but the
  5720  // value will be replaced with "sensitive".
  5721  func (s GetWorkloadOutput) GoString() string {
  5722  	return s.String()
  5723  }
  5724  
  5725  // SetWorkload sets the Workload field's value.
  5726  func (s *GetWorkloadOutput) SetWorkload(v *Workload) *GetWorkloadOutput {
  5727  	s.Workload = v
  5728  	return s
  5729  }
  5730  
  5731  // An improvement summary of a lens review in a workload.
  5732  type ImprovementSummary struct {
  5733  	_ struct{} `type:"structure"`
  5734  
  5735  	// The improvement plan URL for a question.
  5736  	//
  5737  	// This value is only available if the question has been answered.
  5738  	ImprovementPlanUrl *string `min:"1" type:"string"`
  5739  
  5740  	// The ID used to identify a pillar, for example, security.
  5741  	//
  5742  	// A pillar is identified by its PillarReviewSummary$PillarId.
  5743  	PillarId *string `min:"1" type:"string"`
  5744  
  5745  	// The ID of the question.
  5746  	QuestionId *string `min:"1" type:"string"`
  5747  
  5748  	// The title of the question.
  5749  	QuestionTitle *string `min:"1" type:"string"`
  5750  
  5751  	// The risk for a given workload, lens review, pillar, or question.
  5752  	Risk *string `type:"string" enum:"Risk"`
  5753  }
  5754  
  5755  // String returns the string representation.
  5756  //
  5757  // API parameter values that are decorated as "sensitive" in the API will not
  5758  // be included in the string output. The member name will be present, but the
  5759  // value will be replaced with "sensitive".
  5760  func (s ImprovementSummary) String() string {
  5761  	return awsutil.Prettify(s)
  5762  }
  5763  
  5764  // GoString returns the string representation.
  5765  //
  5766  // API parameter values that are decorated as "sensitive" in the API will not
  5767  // be included in the string output. The member name will be present, but the
  5768  // value will be replaced with "sensitive".
  5769  func (s ImprovementSummary) GoString() string {
  5770  	return s.String()
  5771  }
  5772  
  5773  // SetImprovementPlanUrl sets the ImprovementPlanUrl field's value.
  5774  func (s *ImprovementSummary) SetImprovementPlanUrl(v string) *ImprovementSummary {
  5775  	s.ImprovementPlanUrl = &v
  5776  	return s
  5777  }
  5778  
  5779  // SetPillarId sets the PillarId field's value.
  5780  func (s *ImprovementSummary) SetPillarId(v string) *ImprovementSummary {
  5781  	s.PillarId = &v
  5782  	return s
  5783  }
  5784  
  5785  // SetQuestionId sets the QuestionId field's value.
  5786  func (s *ImprovementSummary) SetQuestionId(v string) *ImprovementSummary {
  5787  	s.QuestionId = &v
  5788  	return s
  5789  }
  5790  
  5791  // SetQuestionTitle sets the QuestionTitle field's value.
  5792  func (s *ImprovementSummary) SetQuestionTitle(v string) *ImprovementSummary {
  5793  	s.QuestionTitle = &v
  5794  	return s
  5795  }
  5796  
  5797  // SetRisk sets the Risk field's value.
  5798  func (s *ImprovementSummary) SetRisk(v string) *ImprovementSummary {
  5799  	s.Risk = &v
  5800  	return s
  5801  }
  5802  
  5803  // There is a problem with the AWS Well-Architected Tool API service.
  5804  type InternalServerException struct {
  5805  	_            struct{}                  `type:"structure"`
  5806  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5807  
  5808  	// Description of the error.
  5809  	Message_ *string `locationName:"Message" type:"string"`
  5810  }
  5811  
  5812  // String returns the string representation.
  5813  //
  5814  // API parameter values that are decorated as "sensitive" in the API will not
  5815  // be included in the string output. The member name will be present, but the
  5816  // value will be replaced with "sensitive".
  5817  func (s InternalServerException) String() string {
  5818  	return awsutil.Prettify(s)
  5819  }
  5820  
  5821  // GoString returns the string representation.
  5822  //
  5823  // API parameter values that are decorated as "sensitive" in the API will not
  5824  // be included in the string output. The member name will be present, but the
  5825  // value will be replaced with "sensitive".
  5826  func (s InternalServerException) GoString() string {
  5827  	return s.String()
  5828  }
  5829  
  5830  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  5831  	return &InternalServerException{
  5832  		RespMetadata: v,
  5833  	}
  5834  }
  5835  
  5836  // Code returns the exception type name.
  5837  func (s *InternalServerException) Code() string {
  5838  	return "InternalServerException"
  5839  }
  5840  
  5841  // Message returns the exception's message.
  5842  func (s *InternalServerException) Message() string {
  5843  	if s.Message_ != nil {
  5844  		return *s.Message_
  5845  	}
  5846  	return ""
  5847  }
  5848  
  5849  // OrigErr always returns nil, satisfies awserr.Error interface.
  5850  func (s *InternalServerException) OrigErr() error {
  5851  	return nil
  5852  }
  5853  
  5854  func (s *InternalServerException) Error() string {
  5855  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5856  }
  5857  
  5858  // Status code returns the HTTP status code for the request's response error.
  5859  func (s *InternalServerException) StatusCode() int {
  5860  	return s.RespMetadata.StatusCode
  5861  }
  5862  
  5863  // RequestID returns the service's response RequestID for request.
  5864  func (s *InternalServerException) RequestID() string {
  5865  	return s.RespMetadata.RequestID
  5866  }
  5867  
  5868  // A lens review of a question.
  5869  type LensReview struct {
  5870  	_ struct{} `type:"structure"`
  5871  
  5872  	// The alias of the lens, for example, serverless.
  5873  	//
  5874  	// Each lens is identified by its LensSummary$LensAlias.
  5875  	LensAlias *string `min:"1" type:"string"`
  5876  
  5877  	// The full name of the lens.
  5878  	LensName *string `min:"1" type:"string"`
  5879  
  5880  	// The status of the lens.
  5881  	LensStatus *string `type:"string" enum:"LensStatus"`
  5882  
  5883  	// The version of the lens.
  5884  	LensVersion *string `min:"1" type:"string"`
  5885  
  5886  	// The token to use to retrieve the next set of results.
  5887  	NextToken *string `type:"string"`
  5888  
  5889  	// The notes associated with the workload.
  5890  	Notes *string `type:"string"`
  5891  
  5892  	// List of pillar review summaries of lens review in a workload.
  5893  	PillarReviewSummaries []*PillarReviewSummary `type:"list"`
  5894  
  5895  	// A map from risk names to the count of how questions have that rating.
  5896  	RiskCounts map[string]*int64 `type:"map"`
  5897  
  5898  	// The date and time recorded.
  5899  	UpdatedAt *time.Time `type:"timestamp"`
  5900  }
  5901  
  5902  // String returns the string representation.
  5903  //
  5904  // API parameter values that are decorated as "sensitive" in the API will not
  5905  // be included in the string output. The member name will be present, but the
  5906  // value will be replaced with "sensitive".
  5907  func (s LensReview) String() string {
  5908  	return awsutil.Prettify(s)
  5909  }
  5910  
  5911  // GoString returns the string representation.
  5912  //
  5913  // API parameter values that are decorated as "sensitive" in the API will not
  5914  // be included in the string output. The member name will be present, but the
  5915  // value will be replaced with "sensitive".
  5916  func (s LensReview) GoString() string {
  5917  	return s.String()
  5918  }
  5919  
  5920  // SetLensAlias sets the LensAlias field's value.
  5921  func (s *LensReview) SetLensAlias(v string) *LensReview {
  5922  	s.LensAlias = &v
  5923  	return s
  5924  }
  5925  
  5926  // SetLensName sets the LensName field's value.
  5927  func (s *LensReview) SetLensName(v string) *LensReview {
  5928  	s.LensName = &v
  5929  	return s
  5930  }
  5931  
  5932  // SetLensStatus sets the LensStatus field's value.
  5933  func (s *LensReview) SetLensStatus(v string) *LensReview {
  5934  	s.LensStatus = &v
  5935  	return s
  5936  }
  5937  
  5938  // SetLensVersion sets the LensVersion field's value.
  5939  func (s *LensReview) SetLensVersion(v string) *LensReview {
  5940  	s.LensVersion = &v
  5941  	return s
  5942  }
  5943  
  5944  // SetNextToken sets the NextToken field's value.
  5945  func (s *LensReview) SetNextToken(v string) *LensReview {
  5946  	s.NextToken = &v
  5947  	return s
  5948  }
  5949  
  5950  // SetNotes sets the Notes field's value.
  5951  func (s *LensReview) SetNotes(v string) *LensReview {
  5952  	s.Notes = &v
  5953  	return s
  5954  }
  5955  
  5956  // SetPillarReviewSummaries sets the PillarReviewSummaries field's value.
  5957  func (s *LensReview) SetPillarReviewSummaries(v []*PillarReviewSummary) *LensReview {
  5958  	s.PillarReviewSummaries = v
  5959  	return s
  5960  }
  5961  
  5962  // SetRiskCounts sets the RiskCounts field's value.
  5963  func (s *LensReview) SetRiskCounts(v map[string]*int64) *LensReview {
  5964  	s.RiskCounts = v
  5965  	return s
  5966  }
  5967  
  5968  // SetUpdatedAt sets the UpdatedAt field's value.
  5969  func (s *LensReview) SetUpdatedAt(v time.Time) *LensReview {
  5970  	s.UpdatedAt = &v
  5971  	return s
  5972  }
  5973  
  5974  // A report of a lens review.
  5975  type LensReviewReport struct {
  5976  	_ struct{} `type:"structure"`
  5977  
  5978  	// The Base64-encoded string representation of a lens review report.
  5979  	//
  5980  	// This data can be used to create a PDF file.
  5981  	Base64String *string `type:"string"`
  5982  
  5983  	// The alias of the lens, for example, serverless.
  5984  	//
  5985  	// Each lens is identified by its LensSummary$LensAlias.
  5986  	LensAlias *string `min:"1" type:"string"`
  5987  }
  5988  
  5989  // String returns the string representation.
  5990  //
  5991  // API parameter values that are decorated as "sensitive" in the API will not
  5992  // be included in the string output. The member name will be present, but the
  5993  // value will be replaced with "sensitive".
  5994  func (s LensReviewReport) String() string {
  5995  	return awsutil.Prettify(s)
  5996  }
  5997  
  5998  // GoString returns the string representation.
  5999  //
  6000  // API parameter values that are decorated as "sensitive" in the API will not
  6001  // be included in the string output. The member name will be present, but the
  6002  // value will be replaced with "sensitive".
  6003  func (s LensReviewReport) GoString() string {
  6004  	return s.String()
  6005  }
  6006  
  6007  // SetBase64String sets the Base64String field's value.
  6008  func (s *LensReviewReport) SetBase64String(v string) *LensReviewReport {
  6009  	s.Base64String = &v
  6010  	return s
  6011  }
  6012  
  6013  // SetLensAlias sets the LensAlias field's value.
  6014  func (s *LensReviewReport) SetLensAlias(v string) *LensReviewReport {
  6015  	s.LensAlias = &v
  6016  	return s
  6017  }
  6018  
  6019  // A lens review summary of a workload.
  6020  type LensReviewSummary struct {
  6021  	_ struct{} `type:"structure"`
  6022  
  6023  	// The alias of the lens, for example, serverless.
  6024  	//
  6025  	// Each lens is identified by its LensSummary$LensAlias.
  6026  	LensAlias *string `min:"1" type:"string"`
  6027  
  6028  	// The full name of the lens.
  6029  	LensName *string `min:"1" type:"string"`
  6030  
  6031  	// The status of the lens.
  6032  	LensStatus *string `type:"string" enum:"LensStatus"`
  6033  
  6034  	// The version of the lens.
  6035  	LensVersion *string `min:"1" type:"string"`
  6036  
  6037  	// A map from risk names to the count of how questions have that rating.
  6038  	RiskCounts map[string]*int64 `type:"map"`
  6039  
  6040  	// The date and time recorded.
  6041  	UpdatedAt *time.Time `type:"timestamp"`
  6042  }
  6043  
  6044  // String returns the string representation.
  6045  //
  6046  // API parameter values that are decorated as "sensitive" in the API will not
  6047  // be included in the string output. The member name will be present, but the
  6048  // value will be replaced with "sensitive".
  6049  func (s LensReviewSummary) String() string {
  6050  	return awsutil.Prettify(s)
  6051  }
  6052  
  6053  // GoString returns the string representation.
  6054  //
  6055  // API parameter values that are decorated as "sensitive" in the API will not
  6056  // be included in the string output. The member name will be present, but the
  6057  // value will be replaced with "sensitive".
  6058  func (s LensReviewSummary) GoString() string {
  6059  	return s.String()
  6060  }
  6061  
  6062  // SetLensAlias sets the LensAlias field's value.
  6063  func (s *LensReviewSummary) SetLensAlias(v string) *LensReviewSummary {
  6064  	s.LensAlias = &v
  6065  	return s
  6066  }
  6067  
  6068  // SetLensName sets the LensName field's value.
  6069  func (s *LensReviewSummary) SetLensName(v string) *LensReviewSummary {
  6070  	s.LensName = &v
  6071  	return s
  6072  }
  6073  
  6074  // SetLensStatus sets the LensStatus field's value.
  6075  func (s *LensReviewSummary) SetLensStatus(v string) *LensReviewSummary {
  6076  	s.LensStatus = &v
  6077  	return s
  6078  }
  6079  
  6080  // SetLensVersion sets the LensVersion field's value.
  6081  func (s *LensReviewSummary) SetLensVersion(v string) *LensReviewSummary {
  6082  	s.LensVersion = &v
  6083  	return s
  6084  }
  6085  
  6086  // SetRiskCounts sets the RiskCounts field's value.
  6087  func (s *LensReviewSummary) SetRiskCounts(v map[string]*int64) *LensReviewSummary {
  6088  	s.RiskCounts = v
  6089  	return s
  6090  }
  6091  
  6092  // SetUpdatedAt sets the UpdatedAt field's value.
  6093  func (s *LensReviewSummary) SetUpdatedAt(v time.Time) *LensReviewSummary {
  6094  	s.UpdatedAt = &v
  6095  	return s
  6096  }
  6097  
  6098  // A lens summary of a lens.
  6099  type LensSummary struct {
  6100  	_ struct{} `type:"structure"`
  6101  
  6102  	// The description of the lens.
  6103  	Description *string `min:"1" type:"string"`
  6104  
  6105  	// The alias of the lens, for example, serverless.
  6106  	//
  6107  	// Each lens is identified by its LensSummary$LensAlias.
  6108  	LensAlias *string `min:"1" type:"string"`
  6109  
  6110  	// The full name of the lens.
  6111  	LensName *string `min:"1" type:"string"`
  6112  
  6113  	// The version of the lens.
  6114  	LensVersion *string `min:"1" type:"string"`
  6115  }
  6116  
  6117  // String returns the string representation.
  6118  //
  6119  // API parameter values that are decorated as "sensitive" in the API will not
  6120  // be included in the string output. The member name will be present, but the
  6121  // value will be replaced with "sensitive".
  6122  func (s LensSummary) String() string {
  6123  	return awsutil.Prettify(s)
  6124  }
  6125  
  6126  // GoString returns the string representation.
  6127  //
  6128  // API parameter values that are decorated as "sensitive" in the API will not
  6129  // be included in the string output. The member name will be present, but the
  6130  // value will be replaced with "sensitive".
  6131  func (s LensSummary) GoString() string {
  6132  	return s.String()
  6133  }
  6134  
  6135  // SetDescription sets the Description field's value.
  6136  func (s *LensSummary) SetDescription(v string) *LensSummary {
  6137  	s.Description = &v
  6138  	return s
  6139  }
  6140  
  6141  // SetLensAlias sets the LensAlias field's value.
  6142  func (s *LensSummary) SetLensAlias(v string) *LensSummary {
  6143  	s.LensAlias = &v
  6144  	return s
  6145  }
  6146  
  6147  // SetLensName sets the LensName field's value.
  6148  func (s *LensSummary) SetLensName(v string) *LensSummary {
  6149  	s.LensName = &v
  6150  	return s
  6151  }
  6152  
  6153  // SetLensVersion sets the LensVersion field's value.
  6154  func (s *LensSummary) SetLensVersion(v string) *LensSummary {
  6155  	s.LensVersion = &v
  6156  	return s
  6157  }
  6158  
  6159  // Lens upgrade summary return object.
  6160  type LensUpgradeSummary struct {
  6161  	_ struct{} `type:"structure"`
  6162  
  6163  	// The current version of the lens.
  6164  	CurrentLensVersion *string `min:"1" type:"string"`
  6165  
  6166  	// The latest version of the lens.
  6167  	LatestLensVersion *string `min:"1" type:"string"`
  6168  
  6169  	// The alias of the lens, for example, serverless.
  6170  	//
  6171  	// Each lens is identified by its LensSummary$LensAlias.
  6172  	LensAlias *string `min:"1" type:"string"`
  6173  
  6174  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6175  	WorkloadId *string `type:"string"`
  6176  
  6177  	// The name of the workload.
  6178  	//
  6179  	// The name must be unique within an account within a Region. Spaces and capitalization
  6180  	// are ignored when checking for uniqueness.
  6181  	WorkloadName *string `min:"3" type:"string"`
  6182  }
  6183  
  6184  // String returns the string representation.
  6185  //
  6186  // API parameter values that are decorated as "sensitive" in the API will not
  6187  // be included in the string output. The member name will be present, but the
  6188  // value will be replaced with "sensitive".
  6189  func (s LensUpgradeSummary) String() string {
  6190  	return awsutil.Prettify(s)
  6191  }
  6192  
  6193  // GoString returns the string representation.
  6194  //
  6195  // API parameter values that are decorated as "sensitive" in the API will not
  6196  // be included in the string output. The member name will be present, but the
  6197  // value will be replaced with "sensitive".
  6198  func (s LensUpgradeSummary) GoString() string {
  6199  	return s.String()
  6200  }
  6201  
  6202  // SetCurrentLensVersion sets the CurrentLensVersion field's value.
  6203  func (s *LensUpgradeSummary) SetCurrentLensVersion(v string) *LensUpgradeSummary {
  6204  	s.CurrentLensVersion = &v
  6205  	return s
  6206  }
  6207  
  6208  // SetLatestLensVersion sets the LatestLensVersion field's value.
  6209  func (s *LensUpgradeSummary) SetLatestLensVersion(v string) *LensUpgradeSummary {
  6210  	s.LatestLensVersion = &v
  6211  	return s
  6212  }
  6213  
  6214  // SetLensAlias sets the LensAlias field's value.
  6215  func (s *LensUpgradeSummary) SetLensAlias(v string) *LensUpgradeSummary {
  6216  	s.LensAlias = &v
  6217  	return s
  6218  }
  6219  
  6220  // SetWorkloadId sets the WorkloadId field's value.
  6221  func (s *LensUpgradeSummary) SetWorkloadId(v string) *LensUpgradeSummary {
  6222  	s.WorkloadId = &v
  6223  	return s
  6224  }
  6225  
  6226  // SetWorkloadName sets the WorkloadName field's value.
  6227  func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary {
  6228  	s.WorkloadName = &v
  6229  	return s
  6230  }
  6231  
  6232  // Input to list answers.
  6233  type ListAnswersInput struct {
  6234  	_ struct{} `type:"structure" nopayload:"true"`
  6235  
  6236  	// The alias of the lens, for example, serverless.
  6237  	//
  6238  	// Each lens is identified by its LensSummary$LensAlias.
  6239  	//
  6240  	// LensAlias is a required field
  6241  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  6242  
  6243  	// The maximum number of results to return for this request.
  6244  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  6245  
  6246  	// The milestone number.
  6247  	//
  6248  	// A workload can have a maximum of 100 milestones.
  6249  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  6250  
  6251  	// The token to use to retrieve the next set of results.
  6252  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  6253  
  6254  	// The ID used to identify a pillar, for example, security.
  6255  	//
  6256  	// A pillar is identified by its PillarReviewSummary$PillarId.
  6257  	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
  6258  
  6259  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6260  	//
  6261  	// WorkloadId is a required field
  6262  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  6263  }
  6264  
  6265  // String returns the string representation.
  6266  //
  6267  // API parameter values that are decorated as "sensitive" in the API will not
  6268  // be included in the string output. The member name will be present, but the
  6269  // value will be replaced with "sensitive".
  6270  func (s ListAnswersInput) String() string {
  6271  	return awsutil.Prettify(s)
  6272  }
  6273  
  6274  // GoString returns the string representation.
  6275  //
  6276  // API parameter values that are decorated as "sensitive" in the API will not
  6277  // be included in the string output. The member name will be present, but the
  6278  // value will be replaced with "sensitive".
  6279  func (s ListAnswersInput) GoString() string {
  6280  	return s.String()
  6281  }
  6282  
  6283  // Validate inspects the fields of the type to determine if they are valid.
  6284  func (s *ListAnswersInput) Validate() error {
  6285  	invalidParams := request.ErrInvalidParams{Context: "ListAnswersInput"}
  6286  	if s.LensAlias == nil {
  6287  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  6288  	}
  6289  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  6290  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  6291  	}
  6292  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6293  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6294  	}
  6295  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  6296  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  6297  	}
  6298  	if s.PillarId != nil && len(*s.PillarId) < 1 {
  6299  		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
  6300  	}
  6301  	if s.WorkloadId == nil {
  6302  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  6303  	}
  6304  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  6305  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  6306  	}
  6307  
  6308  	if invalidParams.Len() > 0 {
  6309  		return invalidParams
  6310  	}
  6311  	return nil
  6312  }
  6313  
  6314  // SetLensAlias sets the LensAlias field's value.
  6315  func (s *ListAnswersInput) SetLensAlias(v string) *ListAnswersInput {
  6316  	s.LensAlias = &v
  6317  	return s
  6318  }
  6319  
  6320  // SetMaxResults sets the MaxResults field's value.
  6321  func (s *ListAnswersInput) SetMaxResults(v int64) *ListAnswersInput {
  6322  	s.MaxResults = &v
  6323  	return s
  6324  }
  6325  
  6326  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6327  func (s *ListAnswersInput) SetMilestoneNumber(v int64) *ListAnswersInput {
  6328  	s.MilestoneNumber = &v
  6329  	return s
  6330  }
  6331  
  6332  // SetNextToken sets the NextToken field's value.
  6333  func (s *ListAnswersInput) SetNextToken(v string) *ListAnswersInput {
  6334  	s.NextToken = &v
  6335  	return s
  6336  }
  6337  
  6338  // SetPillarId sets the PillarId field's value.
  6339  func (s *ListAnswersInput) SetPillarId(v string) *ListAnswersInput {
  6340  	s.PillarId = &v
  6341  	return s
  6342  }
  6343  
  6344  // SetWorkloadId sets the WorkloadId field's value.
  6345  func (s *ListAnswersInput) SetWorkloadId(v string) *ListAnswersInput {
  6346  	s.WorkloadId = &v
  6347  	return s
  6348  }
  6349  
  6350  // Output of a list answers call.
  6351  type ListAnswersOutput struct {
  6352  	_ struct{} `type:"structure"`
  6353  
  6354  	// List of answer summaries of lens review in a workload.
  6355  	AnswerSummaries []*AnswerSummary `type:"list"`
  6356  
  6357  	// The alias of the lens, for example, serverless.
  6358  	//
  6359  	// Each lens is identified by its LensSummary$LensAlias.
  6360  	LensAlias *string `min:"1" type:"string"`
  6361  
  6362  	// The milestone number.
  6363  	//
  6364  	// A workload can have a maximum of 100 milestones.
  6365  	MilestoneNumber *int64 `min:"1" type:"integer"`
  6366  
  6367  	// The token to use to retrieve the next set of results.
  6368  	NextToken *string `type:"string"`
  6369  
  6370  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6371  	WorkloadId *string `type:"string"`
  6372  }
  6373  
  6374  // String returns the string representation.
  6375  //
  6376  // API parameter values that are decorated as "sensitive" in the API will not
  6377  // be included in the string output. The member name will be present, but the
  6378  // value will be replaced with "sensitive".
  6379  func (s ListAnswersOutput) String() string {
  6380  	return awsutil.Prettify(s)
  6381  }
  6382  
  6383  // GoString returns the string representation.
  6384  //
  6385  // API parameter values that are decorated as "sensitive" in the API will not
  6386  // be included in the string output. The member name will be present, but the
  6387  // value will be replaced with "sensitive".
  6388  func (s ListAnswersOutput) GoString() string {
  6389  	return s.String()
  6390  }
  6391  
  6392  // SetAnswerSummaries sets the AnswerSummaries field's value.
  6393  func (s *ListAnswersOutput) SetAnswerSummaries(v []*AnswerSummary) *ListAnswersOutput {
  6394  	s.AnswerSummaries = v
  6395  	return s
  6396  }
  6397  
  6398  // SetLensAlias sets the LensAlias field's value.
  6399  func (s *ListAnswersOutput) SetLensAlias(v string) *ListAnswersOutput {
  6400  	s.LensAlias = &v
  6401  	return s
  6402  }
  6403  
  6404  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6405  func (s *ListAnswersOutput) SetMilestoneNumber(v int64) *ListAnswersOutput {
  6406  	s.MilestoneNumber = &v
  6407  	return s
  6408  }
  6409  
  6410  // SetNextToken sets the NextToken field's value.
  6411  func (s *ListAnswersOutput) SetNextToken(v string) *ListAnswersOutput {
  6412  	s.NextToken = &v
  6413  	return s
  6414  }
  6415  
  6416  // SetWorkloadId sets the WorkloadId field's value.
  6417  func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput {
  6418  	s.WorkloadId = &v
  6419  	return s
  6420  }
  6421  
  6422  // Input to list lens review improvements.
  6423  type ListLensReviewImprovementsInput struct {
  6424  	_ struct{} `type:"structure" nopayload:"true"`
  6425  
  6426  	// The alias of the lens, for example, serverless.
  6427  	//
  6428  	// Each lens is identified by its LensSummary$LensAlias.
  6429  	//
  6430  	// LensAlias is a required field
  6431  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  6432  
  6433  	// The maximum number of results to return for this request.
  6434  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  6435  
  6436  	// The milestone number.
  6437  	//
  6438  	// A workload can have a maximum of 100 milestones.
  6439  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  6440  
  6441  	// The token to use to retrieve the next set of results.
  6442  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  6443  
  6444  	// The ID used to identify a pillar, for example, security.
  6445  	//
  6446  	// A pillar is identified by its PillarReviewSummary$PillarId.
  6447  	PillarId *string `location:"querystring" locationName:"PillarId" min:"1" type:"string"`
  6448  
  6449  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6450  	//
  6451  	// WorkloadId is a required field
  6452  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  6453  }
  6454  
  6455  // String returns the string representation.
  6456  //
  6457  // API parameter values that are decorated as "sensitive" in the API will not
  6458  // be included in the string output. The member name will be present, but the
  6459  // value will be replaced with "sensitive".
  6460  func (s ListLensReviewImprovementsInput) String() string {
  6461  	return awsutil.Prettify(s)
  6462  }
  6463  
  6464  // GoString returns the string representation.
  6465  //
  6466  // API parameter values that are decorated as "sensitive" in the API will not
  6467  // be included in the string output. The member name will be present, but the
  6468  // value will be replaced with "sensitive".
  6469  func (s ListLensReviewImprovementsInput) GoString() string {
  6470  	return s.String()
  6471  }
  6472  
  6473  // Validate inspects the fields of the type to determine if they are valid.
  6474  func (s *ListLensReviewImprovementsInput) Validate() error {
  6475  	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewImprovementsInput"}
  6476  	if s.LensAlias == nil {
  6477  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  6478  	}
  6479  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  6480  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  6481  	}
  6482  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6483  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6484  	}
  6485  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  6486  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  6487  	}
  6488  	if s.PillarId != nil && len(*s.PillarId) < 1 {
  6489  		invalidParams.Add(request.NewErrParamMinLen("PillarId", 1))
  6490  	}
  6491  	if s.WorkloadId == nil {
  6492  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  6493  	}
  6494  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  6495  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  6496  	}
  6497  
  6498  	if invalidParams.Len() > 0 {
  6499  		return invalidParams
  6500  	}
  6501  	return nil
  6502  }
  6503  
  6504  // SetLensAlias sets the LensAlias field's value.
  6505  func (s *ListLensReviewImprovementsInput) SetLensAlias(v string) *ListLensReviewImprovementsInput {
  6506  	s.LensAlias = &v
  6507  	return s
  6508  }
  6509  
  6510  // SetMaxResults sets the MaxResults field's value.
  6511  func (s *ListLensReviewImprovementsInput) SetMaxResults(v int64) *ListLensReviewImprovementsInput {
  6512  	s.MaxResults = &v
  6513  	return s
  6514  }
  6515  
  6516  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6517  func (s *ListLensReviewImprovementsInput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsInput {
  6518  	s.MilestoneNumber = &v
  6519  	return s
  6520  }
  6521  
  6522  // SetNextToken sets the NextToken field's value.
  6523  func (s *ListLensReviewImprovementsInput) SetNextToken(v string) *ListLensReviewImprovementsInput {
  6524  	s.NextToken = &v
  6525  	return s
  6526  }
  6527  
  6528  // SetPillarId sets the PillarId field's value.
  6529  func (s *ListLensReviewImprovementsInput) SetPillarId(v string) *ListLensReviewImprovementsInput {
  6530  	s.PillarId = &v
  6531  	return s
  6532  }
  6533  
  6534  // SetWorkloadId sets the WorkloadId field's value.
  6535  func (s *ListLensReviewImprovementsInput) SetWorkloadId(v string) *ListLensReviewImprovementsInput {
  6536  	s.WorkloadId = &v
  6537  	return s
  6538  }
  6539  
  6540  // Output of a list lens review improvements call.
  6541  type ListLensReviewImprovementsOutput struct {
  6542  	_ struct{} `type:"structure"`
  6543  
  6544  	// List of improvement summaries of lens review in a workload.
  6545  	ImprovementSummaries []*ImprovementSummary `type:"list"`
  6546  
  6547  	// The alias of the lens, for example, serverless.
  6548  	//
  6549  	// Each lens is identified by its LensSummary$LensAlias.
  6550  	LensAlias *string `min:"1" type:"string"`
  6551  
  6552  	// The milestone number.
  6553  	//
  6554  	// A workload can have a maximum of 100 milestones.
  6555  	MilestoneNumber *int64 `min:"1" type:"integer"`
  6556  
  6557  	// The token to use to retrieve the next set of results.
  6558  	NextToken *string `type:"string"`
  6559  
  6560  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6561  	WorkloadId *string `type:"string"`
  6562  }
  6563  
  6564  // String returns the string representation.
  6565  //
  6566  // API parameter values that are decorated as "sensitive" in the API will not
  6567  // be included in the string output. The member name will be present, but the
  6568  // value will be replaced with "sensitive".
  6569  func (s ListLensReviewImprovementsOutput) String() string {
  6570  	return awsutil.Prettify(s)
  6571  }
  6572  
  6573  // GoString returns the string representation.
  6574  //
  6575  // API parameter values that are decorated as "sensitive" in the API will not
  6576  // be included in the string output. The member name will be present, but the
  6577  // value will be replaced with "sensitive".
  6578  func (s ListLensReviewImprovementsOutput) GoString() string {
  6579  	return s.String()
  6580  }
  6581  
  6582  // SetImprovementSummaries sets the ImprovementSummaries field's value.
  6583  func (s *ListLensReviewImprovementsOutput) SetImprovementSummaries(v []*ImprovementSummary) *ListLensReviewImprovementsOutput {
  6584  	s.ImprovementSummaries = v
  6585  	return s
  6586  }
  6587  
  6588  // SetLensAlias sets the LensAlias field's value.
  6589  func (s *ListLensReviewImprovementsOutput) SetLensAlias(v string) *ListLensReviewImprovementsOutput {
  6590  	s.LensAlias = &v
  6591  	return s
  6592  }
  6593  
  6594  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6595  func (s *ListLensReviewImprovementsOutput) SetMilestoneNumber(v int64) *ListLensReviewImprovementsOutput {
  6596  	s.MilestoneNumber = &v
  6597  	return s
  6598  }
  6599  
  6600  // SetNextToken sets the NextToken field's value.
  6601  func (s *ListLensReviewImprovementsOutput) SetNextToken(v string) *ListLensReviewImprovementsOutput {
  6602  	s.NextToken = &v
  6603  	return s
  6604  }
  6605  
  6606  // SetWorkloadId sets the WorkloadId field's value.
  6607  func (s *ListLensReviewImprovementsOutput) SetWorkloadId(v string) *ListLensReviewImprovementsOutput {
  6608  	s.WorkloadId = &v
  6609  	return s
  6610  }
  6611  
  6612  // Input to list lens reviews.
  6613  type ListLensReviewsInput struct {
  6614  	_ struct{} `type:"structure" nopayload:"true"`
  6615  
  6616  	// The maximum number of results to return for this request.
  6617  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  6618  
  6619  	// The milestone number.
  6620  	//
  6621  	// A workload can have a maximum of 100 milestones.
  6622  	MilestoneNumber *int64 `location:"querystring" locationName:"MilestoneNumber" min:"1" type:"integer"`
  6623  
  6624  	// The token to use to retrieve the next set of results.
  6625  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  6626  
  6627  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6628  	//
  6629  	// WorkloadId is a required field
  6630  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  6631  }
  6632  
  6633  // String returns the string representation.
  6634  //
  6635  // API parameter values that are decorated as "sensitive" in the API will not
  6636  // be included in the string output. The member name will be present, but the
  6637  // value will be replaced with "sensitive".
  6638  func (s ListLensReviewsInput) String() string {
  6639  	return awsutil.Prettify(s)
  6640  }
  6641  
  6642  // GoString returns the string representation.
  6643  //
  6644  // API parameter values that are decorated as "sensitive" in the API will not
  6645  // be included in the string output. The member name will be present, but the
  6646  // value will be replaced with "sensitive".
  6647  func (s ListLensReviewsInput) GoString() string {
  6648  	return s.String()
  6649  }
  6650  
  6651  // Validate inspects the fields of the type to determine if they are valid.
  6652  func (s *ListLensReviewsInput) Validate() error {
  6653  	invalidParams := request.ErrInvalidParams{Context: "ListLensReviewsInput"}
  6654  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6655  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6656  	}
  6657  	if s.MilestoneNumber != nil && *s.MilestoneNumber < 1 {
  6658  		invalidParams.Add(request.NewErrParamMinValue("MilestoneNumber", 1))
  6659  	}
  6660  	if s.WorkloadId == nil {
  6661  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  6662  	}
  6663  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  6664  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  6665  	}
  6666  
  6667  	if invalidParams.Len() > 0 {
  6668  		return invalidParams
  6669  	}
  6670  	return nil
  6671  }
  6672  
  6673  // SetMaxResults sets the MaxResults field's value.
  6674  func (s *ListLensReviewsInput) SetMaxResults(v int64) *ListLensReviewsInput {
  6675  	s.MaxResults = &v
  6676  	return s
  6677  }
  6678  
  6679  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6680  func (s *ListLensReviewsInput) SetMilestoneNumber(v int64) *ListLensReviewsInput {
  6681  	s.MilestoneNumber = &v
  6682  	return s
  6683  }
  6684  
  6685  // SetNextToken sets the NextToken field's value.
  6686  func (s *ListLensReviewsInput) SetNextToken(v string) *ListLensReviewsInput {
  6687  	s.NextToken = &v
  6688  	return s
  6689  }
  6690  
  6691  // SetWorkloadId sets the WorkloadId field's value.
  6692  func (s *ListLensReviewsInput) SetWorkloadId(v string) *ListLensReviewsInput {
  6693  	s.WorkloadId = &v
  6694  	return s
  6695  }
  6696  
  6697  // Output of a list lens reviews call.
  6698  type ListLensReviewsOutput struct {
  6699  	_ struct{} `type:"structure"`
  6700  
  6701  	// List of lens summaries of lens reviews of a workload.
  6702  	LensReviewSummaries []*LensReviewSummary `type:"list"`
  6703  
  6704  	// The milestone number.
  6705  	//
  6706  	// A workload can have a maximum of 100 milestones.
  6707  	MilestoneNumber *int64 `min:"1" type:"integer"`
  6708  
  6709  	// The token to use to retrieve the next set of results.
  6710  	NextToken *string `type:"string"`
  6711  
  6712  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6713  	WorkloadId *string `type:"string"`
  6714  }
  6715  
  6716  // String returns the string representation.
  6717  //
  6718  // API parameter values that are decorated as "sensitive" in the API will not
  6719  // be included in the string output. The member name will be present, but the
  6720  // value will be replaced with "sensitive".
  6721  func (s ListLensReviewsOutput) String() string {
  6722  	return awsutil.Prettify(s)
  6723  }
  6724  
  6725  // GoString returns the string representation.
  6726  //
  6727  // API parameter values that are decorated as "sensitive" in the API will not
  6728  // be included in the string output. The member name will be present, but the
  6729  // value will be replaced with "sensitive".
  6730  func (s ListLensReviewsOutput) GoString() string {
  6731  	return s.String()
  6732  }
  6733  
  6734  // SetLensReviewSummaries sets the LensReviewSummaries field's value.
  6735  func (s *ListLensReviewsOutput) SetLensReviewSummaries(v []*LensReviewSummary) *ListLensReviewsOutput {
  6736  	s.LensReviewSummaries = v
  6737  	return s
  6738  }
  6739  
  6740  // SetMilestoneNumber sets the MilestoneNumber field's value.
  6741  func (s *ListLensReviewsOutput) SetMilestoneNumber(v int64) *ListLensReviewsOutput {
  6742  	s.MilestoneNumber = &v
  6743  	return s
  6744  }
  6745  
  6746  // SetNextToken sets the NextToken field's value.
  6747  func (s *ListLensReviewsOutput) SetNextToken(v string) *ListLensReviewsOutput {
  6748  	s.NextToken = &v
  6749  	return s
  6750  }
  6751  
  6752  // SetWorkloadId sets the WorkloadId field's value.
  6753  func (s *ListLensReviewsOutput) SetWorkloadId(v string) *ListLensReviewsOutput {
  6754  	s.WorkloadId = &v
  6755  	return s
  6756  }
  6757  
  6758  // Input to list lenses.
  6759  type ListLensesInput struct {
  6760  	_ struct{} `type:"structure" nopayload:"true"`
  6761  
  6762  	// The maximum number of results to return for this request.
  6763  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  6764  
  6765  	// The token to use to retrieve the next set of results.
  6766  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  6767  }
  6768  
  6769  // String returns the string representation.
  6770  //
  6771  // API parameter values that are decorated as "sensitive" in the API will not
  6772  // be included in the string output. The member name will be present, but the
  6773  // value will be replaced with "sensitive".
  6774  func (s ListLensesInput) String() string {
  6775  	return awsutil.Prettify(s)
  6776  }
  6777  
  6778  // GoString returns the string representation.
  6779  //
  6780  // API parameter values that are decorated as "sensitive" in the API will not
  6781  // be included in the string output. The member name will be present, but the
  6782  // value will be replaced with "sensitive".
  6783  func (s ListLensesInput) GoString() string {
  6784  	return s.String()
  6785  }
  6786  
  6787  // Validate inspects the fields of the type to determine if they are valid.
  6788  func (s *ListLensesInput) Validate() error {
  6789  	invalidParams := request.ErrInvalidParams{Context: "ListLensesInput"}
  6790  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6791  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6792  	}
  6793  
  6794  	if invalidParams.Len() > 0 {
  6795  		return invalidParams
  6796  	}
  6797  	return nil
  6798  }
  6799  
  6800  // SetMaxResults sets the MaxResults field's value.
  6801  func (s *ListLensesInput) SetMaxResults(v int64) *ListLensesInput {
  6802  	s.MaxResults = &v
  6803  	return s
  6804  }
  6805  
  6806  // SetNextToken sets the NextToken field's value.
  6807  func (s *ListLensesInput) SetNextToken(v string) *ListLensesInput {
  6808  	s.NextToken = &v
  6809  	return s
  6810  }
  6811  
  6812  // Output of a list lenses call.
  6813  type ListLensesOutput struct {
  6814  	_ struct{} `type:"structure"`
  6815  
  6816  	// List of lens summaries of available lenses.
  6817  	LensSummaries []*LensSummary `type:"list"`
  6818  
  6819  	// The token to use to retrieve the next set of results.
  6820  	NextToken *string `type:"string"`
  6821  }
  6822  
  6823  // String returns the string representation.
  6824  //
  6825  // API parameter values that are decorated as "sensitive" in the API will not
  6826  // be included in the string output. The member name will be present, but the
  6827  // value will be replaced with "sensitive".
  6828  func (s ListLensesOutput) String() string {
  6829  	return awsutil.Prettify(s)
  6830  }
  6831  
  6832  // GoString returns the string representation.
  6833  //
  6834  // API parameter values that are decorated as "sensitive" in the API will not
  6835  // be included in the string output. The member name will be present, but the
  6836  // value will be replaced with "sensitive".
  6837  func (s ListLensesOutput) GoString() string {
  6838  	return s.String()
  6839  }
  6840  
  6841  // SetLensSummaries sets the LensSummaries field's value.
  6842  func (s *ListLensesOutput) SetLensSummaries(v []*LensSummary) *ListLensesOutput {
  6843  	s.LensSummaries = v
  6844  	return s
  6845  }
  6846  
  6847  // SetNextToken sets the NextToken field's value.
  6848  func (s *ListLensesOutput) SetNextToken(v string) *ListLensesOutput {
  6849  	s.NextToken = &v
  6850  	return s
  6851  }
  6852  
  6853  // Input to list all milestones for a workload.
  6854  type ListMilestonesInput struct {
  6855  	_ struct{} `type:"structure"`
  6856  
  6857  	// The maximum number of results to return for this request.
  6858  	MaxResults *int64 `min:"1" type:"integer"`
  6859  
  6860  	// The token to use to retrieve the next set of results.
  6861  	NextToken *string `type:"string"`
  6862  
  6863  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6864  	//
  6865  	// WorkloadId is a required field
  6866  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s ListMilestonesInput) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s ListMilestonesInput) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // Validate inspects the fields of the type to determine if they are valid.
  6888  func (s *ListMilestonesInput) Validate() error {
  6889  	invalidParams := request.ErrInvalidParams{Context: "ListMilestonesInput"}
  6890  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6891  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6892  	}
  6893  	if s.WorkloadId == nil {
  6894  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  6895  	}
  6896  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  6897  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  6898  	}
  6899  
  6900  	if invalidParams.Len() > 0 {
  6901  		return invalidParams
  6902  	}
  6903  	return nil
  6904  }
  6905  
  6906  // SetMaxResults sets the MaxResults field's value.
  6907  func (s *ListMilestonesInput) SetMaxResults(v int64) *ListMilestonesInput {
  6908  	s.MaxResults = &v
  6909  	return s
  6910  }
  6911  
  6912  // SetNextToken sets the NextToken field's value.
  6913  func (s *ListMilestonesInput) SetNextToken(v string) *ListMilestonesInput {
  6914  	s.NextToken = &v
  6915  	return s
  6916  }
  6917  
  6918  // SetWorkloadId sets the WorkloadId field's value.
  6919  func (s *ListMilestonesInput) SetWorkloadId(v string) *ListMilestonesInput {
  6920  	s.WorkloadId = &v
  6921  	return s
  6922  }
  6923  
  6924  // Output of a list milestones call.
  6925  type ListMilestonesOutput struct {
  6926  	_ struct{} `type:"structure"`
  6927  
  6928  	// A list of milestone summaries.
  6929  	MilestoneSummaries []*MilestoneSummary `type:"list"`
  6930  
  6931  	// The token to use to retrieve the next set of results.
  6932  	NextToken *string `type:"string"`
  6933  
  6934  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6935  	WorkloadId *string `type:"string"`
  6936  }
  6937  
  6938  // String returns the string representation.
  6939  //
  6940  // API parameter values that are decorated as "sensitive" in the API will not
  6941  // be included in the string output. The member name will be present, but the
  6942  // value will be replaced with "sensitive".
  6943  func (s ListMilestonesOutput) String() string {
  6944  	return awsutil.Prettify(s)
  6945  }
  6946  
  6947  // GoString returns the string representation.
  6948  //
  6949  // API parameter values that are decorated as "sensitive" in the API will not
  6950  // be included in the string output. The member name will be present, but the
  6951  // value will be replaced with "sensitive".
  6952  func (s ListMilestonesOutput) GoString() string {
  6953  	return s.String()
  6954  }
  6955  
  6956  // SetMilestoneSummaries sets the MilestoneSummaries field's value.
  6957  func (s *ListMilestonesOutput) SetMilestoneSummaries(v []*MilestoneSummary) *ListMilestonesOutput {
  6958  	s.MilestoneSummaries = v
  6959  	return s
  6960  }
  6961  
  6962  // SetNextToken sets the NextToken field's value.
  6963  func (s *ListMilestonesOutput) SetNextToken(v string) *ListMilestonesOutput {
  6964  	s.NextToken = &v
  6965  	return s
  6966  }
  6967  
  6968  // SetWorkloadId sets the WorkloadId field's value.
  6969  func (s *ListMilestonesOutput) SetWorkloadId(v string) *ListMilestonesOutput {
  6970  	s.WorkloadId = &v
  6971  	return s
  6972  }
  6973  
  6974  type ListNotificationsInput struct {
  6975  	_ struct{} `type:"structure"`
  6976  
  6977  	// The maximum number of results to return for this request.
  6978  	MaxResults *int64 `min:"1" type:"integer"`
  6979  
  6980  	// The token to use to retrieve the next set of results.
  6981  	NextToken *string `type:"string"`
  6982  
  6983  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  6984  	WorkloadId *string `type:"string"`
  6985  }
  6986  
  6987  // String returns the string representation.
  6988  //
  6989  // API parameter values that are decorated as "sensitive" in the API will not
  6990  // be included in the string output. The member name will be present, but the
  6991  // value will be replaced with "sensitive".
  6992  func (s ListNotificationsInput) String() string {
  6993  	return awsutil.Prettify(s)
  6994  }
  6995  
  6996  // GoString returns the string representation.
  6997  //
  6998  // API parameter values that are decorated as "sensitive" in the API will not
  6999  // be included in the string output. The member name will be present, but the
  7000  // value will be replaced with "sensitive".
  7001  func (s ListNotificationsInput) GoString() string {
  7002  	return s.String()
  7003  }
  7004  
  7005  // Validate inspects the fields of the type to determine if they are valid.
  7006  func (s *ListNotificationsInput) Validate() error {
  7007  	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
  7008  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7009  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7010  	}
  7011  
  7012  	if invalidParams.Len() > 0 {
  7013  		return invalidParams
  7014  	}
  7015  	return nil
  7016  }
  7017  
  7018  // SetMaxResults sets the MaxResults field's value.
  7019  func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
  7020  	s.MaxResults = &v
  7021  	return s
  7022  }
  7023  
  7024  // SetNextToken sets the NextToken field's value.
  7025  func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
  7026  	s.NextToken = &v
  7027  	return s
  7028  }
  7029  
  7030  // SetWorkloadId sets the WorkloadId field's value.
  7031  func (s *ListNotificationsInput) SetWorkloadId(v string) *ListNotificationsInput {
  7032  	s.WorkloadId = &v
  7033  	return s
  7034  }
  7035  
  7036  type ListNotificationsOutput struct {
  7037  	_ struct{} `type:"structure"`
  7038  
  7039  	// The token to use to retrieve the next set of results.
  7040  	NextToken *string `type:"string"`
  7041  
  7042  	// List of lens notification summaries in a workload.
  7043  	NotificationSummaries []*NotificationSummary `type:"list"`
  7044  }
  7045  
  7046  // String returns the string representation.
  7047  //
  7048  // API parameter values that are decorated as "sensitive" in the API will not
  7049  // be included in the string output. The member name will be present, but the
  7050  // value will be replaced with "sensitive".
  7051  func (s ListNotificationsOutput) String() string {
  7052  	return awsutil.Prettify(s)
  7053  }
  7054  
  7055  // GoString returns the string representation.
  7056  //
  7057  // API parameter values that are decorated as "sensitive" in the API will not
  7058  // be included in the string output. The member name will be present, but the
  7059  // value will be replaced with "sensitive".
  7060  func (s ListNotificationsOutput) GoString() string {
  7061  	return s.String()
  7062  }
  7063  
  7064  // SetNextToken sets the NextToken field's value.
  7065  func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
  7066  	s.NextToken = &v
  7067  	return s
  7068  }
  7069  
  7070  // SetNotificationSummaries sets the NotificationSummaries field's value.
  7071  func (s *ListNotificationsOutput) SetNotificationSummaries(v []*NotificationSummary) *ListNotificationsOutput {
  7072  	s.NotificationSummaries = v
  7073  	return s
  7074  }
  7075  
  7076  // Input for List Share Invitations
  7077  type ListShareInvitationsInput struct {
  7078  	_ struct{} `type:"structure" nopayload:"true"`
  7079  
  7080  	// The maximum number of results to return for this request.
  7081  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  7082  
  7083  	// The token to use to retrieve the next set of results.
  7084  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  7085  
  7086  	// An optional string added to the beginning of each workload name returned
  7087  	// in the results.
  7088  	WorkloadNamePrefix *string `location:"querystring" locationName:"WorkloadNamePrefix" type:"string"`
  7089  }
  7090  
  7091  // String returns the string representation.
  7092  //
  7093  // API parameter values that are decorated as "sensitive" in the API will not
  7094  // be included in the string output. The member name will be present, but the
  7095  // value will be replaced with "sensitive".
  7096  func (s ListShareInvitationsInput) String() string {
  7097  	return awsutil.Prettify(s)
  7098  }
  7099  
  7100  // GoString returns the string representation.
  7101  //
  7102  // API parameter values that are decorated as "sensitive" in the API will not
  7103  // be included in the string output. The member name will be present, but the
  7104  // value will be replaced with "sensitive".
  7105  func (s ListShareInvitationsInput) GoString() string {
  7106  	return s.String()
  7107  }
  7108  
  7109  // Validate inspects the fields of the type to determine if they are valid.
  7110  func (s *ListShareInvitationsInput) Validate() error {
  7111  	invalidParams := request.ErrInvalidParams{Context: "ListShareInvitationsInput"}
  7112  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7113  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7114  	}
  7115  
  7116  	if invalidParams.Len() > 0 {
  7117  		return invalidParams
  7118  	}
  7119  	return nil
  7120  }
  7121  
  7122  // SetMaxResults sets the MaxResults field's value.
  7123  func (s *ListShareInvitationsInput) SetMaxResults(v int64) *ListShareInvitationsInput {
  7124  	s.MaxResults = &v
  7125  	return s
  7126  }
  7127  
  7128  // SetNextToken sets the NextToken field's value.
  7129  func (s *ListShareInvitationsInput) SetNextToken(v string) *ListShareInvitationsInput {
  7130  	s.NextToken = &v
  7131  	return s
  7132  }
  7133  
  7134  // SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
  7135  func (s *ListShareInvitationsInput) SetWorkloadNamePrefix(v string) *ListShareInvitationsInput {
  7136  	s.WorkloadNamePrefix = &v
  7137  	return s
  7138  }
  7139  
  7140  // Input for List Share Invitations
  7141  type ListShareInvitationsOutput struct {
  7142  	_ struct{} `type:"structure"`
  7143  
  7144  	// The token to use to retrieve the next set of results.
  7145  	NextToken *string `type:"string"`
  7146  
  7147  	// List of share invitation summaries in a workload.
  7148  	ShareInvitationSummaries []*ShareInvitationSummary `type:"list"`
  7149  }
  7150  
  7151  // String returns the string representation.
  7152  //
  7153  // API parameter values that are decorated as "sensitive" in the API will not
  7154  // be included in the string output. The member name will be present, but the
  7155  // value will be replaced with "sensitive".
  7156  func (s ListShareInvitationsOutput) String() string {
  7157  	return awsutil.Prettify(s)
  7158  }
  7159  
  7160  // GoString returns the string representation.
  7161  //
  7162  // API parameter values that are decorated as "sensitive" in the API will not
  7163  // be included in the string output. The member name will be present, but the
  7164  // value will be replaced with "sensitive".
  7165  func (s ListShareInvitationsOutput) GoString() string {
  7166  	return s.String()
  7167  }
  7168  
  7169  // SetNextToken sets the NextToken field's value.
  7170  func (s *ListShareInvitationsOutput) SetNextToken(v string) *ListShareInvitationsOutput {
  7171  	s.NextToken = &v
  7172  	return s
  7173  }
  7174  
  7175  // SetShareInvitationSummaries sets the ShareInvitationSummaries field's value.
  7176  func (s *ListShareInvitationsOutput) SetShareInvitationSummaries(v []*ShareInvitationSummary) *ListShareInvitationsOutput {
  7177  	s.ShareInvitationSummaries = v
  7178  	return s
  7179  }
  7180  
  7181  type ListTagsForResourceInput struct {
  7182  	_ struct{} `type:"structure" nopayload:"true"`
  7183  
  7184  	// The ARN for the workload.
  7185  	//
  7186  	// WorkloadArn is a required field
  7187  	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
  7188  }
  7189  
  7190  // String returns the string representation.
  7191  //
  7192  // API parameter values that are decorated as "sensitive" in the API will not
  7193  // be included in the string output. The member name will be present, but the
  7194  // value will be replaced with "sensitive".
  7195  func (s ListTagsForResourceInput) String() string {
  7196  	return awsutil.Prettify(s)
  7197  }
  7198  
  7199  // GoString returns the string representation.
  7200  //
  7201  // API parameter values that are decorated as "sensitive" in the API will not
  7202  // be included in the string output. The member name will be present, but the
  7203  // value will be replaced with "sensitive".
  7204  func (s ListTagsForResourceInput) GoString() string {
  7205  	return s.String()
  7206  }
  7207  
  7208  // Validate inspects the fields of the type to determine if they are valid.
  7209  func (s *ListTagsForResourceInput) Validate() error {
  7210  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  7211  	if s.WorkloadArn == nil {
  7212  		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
  7213  	}
  7214  	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
  7215  		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
  7216  	}
  7217  
  7218  	if invalidParams.Len() > 0 {
  7219  		return invalidParams
  7220  	}
  7221  	return nil
  7222  }
  7223  
  7224  // SetWorkloadArn sets the WorkloadArn field's value.
  7225  func (s *ListTagsForResourceInput) SetWorkloadArn(v string) *ListTagsForResourceInput {
  7226  	s.WorkloadArn = &v
  7227  	return s
  7228  }
  7229  
  7230  type ListTagsForResourceOutput struct {
  7231  	_ struct{} `type:"structure"`
  7232  
  7233  	// The tags for the resource.
  7234  	Tags map[string]*string `min:"1" type:"map"`
  7235  }
  7236  
  7237  // String returns the string representation.
  7238  //
  7239  // API parameter values that are decorated as "sensitive" in the API will not
  7240  // be included in the string output. The member name will be present, but the
  7241  // value will be replaced with "sensitive".
  7242  func (s ListTagsForResourceOutput) String() string {
  7243  	return awsutil.Prettify(s)
  7244  }
  7245  
  7246  // GoString returns the string representation.
  7247  //
  7248  // API parameter values that are decorated as "sensitive" in the API will not
  7249  // be included in the string output. The member name will be present, but the
  7250  // value will be replaced with "sensitive".
  7251  func (s ListTagsForResourceOutput) GoString() string {
  7252  	return s.String()
  7253  }
  7254  
  7255  // SetTags sets the Tags field's value.
  7256  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  7257  	s.Tags = v
  7258  	return s
  7259  }
  7260  
  7261  // Input for List Workload Share
  7262  type ListWorkloadSharesInput struct {
  7263  	_ struct{} `type:"structure" nopayload:"true"`
  7264  
  7265  	// The maximum number of results to return for this request.
  7266  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  7267  
  7268  	// The token to use to retrieve the next set of results.
  7269  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
  7270  
  7271  	// The AWS account ID or IAM role with which the workload is shared.
  7272  	SharedWithPrefix *string `location:"querystring" locationName:"SharedWithPrefix" type:"string"`
  7273  
  7274  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  7275  	//
  7276  	// WorkloadId is a required field
  7277  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  7278  }
  7279  
  7280  // String returns the string representation.
  7281  //
  7282  // API parameter values that are decorated as "sensitive" in the API will not
  7283  // be included in the string output. The member name will be present, but the
  7284  // value will be replaced with "sensitive".
  7285  func (s ListWorkloadSharesInput) String() string {
  7286  	return awsutil.Prettify(s)
  7287  }
  7288  
  7289  // GoString returns the string representation.
  7290  //
  7291  // API parameter values that are decorated as "sensitive" in the API will not
  7292  // be included in the string output. The member name will be present, but the
  7293  // value will be replaced with "sensitive".
  7294  func (s ListWorkloadSharesInput) GoString() string {
  7295  	return s.String()
  7296  }
  7297  
  7298  // Validate inspects the fields of the type to determine if they are valid.
  7299  func (s *ListWorkloadSharesInput) Validate() error {
  7300  	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadSharesInput"}
  7301  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7302  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7303  	}
  7304  	if s.WorkloadId == nil {
  7305  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  7306  	}
  7307  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  7308  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  7309  	}
  7310  
  7311  	if invalidParams.Len() > 0 {
  7312  		return invalidParams
  7313  	}
  7314  	return nil
  7315  }
  7316  
  7317  // SetMaxResults sets the MaxResults field's value.
  7318  func (s *ListWorkloadSharesInput) SetMaxResults(v int64) *ListWorkloadSharesInput {
  7319  	s.MaxResults = &v
  7320  	return s
  7321  }
  7322  
  7323  // SetNextToken sets the NextToken field's value.
  7324  func (s *ListWorkloadSharesInput) SetNextToken(v string) *ListWorkloadSharesInput {
  7325  	s.NextToken = &v
  7326  	return s
  7327  }
  7328  
  7329  // SetSharedWithPrefix sets the SharedWithPrefix field's value.
  7330  func (s *ListWorkloadSharesInput) SetSharedWithPrefix(v string) *ListWorkloadSharesInput {
  7331  	s.SharedWithPrefix = &v
  7332  	return s
  7333  }
  7334  
  7335  // SetWorkloadId sets the WorkloadId field's value.
  7336  func (s *ListWorkloadSharesInput) SetWorkloadId(v string) *ListWorkloadSharesInput {
  7337  	s.WorkloadId = &v
  7338  	return s
  7339  }
  7340  
  7341  // Input for List Workload Share
  7342  type ListWorkloadSharesOutput struct {
  7343  	_ struct{} `type:"structure"`
  7344  
  7345  	// The token to use to retrieve the next set of results.
  7346  	NextToken *string `type:"string"`
  7347  
  7348  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  7349  	WorkloadId *string `type:"string"`
  7350  
  7351  	// A list of workload share summaries.
  7352  	WorkloadShareSummaries []*WorkloadShareSummary `type:"list"`
  7353  }
  7354  
  7355  // String returns the string representation.
  7356  //
  7357  // API parameter values that are decorated as "sensitive" in the API will not
  7358  // be included in the string output. The member name will be present, but the
  7359  // value will be replaced with "sensitive".
  7360  func (s ListWorkloadSharesOutput) String() string {
  7361  	return awsutil.Prettify(s)
  7362  }
  7363  
  7364  // GoString returns the string representation.
  7365  //
  7366  // API parameter values that are decorated as "sensitive" in the API will not
  7367  // be included in the string output. The member name will be present, but the
  7368  // value will be replaced with "sensitive".
  7369  func (s ListWorkloadSharesOutput) GoString() string {
  7370  	return s.String()
  7371  }
  7372  
  7373  // SetNextToken sets the NextToken field's value.
  7374  func (s *ListWorkloadSharesOutput) SetNextToken(v string) *ListWorkloadSharesOutput {
  7375  	s.NextToken = &v
  7376  	return s
  7377  }
  7378  
  7379  // SetWorkloadId sets the WorkloadId field's value.
  7380  func (s *ListWorkloadSharesOutput) SetWorkloadId(v string) *ListWorkloadSharesOutput {
  7381  	s.WorkloadId = &v
  7382  	return s
  7383  }
  7384  
  7385  // SetWorkloadShareSummaries sets the WorkloadShareSummaries field's value.
  7386  func (s *ListWorkloadSharesOutput) SetWorkloadShareSummaries(v []*WorkloadShareSummary) *ListWorkloadSharesOutput {
  7387  	s.WorkloadShareSummaries = v
  7388  	return s
  7389  }
  7390  
  7391  // Input to list all workloads.
  7392  type ListWorkloadsInput struct {
  7393  	_ struct{} `type:"structure"`
  7394  
  7395  	// The maximum number of results to return for this request.
  7396  	MaxResults *int64 `min:"1" type:"integer"`
  7397  
  7398  	// The token to use to retrieve the next set of results.
  7399  	NextToken *string `type:"string"`
  7400  
  7401  	// An optional string added to the beginning of each workload name returned
  7402  	// in the results.
  7403  	WorkloadNamePrefix *string `type:"string"`
  7404  }
  7405  
  7406  // String returns the string representation.
  7407  //
  7408  // API parameter values that are decorated as "sensitive" in the API will not
  7409  // be included in the string output. The member name will be present, but the
  7410  // value will be replaced with "sensitive".
  7411  func (s ListWorkloadsInput) String() string {
  7412  	return awsutil.Prettify(s)
  7413  }
  7414  
  7415  // GoString returns the string representation.
  7416  //
  7417  // API parameter values that are decorated as "sensitive" in the API will not
  7418  // be included in the string output. The member name will be present, but the
  7419  // value will be replaced with "sensitive".
  7420  func (s ListWorkloadsInput) GoString() string {
  7421  	return s.String()
  7422  }
  7423  
  7424  // Validate inspects the fields of the type to determine if they are valid.
  7425  func (s *ListWorkloadsInput) Validate() error {
  7426  	invalidParams := request.ErrInvalidParams{Context: "ListWorkloadsInput"}
  7427  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7428  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7429  	}
  7430  
  7431  	if invalidParams.Len() > 0 {
  7432  		return invalidParams
  7433  	}
  7434  	return nil
  7435  }
  7436  
  7437  // SetMaxResults sets the MaxResults field's value.
  7438  func (s *ListWorkloadsInput) SetMaxResults(v int64) *ListWorkloadsInput {
  7439  	s.MaxResults = &v
  7440  	return s
  7441  }
  7442  
  7443  // SetNextToken sets the NextToken field's value.
  7444  func (s *ListWorkloadsInput) SetNextToken(v string) *ListWorkloadsInput {
  7445  	s.NextToken = &v
  7446  	return s
  7447  }
  7448  
  7449  // SetWorkloadNamePrefix sets the WorkloadNamePrefix field's value.
  7450  func (s *ListWorkloadsInput) SetWorkloadNamePrefix(v string) *ListWorkloadsInput {
  7451  	s.WorkloadNamePrefix = &v
  7452  	return s
  7453  }
  7454  
  7455  // Output of a list workloads call.
  7456  type ListWorkloadsOutput struct {
  7457  	_ struct{} `type:"structure"`
  7458  
  7459  	// The token to use to retrieve the next set of results.
  7460  	NextToken *string `type:"string"`
  7461  
  7462  	// A list of workload summaries.
  7463  	WorkloadSummaries []*WorkloadSummary `type:"list"`
  7464  }
  7465  
  7466  // String returns the string representation.
  7467  //
  7468  // API parameter values that are decorated as "sensitive" in the API will not
  7469  // be included in the string output. The member name will be present, but the
  7470  // value will be replaced with "sensitive".
  7471  func (s ListWorkloadsOutput) String() string {
  7472  	return awsutil.Prettify(s)
  7473  }
  7474  
  7475  // GoString returns the string representation.
  7476  //
  7477  // API parameter values that are decorated as "sensitive" in the API will not
  7478  // be included in the string output. The member name will be present, but the
  7479  // value will be replaced with "sensitive".
  7480  func (s ListWorkloadsOutput) GoString() string {
  7481  	return s.String()
  7482  }
  7483  
  7484  // SetNextToken sets the NextToken field's value.
  7485  func (s *ListWorkloadsOutput) SetNextToken(v string) *ListWorkloadsOutput {
  7486  	s.NextToken = &v
  7487  	return s
  7488  }
  7489  
  7490  // SetWorkloadSummaries sets the WorkloadSummaries field's value.
  7491  func (s *ListWorkloadsOutput) SetWorkloadSummaries(v []*WorkloadSummary) *ListWorkloadsOutput {
  7492  	s.WorkloadSummaries = v
  7493  	return s
  7494  }
  7495  
  7496  // A milestone return object.
  7497  type Milestone struct {
  7498  	_ struct{} `type:"structure"`
  7499  
  7500  	// The name of the milestone in a workload.
  7501  	//
  7502  	// Milestone names must be unique within a workload.
  7503  	MilestoneName *string `min:"3" type:"string"`
  7504  
  7505  	// The milestone number.
  7506  	//
  7507  	// A workload can have a maximum of 100 milestones.
  7508  	MilestoneNumber *int64 `min:"1" type:"integer"`
  7509  
  7510  	// The date and time recorded.
  7511  	RecordedAt *time.Time `type:"timestamp"`
  7512  
  7513  	// A workload return object.
  7514  	Workload *Workload `type:"structure"`
  7515  }
  7516  
  7517  // String returns the string representation.
  7518  //
  7519  // API parameter values that are decorated as "sensitive" in the API will not
  7520  // be included in the string output. The member name will be present, but the
  7521  // value will be replaced with "sensitive".
  7522  func (s Milestone) String() string {
  7523  	return awsutil.Prettify(s)
  7524  }
  7525  
  7526  // GoString returns the string representation.
  7527  //
  7528  // API parameter values that are decorated as "sensitive" in the API will not
  7529  // be included in the string output. The member name will be present, but the
  7530  // value will be replaced with "sensitive".
  7531  func (s Milestone) GoString() string {
  7532  	return s.String()
  7533  }
  7534  
  7535  // SetMilestoneName sets the MilestoneName field's value.
  7536  func (s *Milestone) SetMilestoneName(v string) *Milestone {
  7537  	s.MilestoneName = &v
  7538  	return s
  7539  }
  7540  
  7541  // SetMilestoneNumber sets the MilestoneNumber field's value.
  7542  func (s *Milestone) SetMilestoneNumber(v int64) *Milestone {
  7543  	s.MilestoneNumber = &v
  7544  	return s
  7545  }
  7546  
  7547  // SetRecordedAt sets the RecordedAt field's value.
  7548  func (s *Milestone) SetRecordedAt(v time.Time) *Milestone {
  7549  	s.RecordedAt = &v
  7550  	return s
  7551  }
  7552  
  7553  // SetWorkload sets the Workload field's value.
  7554  func (s *Milestone) SetWorkload(v *Workload) *Milestone {
  7555  	s.Workload = v
  7556  	return s
  7557  }
  7558  
  7559  // A milestone summary return object.
  7560  type MilestoneSummary struct {
  7561  	_ struct{} `type:"structure"`
  7562  
  7563  	// The name of the milestone in a workload.
  7564  	//
  7565  	// Milestone names must be unique within a workload.
  7566  	MilestoneName *string `min:"3" type:"string"`
  7567  
  7568  	// The milestone number.
  7569  	//
  7570  	// A workload can have a maximum of 100 milestones.
  7571  	MilestoneNumber *int64 `min:"1" type:"integer"`
  7572  
  7573  	// The date and time recorded.
  7574  	RecordedAt *time.Time `type:"timestamp"`
  7575  
  7576  	// A workload summary return object.
  7577  	WorkloadSummary *WorkloadSummary `type:"structure"`
  7578  }
  7579  
  7580  // String returns the string representation.
  7581  //
  7582  // API parameter values that are decorated as "sensitive" in the API will not
  7583  // be included in the string output. The member name will be present, but the
  7584  // value will be replaced with "sensitive".
  7585  func (s MilestoneSummary) String() string {
  7586  	return awsutil.Prettify(s)
  7587  }
  7588  
  7589  // GoString returns the string representation.
  7590  //
  7591  // API parameter values that are decorated as "sensitive" in the API will not
  7592  // be included in the string output. The member name will be present, but the
  7593  // value will be replaced with "sensitive".
  7594  func (s MilestoneSummary) GoString() string {
  7595  	return s.String()
  7596  }
  7597  
  7598  // SetMilestoneName sets the MilestoneName field's value.
  7599  func (s *MilestoneSummary) SetMilestoneName(v string) *MilestoneSummary {
  7600  	s.MilestoneName = &v
  7601  	return s
  7602  }
  7603  
  7604  // SetMilestoneNumber sets the MilestoneNumber field's value.
  7605  func (s *MilestoneSummary) SetMilestoneNumber(v int64) *MilestoneSummary {
  7606  	s.MilestoneNumber = &v
  7607  	return s
  7608  }
  7609  
  7610  // SetRecordedAt sets the RecordedAt field's value.
  7611  func (s *MilestoneSummary) SetRecordedAt(v time.Time) *MilestoneSummary {
  7612  	s.RecordedAt = &v
  7613  	return s
  7614  }
  7615  
  7616  // SetWorkloadSummary sets the WorkloadSummary field's value.
  7617  func (s *MilestoneSummary) SetWorkloadSummary(v *WorkloadSummary) *MilestoneSummary {
  7618  	s.WorkloadSummary = v
  7619  	return s
  7620  }
  7621  
  7622  // A notification summary return object.
  7623  type NotificationSummary struct {
  7624  	_ struct{} `type:"structure"`
  7625  
  7626  	// Summary of lens upgrade.
  7627  	LensUpgradeSummary *LensUpgradeSummary `type:"structure"`
  7628  
  7629  	// The type of notification.
  7630  	Type *string `type:"string" enum:"NotificationType"`
  7631  }
  7632  
  7633  // String returns the string representation.
  7634  //
  7635  // API parameter values that are decorated as "sensitive" in the API will not
  7636  // be included in the string output. The member name will be present, but the
  7637  // value will be replaced with "sensitive".
  7638  func (s NotificationSummary) String() string {
  7639  	return awsutil.Prettify(s)
  7640  }
  7641  
  7642  // GoString returns the string representation.
  7643  //
  7644  // API parameter values that are decorated as "sensitive" in the API will not
  7645  // be included in the string output. The member name will be present, but the
  7646  // value will be replaced with "sensitive".
  7647  func (s NotificationSummary) GoString() string {
  7648  	return s.String()
  7649  }
  7650  
  7651  // SetLensUpgradeSummary sets the LensUpgradeSummary field's value.
  7652  func (s *NotificationSummary) SetLensUpgradeSummary(v *LensUpgradeSummary) *NotificationSummary {
  7653  	s.LensUpgradeSummary = v
  7654  	return s
  7655  }
  7656  
  7657  // SetType sets the Type field's value.
  7658  func (s *NotificationSummary) SetType(v string) *NotificationSummary {
  7659  	s.Type = &v
  7660  	return s
  7661  }
  7662  
  7663  // A pillar difference return object.
  7664  type PillarDifference struct {
  7665  	_ struct{} `type:"structure"`
  7666  
  7667  	// Indicates the type of change to the pillar.
  7668  	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
  7669  
  7670  	// The ID used to identify a pillar, for example, security.
  7671  	//
  7672  	// A pillar is identified by its PillarReviewSummary$PillarId.
  7673  	PillarId *string `min:"1" type:"string"`
  7674  
  7675  	// List of question differences.
  7676  	QuestionDifferences []*QuestionDifference `type:"list"`
  7677  }
  7678  
  7679  // String returns the string representation.
  7680  //
  7681  // API parameter values that are decorated as "sensitive" in the API will not
  7682  // be included in the string output. The member name will be present, but the
  7683  // value will be replaced with "sensitive".
  7684  func (s PillarDifference) String() string {
  7685  	return awsutil.Prettify(s)
  7686  }
  7687  
  7688  // GoString returns the string representation.
  7689  //
  7690  // API parameter values that are decorated as "sensitive" in the API will not
  7691  // be included in the string output. The member name will be present, but the
  7692  // value will be replaced with "sensitive".
  7693  func (s PillarDifference) GoString() string {
  7694  	return s.String()
  7695  }
  7696  
  7697  // SetDifferenceStatus sets the DifferenceStatus field's value.
  7698  func (s *PillarDifference) SetDifferenceStatus(v string) *PillarDifference {
  7699  	s.DifferenceStatus = &v
  7700  	return s
  7701  }
  7702  
  7703  // SetPillarId sets the PillarId field's value.
  7704  func (s *PillarDifference) SetPillarId(v string) *PillarDifference {
  7705  	s.PillarId = &v
  7706  	return s
  7707  }
  7708  
  7709  // SetQuestionDifferences sets the QuestionDifferences field's value.
  7710  func (s *PillarDifference) SetQuestionDifferences(v []*QuestionDifference) *PillarDifference {
  7711  	s.QuestionDifferences = v
  7712  	return s
  7713  }
  7714  
  7715  // A pillar review summary of a lens review.
  7716  type PillarReviewSummary struct {
  7717  	_ struct{} `type:"structure"`
  7718  
  7719  	// The notes associated with the workload.
  7720  	Notes *string `type:"string"`
  7721  
  7722  	// The ID used to identify a pillar, for example, security.
  7723  	//
  7724  	// A pillar is identified by its PillarReviewSummary$PillarId.
  7725  	PillarId *string `min:"1" type:"string"`
  7726  
  7727  	// The name of the pillar.
  7728  	PillarName *string `min:"1" type:"string"`
  7729  
  7730  	// A map from risk names to the count of how questions have that rating.
  7731  	RiskCounts map[string]*int64 `type:"map"`
  7732  }
  7733  
  7734  // String returns the string representation.
  7735  //
  7736  // API parameter values that are decorated as "sensitive" in the API will not
  7737  // be included in the string output. The member name will be present, but the
  7738  // value will be replaced with "sensitive".
  7739  func (s PillarReviewSummary) String() string {
  7740  	return awsutil.Prettify(s)
  7741  }
  7742  
  7743  // GoString returns the string representation.
  7744  //
  7745  // API parameter values that are decorated as "sensitive" in the API will not
  7746  // be included in the string output. The member name will be present, but the
  7747  // value will be replaced with "sensitive".
  7748  func (s PillarReviewSummary) GoString() string {
  7749  	return s.String()
  7750  }
  7751  
  7752  // SetNotes sets the Notes field's value.
  7753  func (s *PillarReviewSummary) SetNotes(v string) *PillarReviewSummary {
  7754  	s.Notes = &v
  7755  	return s
  7756  }
  7757  
  7758  // SetPillarId sets the PillarId field's value.
  7759  func (s *PillarReviewSummary) SetPillarId(v string) *PillarReviewSummary {
  7760  	s.PillarId = &v
  7761  	return s
  7762  }
  7763  
  7764  // SetPillarName sets the PillarName field's value.
  7765  func (s *PillarReviewSummary) SetPillarName(v string) *PillarReviewSummary {
  7766  	s.PillarName = &v
  7767  	return s
  7768  }
  7769  
  7770  // SetRiskCounts sets the RiskCounts field's value.
  7771  func (s *PillarReviewSummary) SetRiskCounts(v map[string]*int64) *PillarReviewSummary {
  7772  	s.RiskCounts = v
  7773  	return s
  7774  }
  7775  
  7776  // A question difference return object.
  7777  type QuestionDifference struct {
  7778  	_ struct{} `type:"structure"`
  7779  
  7780  	// Indicates the type of change to the question.
  7781  	DifferenceStatus *string `type:"string" enum:"DifferenceStatus"`
  7782  
  7783  	// The ID of the question.
  7784  	QuestionId *string `min:"1" type:"string"`
  7785  
  7786  	// The title of the question.
  7787  	QuestionTitle *string `min:"1" type:"string"`
  7788  }
  7789  
  7790  // String returns the string representation.
  7791  //
  7792  // API parameter values that are decorated as "sensitive" in the API will not
  7793  // be included in the string output. The member name will be present, but the
  7794  // value will be replaced with "sensitive".
  7795  func (s QuestionDifference) String() string {
  7796  	return awsutil.Prettify(s)
  7797  }
  7798  
  7799  // GoString returns the string representation.
  7800  //
  7801  // API parameter values that are decorated as "sensitive" in the API will not
  7802  // be included in the string output. The member name will be present, but the
  7803  // value will be replaced with "sensitive".
  7804  func (s QuestionDifference) GoString() string {
  7805  	return s.String()
  7806  }
  7807  
  7808  // SetDifferenceStatus sets the DifferenceStatus field's value.
  7809  func (s *QuestionDifference) SetDifferenceStatus(v string) *QuestionDifference {
  7810  	s.DifferenceStatus = &v
  7811  	return s
  7812  }
  7813  
  7814  // SetQuestionId sets the QuestionId field's value.
  7815  func (s *QuestionDifference) SetQuestionId(v string) *QuestionDifference {
  7816  	s.QuestionId = &v
  7817  	return s
  7818  }
  7819  
  7820  // SetQuestionTitle sets the QuestionTitle field's value.
  7821  func (s *QuestionDifference) SetQuestionTitle(v string) *QuestionDifference {
  7822  	s.QuestionTitle = &v
  7823  	return s
  7824  }
  7825  
  7826  // The requested resource was not found.
  7827  type ResourceNotFoundException struct {
  7828  	_            struct{}                  `type:"structure"`
  7829  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7830  
  7831  	// Description of the error.
  7832  	Message_ *string `locationName:"Message" type:"string"`
  7833  
  7834  	// Identifier of the resource affected.
  7835  	//
  7836  	// ResourceId is a required field
  7837  	ResourceId *string `type:"string" required:"true"`
  7838  
  7839  	// Type of the resource affected.
  7840  	//
  7841  	// ResourceType is a required field
  7842  	ResourceType *string `type:"string" required:"true"`
  7843  }
  7844  
  7845  // String returns the string representation.
  7846  //
  7847  // API parameter values that are decorated as "sensitive" in the API will not
  7848  // be included in the string output. The member name will be present, but the
  7849  // value will be replaced with "sensitive".
  7850  func (s ResourceNotFoundException) String() string {
  7851  	return awsutil.Prettify(s)
  7852  }
  7853  
  7854  // GoString returns the string representation.
  7855  //
  7856  // API parameter values that are decorated as "sensitive" in the API will not
  7857  // be included in the string output. The member name will be present, but the
  7858  // value will be replaced with "sensitive".
  7859  func (s ResourceNotFoundException) GoString() string {
  7860  	return s.String()
  7861  }
  7862  
  7863  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7864  	return &ResourceNotFoundException{
  7865  		RespMetadata: v,
  7866  	}
  7867  }
  7868  
  7869  // Code returns the exception type name.
  7870  func (s *ResourceNotFoundException) Code() string {
  7871  	return "ResourceNotFoundException"
  7872  }
  7873  
  7874  // Message returns the exception's message.
  7875  func (s *ResourceNotFoundException) Message() string {
  7876  	if s.Message_ != nil {
  7877  		return *s.Message_
  7878  	}
  7879  	return ""
  7880  }
  7881  
  7882  // OrigErr always returns nil, satisfies awserr.Error interface.
  7883  func (s *ResourceNotFoundException) OrigErr() error {
  7884  	return nil
  7885  }
  7886  
  7887  func (s *ResourceNotFoundException) Error() string {
  7888  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7889  }
  7890  
  7891  // Status code returns the HTTP status code for the request's response error.
  7892  func (s *ResourceNotFoundException) StatusCode() int {
  7893  	return s.RespMetadata.StatusCode
  7894  }
  7895  
  7896  // RequestID returns the service's response RequestID for request.
  7897  func (s *ResourceNotFoundException) RequestID() string {
  7898  	return s.RespMetadata.RequestID
  7899  }
  7900  
  7901  // The user has reached their resource quota.
  7902  type ServiceQuotaExceededException struct {
  7903  	_            struct{}                  `type:"structure"`
  7904  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7905  
  7906  	// Description of the error.
  7907  	Message_ *string `locationName:"Message" type:"string"`
  7908  
  7909  	// Service Quotas requirement to identify originating quota.
  7910  	//
  7911  	// QuotaCode is a required field
  7912  	QuotaCode *string `type:"string" required:"true"`
  7913  
  7914  	// Identifier of the resource affected.
  7915  	ResourceId *string `type:"string"`
  7916  
  7917  	// Type of the resource affected.
  7918  	ResourceType *string `type:"string"`
  7919  
  7920  	// Service Quotas requirement to identify originating service.
  7921  	//
  7922  	// ServiceCode is a required field
  7923  	ServiceCode *string `type:"string" required:"true"`
  7924  }
  7925  
  7926  // String returns the string representation.
  7927  //
  7928  // API parameter values that are decorated as "sensitive" in the API will not
  7929  // be included in the string output. The member name will be present, but the
  7930  // value will be replaced with "sensitive".
  7931  func (s ServiceQuotaExceededException) String() string {
  7932  	return awsutil.Prettify(s)
  7933  }
  7934  
  7935  // GoString returns the string representation.
  7936  //
  7937  // API parameter values that are decorated as "sensitive" in the API will not
  7938  // be included in the string output. The member name will be present, but the
  7939  // value will be replaced with "sensitive".
  7940  func (s ServiceQuotaExceededException) GoString() string {
  7941  	return s.String()
  7942  }
  7943  
  7944  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  7945  	return &ServiceQuotaExceededException{
  7946  		RespMetadata: v,
  7947  	}
  7948  }
  7949  
  7950  // Code returns the exception type name.
  7951  func (s *ServiceQuotaExceededException) Code() string {
  7952  	return "ServiceQuotaExceededException"
  7953  }
  7954  
  7955  // Message returns the exception's message.
  7956  func (s *ServiceQuotaExceededException) Message() string {
  7957  	if s.Message_ != nil {
  7958  		return *s.Message_
  7959  	}
  7960  	return ""
  7961  }
  7962  
  7963  // OrigErr always returns nil, satisfies awserr.Error interface.
  7964  func (s *ServiceQuotaExceededException) OrigErr() error {
  7965  	return nil
  7966  }
  7967  
  7968  func (s *ServiceQuotaExceededException) Error() string {
  7969  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7970  }
  7971  
  7972  // Status code returns the HTTP status code for the request's response error.
  7973  func (s *ServiceQuotaExceededException) StatusCode() int {
  7974  	return s.RespMetadata.StatusCode
  7975  }
  7976  
  7977  // RequestID returns the service's response RequestID for request.
  7978  func (s *ServiceQuotaExceededException) RequestID() string {
  7979  	return s.RespMetadata.RequestID
  7980  }
  7981  
  7982  // The share invitation.
  7983  type ShareInvitation struct {
  7984  	_ struct{} `type:"structure"`
  7985  
  7986  	// The ID assigned to the share invitation.
  7987  	ShareInvitationId *string `type:"string"`
  7988  
  7989  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  7990  	WorkloadId *string `type:"string"`
  7991  }
  7992  
  7993  // String returns the string representation.
  7994  //
  7995  // API parameter values that are decorated as "sensitive" in the API will not
  7996  // be included in the string output. The member name will be present, but the
  7997  // value will be replaced with "sensitive".
  7998  func (s ShareInvitation) String() string {
  7999  	return awsutil.Prettify(s)
  8000  }
  8001  
  8002  // GoString returns the string representation.
  8003  //
  8004  // API parameter values that are decorated as "sensitive" in the API will not
  8005  // be included in the string output. The member name will be present, but the
  8006  // value will be replaced with "sensitive".
  8007  func (s ShareInvitation) GoString() string {
  8008  	return s.String()
  8009  }
  8010  
  8011  // SetShareInvitationId sets the ShareInvitationId field's value.
  8012  func (s *ShareInvitation) SetShareInvitationId(v string) *ShareInvitation {
  8013  	s.ShareInvitationId = &v
  8014  	return s
  8015  }
  8016  
  8017  // SetWorkloadId sets the WorkloadId field's value.
  8018  func (s *ShareInvitation) SetWorkloadId(v string) *ShareInvitation {
  8019  	s.WorkloadId = &v
  8020  	return s
  8021  }
  8022  
  8023  // A share invitation summary return object.
  8024  type ShareInvitationSummary struct {
  8025  	_ struct{} `type:"structure"`
  8026  
  8027  	// Permission granted on a workload share.
  8028  	PermissionType *string `type:"string" enum:"PermissionType"`
  8029  
  8030  	// The ID assigned to the share invitation.
  8031  	ShareInvitationId *string `type:"string"`
  8032  
  8033  	// An AWS account ID.
  8034  	SharedBy *string `type:"string"`
  8035  
  8036  	// The AWS account ID or IAM role with which the workload is shared.
  8037  	SharedWith *string `min:"12" type:"string"`
  8038  
  8039  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8040  	WorkloadId *string `type:"string"`
  8041  
  8042  	// The name of the workload.
  8043  	//
  8044  	// The name must be unique within an account within a Region. Spaces and capitalization
  8045  	// are ignored when checking for uniqueness.
  8046  	WorkloadName *string `min:"3" type:"string"`
  8047  }
  8048  
  8049  // String returns the string representation.
  8050  //
  8051  // API parameter values that are decorated as "sensitive" in the API will not
  8052  // be included in the string output. The member name will be present, but the
  8053  // value will be replaced with "sensitive".
  8054  func (s ShareInvitationSummary) String() string {
  8055  	return awsutil.Prettify(s)
  8056  }
  8057  
  8058  // GoString returns the string representation.
  8059  //
  8060  // API parameter values that are decorated as "sensitive" in the API will not
  8061  // be included in the string output. The member name will be present, but the
  8062  // value will be replaced with "sensitive".
  8063  func (s ShareInvitationSummary) GoString() string {
  8064  	return s.String()
  8065  }
  8066  
  8067  // SetPermissionType sets the PermissionType field's value.
  8068  func (s *ShareInvitationSummary) SetPermissionType(v string) *ShareInvitationSummary {
  8069  	s.PermissionType = &v
  8070  	return s
  8071  }
  8072  
  8073  // SetShareInvitationId sets the ShareInvitationId field's value.
  8074  func (s *ShareInvitationSummary) SetShareInvitationId(v string) *ShareInvitationSummary {
  8075  	s.ShareInvitationId = &v
  8076  	return s
  8077  }
  8078  
  8079  // SetSharedBy sets the SharedBy field's value.
  8080  func (s *ShareInvitationSummary) SetSharedBy(v string) *ShareInvitationSummary {
  8081  	s.SharedBy = &v
  8082  	return s
  8083  }
  8084  
  8085  // SetSharedWith sets the SharedWith field's value.
  8086  func (s *ShareInvitationSummary) SetSharedWith(v string) *ShareInvitationSummary {
  8087  	s.SharedWith = &v
  8088  	return s
  8089  }
  8090  
  8091  // SetWorkloadId sets the WorkloadId field's value.
  8092  func (s *ShareInvitationSummary) SetWorkloadId(v string) *ShareInvitationSummary {
  8093  	s.WorkloadId = &v
  8094  	return s
  8095  }
  8096  
  8097  // SetWorkloadName sets the WorkloadName field's value.
  8098  func (s *ShareInvitationSummary) SetWorkloadName(v string) *ShareInvitationSummary {
  8099  	s.WorkloadName = &v
  8100  	return s
  8101  }
  8102  
  8103  type TagResourceInput struct {
  8104  	_ struct{} `type:"structure"`
  8105  
  8106  	// The tags for the resource.
  8107  	//
  8108  	// Tags is a required field
  8109  	Tags map[string]*string `min:"1" type:"map" required:"true"`
  8110  
  8111  	// The ARN for the workload.
  8112  	//
  8113  	// WorkloadArn is a required field
  8114  	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
  8115  }
  8116  
  8117  // String returns the string representation.
  8118  //
  8119  // API parameter values that are decorated as "sensitive" in the API will not
  8120  // be included in the string output. The member name will be present, but the
  8121  // value will be replaced with "sensitive".
  8122  func (s TagResourceInput) String() string {
  8123  	return awsutil.Prettify(s)
  8124  }
  8125  
  8126  // GoString returns the string representation.
  8127  //
  8128  // API parameter values that are decorated as "sensitive" in the API will not
  8129  // be included in the string output. The member name will be present, but the
  8130  // value will be replaced with "sensitive".
  8131  func (s TagResourceInput) GoString() string {
  8132  	return s.String()
  8133  }
  8134  
  8135  // Validate inspects the fields of the type to determine if they are valid.
  8136  func (s *TagResourceInput) Validate() error {
  8137  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8138  	if s.Tags == nil {
  8139  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8140  	}
  8141  	if s.Tags != nil && len(s.Tags) < 1 {
  8142  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8143  	}
  8144  	if s.WorkloadArn == nil {
  8145  		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
  8146  	}
  8147  	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
  8148  		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
  8149  	}
  8150  
  8151  	if invalidParams.Len() > 0 {
  8152  		return invalidParams
  8153  	}
  8154  	return nil
  8155  }
  8156  
  8157  // SetTags sets the Tags field's value.
  8158  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  8159  	s.Tags = v
  8160  	return s
  8161  }
  8162  
  8163  // SetWorkloadArn sets the WorkloadArn field's value.
  8164  func (s *TagResourceInput) SetWorkloadArn(v string) *TagResourceInput {
  8165  	s.WorkloadArn = &v
  8166  	return s
  8167  }
  8168  
  8169  type TagResourceOutput struct {
  8170  	_ struct{} `type:"structure" nopayload:"true"`
  8171  }
  8172  
  8173  // String returns the string representation.
  8174  //
  8175  // API parameter values that are decorated as "sensitive" in the API will not
  8176  // be included in the string output. The member name will be present, but the
  8177  // value will be replaced with "sensitive".
  8178  func (s TagResourceOutput) String() string {
  8179  	return awsutil.Prettify(s)
  8180  }
  8181  
  8182  // GoString returns the string representation.
  8183  //
  8184  // API parameter values that are decorated as "sensitive" in the API will not
  8185  // be included in the string output. The member name will be present, but the
  8186  // value will be replaced with "sensitive".
  8187  func (s TagResourceOutput) GoString() string {
  8188  	return s.String()
  8189  }
  8190  
  8191  // Request was denied due to request throttling.
  8192  type ThrottlingException struct {
  8193  	_            struct{}                  `type:"structure"`
  8194  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8195  
  8196  	// Description of the error.
  8197  	Message_ *string `locationName:"Message" type:"string"`
  8198  
  8199  	// Service Quotas requirement to identify originating quota.
  8200  	QuotaCode *string `type:"string"`
  8201  
  8202  	// Service Quotas requirement to identify originating service.
  8203  	ServiceCode *string `type:"string"`
  8204  }
  8205  
  8206  // String returns the string representation.
  8207  //
  8208  // API parameter values that are decorated as "sensitive" in the API will not
  8209  // be included in the string output. The member name will be present, but the
  8210  // value will be replaced with "sensitive".
  8211  func (s ThrottlingException) String() string {
  8212  	return awsutil.Prettify(s)
  8213  }
  8214  
  8215  // GoString returns the string representation.
  8216  //
  8217  // API parameter values that are decorated as "sensitive" in the API will not
  8218  // be included in the string output. The member name will be present, but the
  8219  // value will be replaced with "sensitive".
  8220  func (s ThrottlingException) GoString() string {
  8221  	return s.String()
  8222  }
  8223  
  8224  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  8225  	return &ThrottlingException{
  8226  		RespMetadata: v,
  8227  	}
  8228  }
  8229  
  8230  // Code returns the exception type name.
  8231  func (s *ThrottlingException) Code() string {
  8232  	return "ThrottlingException"
  8233  }
  8234  
  8235  // Message returns the exception's message.
  8236  func (s *ThrottlingException) Message() string {
  8237  	if s.Message_ != nil {
  8238  		return *s.Message_
  8239  	}
  8240  	return ""
  8241  }
  8242  
  8243  // OrigErr always returns nil, satisfies awserr.Error interface.
  8244  func (s *ThrottlingException) OrigErr() error {
  8245  	return nil
  8246  }
  8247  
  8248  func (s *ThrottlingException) Error() string {
  8249  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8250  }
  8251  
  8252  // Status code returns the HTTP status code for the request's response error.
  8253  func (s *ThrottlingException) StatusCode() int {
  8254  	return s.RespMetadata.StatusCode
  8255  }
  8256  
  8257  // RequestID returns the service's response RequestID for request.
  8258  func (s *ThrottlingException) RequestID() string {
  8259  	return s.RespMetadata.RequestID
  8260  }
  8261  
  8262  type UntagResourceInput struct {
  8263  	_ struct{} `type:"structure" nopayload:"true"`
  8264  
  8265  	// A list of tag keys. Existing tags of the resource whose keys are members
  8266  	// of this list are removed from the resource.
  8267  	//
  8268  	// TagKeys is a required field
  8269  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
  8270  
  8271  	// The ARN for the workload.
  8272  	//
  8273  	// WorkloadArn is a required field
  8274  	WorkloadArn *string `location:"uri" locationName:"WorkloadArn" type:"string" required:"true"`
  8275  }
  8276  
  8277  // String returns the string representation.
  8278  //
  8279  // API parameter values that are decorated as "sensitive" in the API will not
  8280  // be included in the string output. The member name will be present, but the
  8281  // value will be replaced with "sensitive".
  8282  func (s UntagResourceInput) String() string {
  8283  	return awsutil.Prettify(s)
  8284  }
  8285  
  8286  // GoString returns the string representation.
  8287  //
  8288  // API parameter values that are decorated as "sensitive" in the API will not
  8289  // be included in the string output. The member name will be present, but the
  8290  // value will be replaced with "sensitive".
  8291  func (s UntagResourceInput) GoString() string {
  8292  	return s.String()
  8293  }
  8294  
  8295  // Validate inspects the fields of the type to determine if they are valid.
  8296  func (s *UntagResourceInput) Validate() error {
  8297  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8298  	if s.TagKeys == nil {
  8299  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8300  	}
  8301  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  8302  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  8303  	}
  8304  	if s.WorkloadArn == nil {
  8305  		invalidParams.Add(request.NewErrParamRequired("WorkloadArn"))
  8306  	}
  8307  	if s.WorkloadArn != nil && len(*s.WorkloadArn) < 1 {
  8308  		invalidParams.Add(request.NewErrParamMinLen("WorkloadArn", 1))
  8309  	}
  8310  
  8311  	if invalidParams.Len() > 0 {
  8312  		return invalidParams
  8313  	}
  8314  	return nil
  8315  }
  8316  
  8317  // SetTagKeys sets the TagKeys field's value.
  8318  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8319  	s.TagKeys = v
  8320  	return s
  8321  }
  8322  
  8323  // SetWorkloadArn sets the WorkloadArn field's value.
  8324  func (s *UntagResourceInput) SetWorkloadArn(v string) *UntagResourceInput {
  8325  	s.WorkloadArn = &v
  8326  	return s
  8327  }
  8328  
  8329  type UntagResourceOutput struct {
  8330  	_ struct{} `type:"structure" nopayload:"true"`
  8331  }
  8332  
  8333  // String returns the string representation.
  8334  //
  8335  // API parameter values that are decorated as "sensitive" in the API will not
  8336  // be included in the string output. The member name will be present, but the
  8337  // value will be replaced with "sensitive".
  8338  func (s UntagResourceOutput) String() string {
  8339  	return awsutil.Prettify(s)
  8340  }
  8341  
  8342  // GoString returns the string representation.
  8343  //
  8344  // API parameter values that are decorated as "sensitive" in the API will not
  8345  // be included in the string output. The member name will be present, but the
  8346  // value will be replaced with "sensitive".
  8347  func (s UntagResourceOutput) GoString() string {
  8348  	return s.String()
  8349  }
  8350  
  8351  // Input to update answer.
  8352  type UpdateAnswerInput struct {
  8353  	_ struct{} `type:"structure"`
  8354  
  8355  	// A list of choices to update on a question in your workload. The String key
  8356  	// corresponds to the choice ID to be updated.
  8357  	ChoiceUpdates map[string]*ChoiceUpdate `type:"map"`
  8358  
  8359  	// Defines whether this question is applicable to a lens review.
  8360  	IsApplicable *bool `type:"boolean"`
  8361  
  8362  	// The alias of the lens, for example, serverless.
  8363  	//
  8364  	// Each lens is identified by its LensSummary$LensAlias.
  8365  	//
  8366  	// LensAlias is a required field
  8367  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  8368  
  8369  	// The notes associated with the workload.
  8370  	Notes *string `type:"string"`
  8371  
  8372  	// The ID of the question.
  8373  	//
  8374  	// QuestionId is a required field
  8375  	QuestionId *string `location:"uri" locationName:"QuestionId" min:"1" type:"string" required:"true"`
  8376  
  8377  	// The reason why a question is not applicable to your workload.
  8378  	Reason *string `type:"string" enum:"AnswerReason"`
  8379  
  8380  	// List of selected choice IDs in a question answer.
  8381  	//
  8382  	// The values entered replace the previously selected choices.
  8383  	SelectedChoices []*string `type:"list"`
  8384  
  8385  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8386  	//
  8387  	// WorkloadId is a required field
  8388  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  8389  }
  8390  
  8391  // String returns the string representation.
  8392  //
  8393  // API parameter values that are decorated as "sensitive" in the API will not
  8394  // be included in the string output. The member name will be present, but the
  8395  // value will be replaced with "sensitive".
  8396  func (s UpdateAnswerInput) String() string {
  8397  	return awsutil.Prettify(s)
  8398  }
  8399  
  8400  // GoString returns the string representation.
  8401  //
  8402  // API parameter values that are decorated as "sensitive" in the API will not
  8403  // be included in the string output. The member name will be present, but the
  8404  // value will be replaced with "sensitive".
  8405  func (s UpdateAnswerInput) GoString() string {
  8406  	return s.String()
  8407  }
  8408  
  8409  // Validate inspects the fields of the type to determine if they are valid.
  8410  func (s *UpdateAnswerInput) Validate() error {
  8411  	invalidParams := request.ErrInvalidParams{Context: "UpdateAnswerInput"}
  8412  	if s.LensAlias == nil {
  8413  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  8414  	}
  8415  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  8416  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  8417  	}
  8418  	if s.QuestionId == nil {
  8419  		invalidParams.Add(request.NewErrParamRequired("QuestionId"))
  8420  	}
  8421  	if s.QuestionId != nil && len(*s.QuestionId) < 1 {
  8422  		invalidParams.Add(request.NewErrParamMinLen("QuestionId", 1))
  8423  	}
  8424  	if s.WorkloadId == nil {
  8425  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  8426  	}
  8427  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  8428  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  8429  	}
  8430  	if s.ChoiceUpdates != nil {
  8431  		for i, v := range s.ChoiceUpdates {
  8432  			if v == nil {
  8433  				continue
  8434  			}
  8435  			if err := v.Validate(); err != nil {
  8436  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChoiceUpdates", i), err.(request.ErrInvalidParams))
  8437  			}
  8438  		}
  8439  	}
  8440  
  8441  	if invalidParams.Len() > 0 {
  8442  		return invalidParams
  8443  	}
  8444  	return nil
  8445  }
  8446  
  8447  // SetChoiceUpdates sets the ChoiceUpdates field's value.
  8448  func (s *UpdateAnswerInput) SetChoiceUpdates(v map[string]*ChoiceUpdate) *UpdateAnswerInput {
  8449  	s.ChoiceUpdates = v
  8450  	return s
  8451  }
  8452  
  8453  // SetIsApplicable sets the IsApplicable field's value.
  8454  func (s *UpdateAnswerInput) SetIsApplicable(v bool) *UpdateAnswerInput {
  8455  	s.IsApplicable = &v
  8456  	return s
  8457  }
  8458  
  8459  // SetLensAlias sets the LensAlias field's value.
  8460  func (s *UpdateAnswerInput) SetLensAlias(v string) *UpdateAnswerInput {
  8461  	s.LensAlias = &v
  8462  	return s
  8463  }
  8464  
  8465  // SetNotes sets the Notes field's value.
  8466  func (s *UpdateAnswerInput) SetNotes(v string) *UpdateAnswerInput {
  8467  	s.Notes = &v
  8468  	return s
  8469  }
  8470  
  8471  // SetQuestionId sets the QuestionId field's value.
  8472  func (s *UpdateAnswerInput) SetQuestionId(v string) *UpdateAnswerInput {
  8473  	s.QuestionId = &v
  8474  	return s
  8475  }
  8476  
  8477  // SetReason sets the Reason field's value.
  8478  func (s *UpdateAnswerInput) SetReason(v string) *UpdateAnswerInput {
  8479  	s.Reason = &v
  8480  	return s
  8481  }
  8482  
  8483  // SetSelectedChoices sets the SelectedChoices field's value.
  8484  func (s *UpdateAnswerInput) SetSelectedChoices(v []*string) *UpdateAnswerInput {
  8485  	s.SelectedChoices = v
  8486  	return s
  8487  }
  8488  
  8489  // SetWorkloadId sets the WorkloadId field's value.
  8490  func (s *UpdateAnswerInput) SetWorkloadId(v string) *UpdateAnswerInput {
  8491  	s.WorkloadId = &v
  8492  	return s
  8493  }
  8494  
  8495  // Output of a update answer call.
  8496  type UpdateAnswerOutput struct {
  8497  	_ struct{} `type:"structure"`
  8498  
  8499  	// An answer of the question.
  8500  	Answer *Answer `type:"structure"`
  8501  
  8502  	// The alias of the lens, for example, serverless.
  8503  	//
  8504  	// Each lens is identified by its LensSummary$LensAlias.
  8505  	LensAlias *string `min:"1" type:"string"`
  8506  
  8507  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8508  	WorkloadId *string `type:"string"`
  8509  }
  8510  
  8511  // String returns the string representation.
  8512  //
  8513  // API parameter values that are decorated as "sensitive" in the API will not
  8514  // be included in the string output. The member name will be present, but the
  8515  // value will be replaced with "sensitive".
  8516  func (s UpdateAnswerOutput) String() string {
  8517  	return awsutil.Prettify(s)
  8518  }
  8519  
  8520  // GoString returns the string representation.
  8521  //
  8522  // API parameter values that are decorated as "sensitive" in the API will not
  8523  // be included in the string output. The member name will be present, but the
  8524  // value will be replaced with "sensitive".
  8525  func (s UpdateAnswerOutput) GoString() string {
  8526  	return s.String()
  8527  }
  8528  
  8529  // SetAnswer sets the Answer field's value.
  8530  func (s *UpdateAnswerOutput) SetAnswer(v *Answer) *UpdateAnswerOutput {
  8531  	s.Answer = v
  8532  	return s
  8533  }
  8534  
  8535  // SetLensAlias sets the LensAlias field's value.
  8536  func (s *UpdateAnswerOutput) SetLensAlias(v string) *UpdateAnswerOutput {
  8537  	s.LensAlias = &v
  8538  	return s
  8539  }
  8540  
  8541  // SetWorkloadId sets the WorkloadId field's value.
  8542  func (s *UpdateAnswerOutput) SetWorkloadId(v string) *UpdateAnswerOutput {
  8543  	s.WorkloadId = &v
  8544  	return s
  8545  }
  8546  
  8547  // Input for update lens review.
  8548  type UpdateLensReviewInput struct {
  8549  	_ struct{} `type:"structure"`
  8550  
  8551  	// The alias of the lens, for example, serverless.
  8552  	//
  8553  	// Each lens is identified by its LensSummary$LensAlias.
  8554  	//
  8555  	// LensAlias is a required field
  8556  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  8557  
  8558  	// The notes associated with the workload.
  8559  	LensNotes *string `type:"string"`
  8560  
  8561  	// List of pillar notes of a lens review in a workload.
  8562  	PillarNotes map[string]*string `type:"map"`
  8563  
  8564  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8565  	//
  8566  	// WorkloadId is a required field
  8567  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  8568  }
  8569  
  8570  // String returns the string representation.
  8571  //
  8572  // API parameter values that are decorated as "sensitive" in the API will not
  8573  // be included in the string output. The member name will be present, but the
  8574  // value will be replaced with "sensitive".
  8575  func (s UpdateLensReviewInput) String() string {
  8576  	return awsutil.Prettify(s)
  8577  }
  8578  
  8579  // GoString returns the string representation.
  8580  //
  8581  // API parameter values that are decorated as "sensitive" in the API will not
  8582  // be included in the string output. The member name will be present, but the
  8583  // value will be replaced with "sensitive".
  8584  func (s UpdateLensReviewInput) GoString() string {
  8585  	return s.String()
  8586  }
  8587  
  8588  // Validate inspects the fields of the type to determine if they are valid.
  8589  func (s *UpdateLensReviewInput) Validate() error {
  8590  	invalidParams := request.ErrInvalidParams{Context: "UpdateLensReviewInput"}
  8591  	if s.LensAlias == nil {
  8592  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  8593  	}
  8594  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  8595  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  8596  	}
  8597  	if s.WorkloadId == nil {
  8598  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  8599  	}
  8600  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  8601  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  8602  	}
  8603  
  8604  	if invalidParams.Len() > 0 {
  8605  		return invalidParams
  8606  	}
  8607  	return nil
  8608  }
  8609  
  8610  // SetLensAlias sets the LensAlias field's value.
  8611  func (s *UpdateLensReviewInput) SetLensAlias(v string) *UpdateLensReviewInput {
  8612  	s.LensAlias = &v
  8613  	return s
  8614  }
  8615  
  8616  // SetLensNotes sets the LensNotes field's value.
  8617  func (s *UpdateLensReviewInput) SetLensNotes(v string) *UpdateLensReviewInput {
  8618  	s.LensNotes = &v
  8619  	return s
  8620  }
  8621  
  8622  // SetPillarNotes sets the PillarNotes field's value.
  8623  func (s *UpdateLensReviewInput) SetPillarNotes(v map[string]*string) *UpdateLensReviewInput {
  8624  	s.PillarNotes = v
  8625  	return s
  8626  }
  8627  
  8628  // SetWorkloadId sets the WorkloadId field's value.
  8629  func (s *UpdateLensReviewInput) SetWorkloadId(v string) *UpdateLensReviewInput {
  8630  	s.WorkloadId = &v
  8631  	return s
  8632  }
  8633  
  8634  // Output of a update lens review call.
  8635  type UpdateLensReviewOutput struct {
  8636  	_ struct{} `type:"structure"`
  8637  
  8638  	// A lens review of a question.
  8639  	LensReview *LensReview `type:"structure"`
  8640  
  8641  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8642  	WorkloadId *string `type:"string"`
  8643  }
  8644  
  8645  // String returns the string representation.
  8646  //
  8647  // API parameter values that are decorated as "sensitive" in the API will not
  8648  // be included in the string output. The member name will be present, but the
  8649  // value will be replaced with "sensitive".
  8650  func (s UpdateLensReviewOutput) String() string {
  8651  	return awsutil.Prettify(s)
  8652  }
  8653  
  8654  // GoString returns the string representation.
  8655  //
  8656  // API parameter values that are decorated as "sensitive" in the API will not
  8657  // be included in the string output. The member name will be present, but the
  8658  // value will be replaced with "sensitive".
  8659  func (s UpdateLensReviewOutput) GoString() string {
  8660  	return s.String()
  8661  }
  8662  
  8663  // SetLensReview sets the LensReview field's value.
  8664  func (s *UpdateLensReviewOutput) SetLensReview(v *LensReview) *UpdateLensReviewOutput {
  8665  	s.LensReview = v
  8666  	return s
  8667  }
  8668  
  8669  // SetWorkloadId sets the WorkloadId field's value.
  8670  func (s *UpdateLensReviewOutput) SetWorkloadId(v string) *UpdateLensReviewOutput {
  8671  	s.WorkloadId = &v
  8672  	return s
  8673  }
  8674  
  8675  // Input for Update Share Invitation
  8676  type UpdateShareInvitationInput struct {
  8677  	_ struct{} `type:"structure"`
  8678  
  8679  	// Share invitation action taken by contributor.
  8680  	//
  8681  	// ShareInvitationAction is a required field
  8682  	ShareInvitationAction *string `type:"string" required:"true" enum:"ShareInvitationAction"`
  8683  
  8684  	// The ID assigned to the share invitation.
  8685  	//
  8686  	// ShareInvitationId is a required field
  8687  	ShareInvitationId *string `location:"uri" locationName:"ShareInvitationId" type:"string" required:"true"`
  8688  }
  8689  
  8690  // String returns the string representation.
  8691  //
  8692  // API parameter values that are decorated as "sensitive" in the API will not
  8693  // be included in the string output. The member name will be present, but the
  8694  // value will be replaced with "sensitive".
  8695  func (s UpdateShareInvitationInput) String() string {
  8696  	return awsutil.Prettify(s)
  8697  }
  8698  
  8699  // GoString returns the string representation.
  8700  //
  8701  // API parameter values that are decorated as "sensitive" in the API will not
  8702  // be included in the string output. The member name will be present, but the
  8703  // value will be replaced with "sensitive".
  8704  func (s UpdateShareInvitationInput) GoString() string {
  8705  	return s.String()
  8706  }
  8707  
  8708  // Validate inspects the fields of the type to determine if they are valid.
  8709  func (s *UpdateShareInvitationInput) Validate() error {
  8710  	invalidParams := request.ErrInvalidParams{Context: "UpdateShareInvitationInput"}
  8711  	if s.ShareInvitationAction == nil {
  8712  		invalidParams.Add(request.NewErrParamRequired("ShareInvitationAction"))
  8713  	}
  8714  	if s.ShareInvitationId == nil {
  8715  		invalidParams.Add(request.NewErrParamRequired("ShareInvitationId"))
  8716  	}
  8717  	if s.ShareInvitationId != nil && len(*s.ShareInvitationId) < 1 {
  8718  		invalidParams.Add(request.NewErrParamMinLen("ShareInvitationId", 1))
  8719  	}
  8720  
  8721  	if invalidParams.Len() > 0 {
  8722  		return invalidParams
  8723  	}
  8724  	return nil
  8725  }
  8726  
  8727  // SetShareInvitationAction sets the ShareInvitationAction field's value.
  8728  func (s *UpdateShareInvitationInput) SetShareInvitationAction(v string) *UpdateShareInvitationInput {
  8729  	s.ShareInvitationAction = &v
  8730  	return s
  8731  }
  8732  
  8733  // SetShareInvitationId sets the ShareInvitationId field's value.
  8734  func (s *UpdateShareInvitationInput) SetShareInvitationId(v string) *UpdateShareInvitationInput {
  8735  	s.ShareInvitationId = &v
  8736  	return s
  8737  }
  8738  
  8739  type UpdateShareInvitationOutput struct {
  8740  	_ struct{} `type:"structure"`
  8741  
  8742  	// The updated workload share invitation.
  8743  	ShareInvitation *ShareInvitation `type:"structure"`
  8744  }
  8745  
  8746  // String returns the string representation.
  8747  //
  8748  // API parameter values that are decorated as "sensitive" in the API will not
  8749  // be included in the string output. The member name will be present, but the
  8750  // value will be replaced with "sensitive".
  8751  func (s UpdateShareInvitationOutput) String() string {
  8752  	return awsutil.Prettify(s)
  8753  }
  8754  
  8755  // GoString returns the string representation.
  8756  //
  8757  // API parameter values that are decorated as "sensitive" in the API will not
  8758  // be included in the string output. The member name will be present, but the
  8759  // value will be replaced with "sensitive".
  8760  func (s UpdateShareInvitationOutput) GoString() string {
  8761  	return s.String()
  8762  }
  8763  
  8764  // SetShareInvitation sets the ShareInvitation field's value.
  8765  func (s *UpdateShareInvitationOutput) SetShareInvitation(v *ShareInvitation) *UpdateShareInvitationOutput {
  8766  	s.ShareInvitation = v
  8767  	return s
  8768  }
  8769  
  8770  // Input to update a workload.
  8771  type UpdateWorkloadInput struct {
  8772  	_ struct{} `type:"structure"`
  8773  
  8774  	// The list of AWS account IDs associated with the workload.
  8775  	AccountIds []*string `type:"list"`
  8776  
  8777  	// The URL of the architectural design for the workload.
  8778  	ArchitecturalDesign *string `type:"string"`
  8779  
  8780  	// The list of AWS Regions associated with the workload, for example, us-east-2,
  8781  	// or ca-central-1.
  8782  	AwsRegions []*string `type:"list"`
  8783  
  8784  	// The description for the workload.
  8785  	Description *string `min:"3" type:"string"`
  8786  
  8787  	// The environment for the workload.
  8788  	Environment *string `type:"string" enum:"WorkloadEnvironment"`
  8789  
  8790  	// The improvement status for a workload.
  8791  	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
  8792  
  8793  	// The industry for the workload.
  8794  	Industry *string `type:"string"`
  8795  
  8796  	// The industry type for the workload.
  8797  	//
  8798  	// If specified, must be one of the following:
  8799  	//
  8800  	//    * Agriculture
  8801  	//
  8802  	//    * Automobile
  8803  	//
  8804  	//    * Defense
  8805  	//
  8806  	//    * Design and Engineering
  8807  	//
  8808  	//    * Digital Advertising
  8809  	//
  8810  	//    * Education
  8811  	//
  8812  	//    * Environmental Protection
  8813  	//
  8814  	//    * Financial Services
  8815  	//
  8816  	//    * Gaming
  8817  	//
  8818  	//    * General Public Services
  8819  	//
  8820  	//    * Healthcare
  8821  	//
  8822  	//    * Hospitality
  8823  	//
  8824  	//    * InfoTech
  8825  	//
  8826  	//    * Justice and Public Safety
  8827  	//
  8828  	//    * Life Sciences
  8829  	//
  8830  	//    * Manufacturing
  8831  	//
  8832  	//    * Media & Entertainment
  8833  	//
  8834  	//    * Mining & Resources
  8835  	//
  8836  	//    * Oil & Gas
  8837  	//
  8838  	//    * Power & Utilities
  8839  	//
  8840  	//    * Professional Services
  8841  	//
  8842  	//    * Real Estate & Construction
  8843  	//
  8844  	//    * Retail & Wholesale
  8845  	//
  8846  	//    * Social Protection
  8847  	//
  8848  	//    * Telecommunications
  8849  	//
  8850  	//    * Travel, Transportation & Logistics
  8851  	//
  8852  	//    * Other
  8853  	IndustryType *string `type:"string"`
  8854  
  8855  	// Flag indicating whether the workload owner has acknowledged that the Review
  8856  	// owner field is required.
  8857  	//
  8858  	// If a Review owner is not added to the workload within 60 days of acknowledgement,
  8859  	// access to the workload is restricted until an owner is added.
  8860  	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
  8861  
  8862  	// The list of non-AWS Regions associated with the workload.
  8863  	NonAwsRegions []*string `type:"list"`
  8864  
  8865  	// The notes associated with the workload.
  8866  	Notes *string `type:"string"`
  8867  
  8868  	// The priorities of the pillars, which are used to order items in the improvement
  8869  	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
  8870  	PillarPriorities []*string `type:"list"`
  8871  
  8872  	// The review owner of the workload. The name, email address, or identifier
  8873  	// for the primary group or individual that owns the workload review process.
  8874  	ReviewOwner *string `min:"3" type:"string"`
  8875  
  8876  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  8877  	//
  8878  	// WorkloadId is a required field
  8879  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  8880  
  8881  	// The name of the workload.
  8882  	//
  8883  	// The name must be unique within an account within a Region. Spaces and capitalization
  8884  	// are ignored when checking for uniqueness.
  8885  	WorkloadName *string `min:"3" type:"string"`
  8886  }
  8887  
  8888  // String returns the string representation.
  8889  //
  8890  // API parameter values that are decorated as "sensitive" in the API will not
  8891  // be included in the string output. The member name will be present, but the
  8892  // value will be replaced with "sensitive".
  8893  func (s UpdateWorkloadInput) String() string {
  8894  	return awsutil.Prettify(s)
  8895  }
  8896  
  8897  // GoString returns the string representation.
  8898  //
  8899  // API parameter values that are decorated as "sensitive" in the API will not
  8900  // be included in the string output. The member name will be present, but the
  8901  // value will be replaced with "sensitive".
  8902  func (s UpdateWorkloadInput) GoString() string {
  8903  	return s.String()
  8904  }
  8905  
  8906  // Validate inspects the fields of the type to determine if they are valid.
  8907  func (s *UpdateWorkloadInput) Validate() error {
  8908  	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadInput"}
  8909  	if s.Description != nil && len(*s.Description) < 3 {
  8910  		invalidParams.Add(request.NewErrParamMinLen("Description", 3))
  8911  	}
  8912  	if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 {
  8913  		invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3))
  8914  	}
  8915  	if s.WorkloadId == nil {
  8916  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  8917  	}
  8918  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  8919  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  8920  	}
  8921  	if s.WorkloadName != nil && len(*s.WorkloadName) < 3 {
  8922  		invalidParams.Add(request.NewErrParamMinLen("WorkloadName", 3))
  8923  	}
  8924  
  8925  	if invalidParams.Len() > 0 {
  8926  		return invalidParams
  8927  	}
  8928  	return nil
  8929  }
  8930  
  8931  // SetAccountIds sets the AccountIds field's value.
  8932  func (s *UpdateWorkloadInput) SetAccountIds(v []*string) *UpdateWorkloadInput {
  8933  	s.AccountIds = v
  8934  	return s
  8935  }
  8936  
  8937  // SetArchitecturalDesign sets the ArchitecturalDesign field's value.
  8938  func (s *UpdateWorkloadInput) SetArchitecturalDesign(v string) *UpdateWorkloadInput {
  8939  	s.ArchitecturalDesign = &v
  8940  	return s
  8941  }
  8942  
  8943  // SetAwsRegions sets the AwsRegions field's value.
  8944  func (s *UpdateWorkloadInput) SetAwsRegions(v []*string) *UpdateWorkloadInput {
  8945  	s.AwsRegions = v
  8946  	return s
  8947  }
  8948  
  8949  // SetDescription sets the Description field's value.
  8950  func (s *UpdateWorkloadInput) SetDescription(v string) *UpdateWorkloadInput {
  8951  	s.Description = &v
  8952  	return s
  8953  }
  8954  
  8955  // SetEnvironment sets the Environment field's value.
  8956  func (s *UpdateWorkloadInput) SetEnvironment(v string) *UpdateWorkloadInput {
  8957  	s.Environment = &v
  8958  	return s
  8959  }
  8960  
  8961  // SetImprovementStatus sets the ImprovementStatus field's value.
  8962  func (s *UpdateWorkloadInput) SetImprovementStatus(v string) *UpdateWorkloadInput {
  8963  	s.ImprovementStatus = &v
  8964  	return s
  8965  }
  8966  
  8967  // SetIndustry sets the Industry field's value.
  8968  func (s *UpdateWorkloadInput) SetIndustry(v string) *UpdateWorkloadInput {
  8969  	s.Industry = &v
  8970  	return s
  8971  }
  8972  
  8973  // SetIndustryType sets the IndustryType field's value.
  8974  func (s *UpdateWorkloadInput) SetIndustryType(v string) *UpdateWorkloadInput {
  8975  	s.IndustryType = &v
  8976  	return s
  8977  }
  8978  
  8979  // SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
  8980  func (s *UpdateWorkloadInput) SetIsReviewOwnerUpdateAcknowledged(v bool) *UpdateWorkloadInput {
  8981  	s.IsReviewOwnerUpdateAcknowledged = &v
  8982  	return s
  8983  }
  8984  
  8985  // SetNonAwsRegions sets the NonAwsRegions field's value.
  8986  func (s *UpdateWorkloadInput) SetNonAwsRegions(v []*string) *UpdateWorkloadInput {
  8987  	s.NonAwsRegions = v
  8988  	return s
  8989  }
  8990  
  8991  // SetNotes sets the Notes field's value.
  8992  func (s *UpdateWorkloadInput) SetNotes(v string) *UpdateWorkloadInput {
  8993  	s.Notes = &v
  8994  	return s
  8995  }
  8996  
  8997  // SetPillarPriorities sets the PillarPriorities field's value.
  8998  func (s *UpdateWorkloadInput) SetPillarPriorities(v []*string) *UpdateWorkloadInput {
  8999  	s.PillarPriorities = v
  9000  	return s
  9001  }
  9002  
  9003  // SetReviewOwner sets the ReviewOwner field's value.
  9004  func (s *UpdateWorkloadInput) SetReviewOwner(v string) *UpdateWorkloadInput {
  9005  	s.ReviewOwner = &v
  9006  	return s
  9007  }
  9008  
  9009  // SetWorkloadId sets the WorkloadId field's value.
  9010  func (s *UpdateWorkloadInput) SetWorkloadId(v string) *UpdateWorkloadInput {
  9011  	s.WorkloadId = &v
  9012  	return s
  9013  }
  9014  
  9015  // SetWorkloadName sets the WorkloadName field's value.
  9016  func (s *UpdateWorkloadInput) SetWorkloadName(v string) *UpdateWorkloadInput {
  9017  	s.WorkloadName = &v
  9018  	return s
  9019  }
  9020  
  9021  // Output of an update workload call.
  9022  type UpdateWorkloadOutput struct {
  9023  	_ struct{} `type:"structure"`
  9024  
  9025  	// A workload return object.
  9026  	Workload *Workload `type:"structure"`
  9027  }
  9028  
  9029  // String returns the string representation.
  9030  //
  9031  // API parameter values that are decorated as "sensitive" in the API will not
  9032  // be included in the string output. The member name will be present, but the
  9033  // value will be replaced with "sensitive".
  9034  func (s UpdateWorkloadOutput) String() string {
  9035  	return awsutil.Prettify(s)
  9036  }
  9037  
  9038  // GoString returns the string representation.
  9039  //
  9040  // API parameter values that are decorated as "sensitive" in the API will not
  9041  // be included in the string output. The member name will be present, but the
  9042  // value will be replaced with "sensitive".
  9043  func (s UpdateWorkloadOutput) GoString() string {
  9044  	return s.String()
  9045  }
  9046  
  9047  // SetWorkload sets the Workload field's value.
  9048  func (s *UpdateWorkloadOutput) SetWorkload(v *Workload) *UpdateWorkloadOutput {
  9049  	s.Workload = v
  9050  	return s
  9051  }
  9052  
  9053  // Input for Update Workload Share
  9054  type UpdateWorkloadShareInput struct {
  9055  	_ struct{} `type:"structure"`
  9056  
  9057  	// Permission granted on a workload share.
  9058  	//
  9059  	// PermissionType is a required field
  9060  	PermissionType *string `type:"string" required:"true" enum:"PermissionType"`
  9061  
  9062  	// The ID associated with the workload share.
  9063  	//
  9064  	// ShareId is a required field
  9065  	ShareId *string `location:"uri" locationName:"ShareId" type:"string" required:"true"`
  9066  
  9067  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9068  	//
  9069  	// WorkloadId is a required field
  9070  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  9071  }
  9072  
  9073  // String returns the string representation.
  9074  //
  9075  // API parameter values that are decorated as "sensitive" in the API will not
  9076  // be included in the string output. The member name will be present, but the
  9077  // value will be replaced with "sensitive".
  9078  func (s UpdateWorkloadShareInput) String() string {
  9079  	return awsutil.Prettify(s)
  9080  }
  9081  
  9082  // GoString returns the string representation.
  9083  //
  9084  // API parameter values that are decorated as "sensitive" in the API will not
  9085  // be included in the string output. The member name will be present, but the
  9086  // value will be replaced with "sensitive".
  9087  func (s UpdateWorkloadShareInput) GoString() string {
  9088  	return s.String()
  9089  }
  9090  
  9091  // Validate inspects the fields of the type to determine if they are valid.
  9092  func (s *UpdateWorkloadShareInput) Validate() error {
  9093  	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkloadShareInput"}
  9094  	if s.PermissionType == nil {
  9095  		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
  9096  	}
  9097  	if s.ShareId == nil {
  9098  		invalidParams.Add(request.NewErrParamRequired("ShareId"))
  9099  	}
  9100  	if s.ShareId != nil && len(*s.ShareId) < 1 {
  9101  		invalidParams.Add(request.NewErrParamMinLen("ShareId", 1))
  9102  	}
  9103  	if s.WorkloadId == nil {
  9104  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  9105  	}
  9106  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  9107  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  9108  	}
  9109  
  9110  	if invalidParams.Len() > 0 {
  9111  		return invalidParams
  9112  	}
  9113  	return nil
  9114  }
  9115  
  9116  // SetPermissionType sets the PermissionType field's value.
  9117  func (s *UpdateWorkloadShareInput) SetPermissionType(v string) *UpdateWorkloadShareInput {
  9118  	s.PermissionType = &v
  9119  	return s
  9120  }
  9121  
  9122  // SetShareId sets the ShareId field's value.
  9123  func (s *UpdateWorkloadShareInput) SetShareId(v string) *UpdateWorkloadShareInput {
  9124  	s.ShareId = &v
  9125  	return s
  9126  }
  9127  
  9128  // SetWorkloadId sets the WorkloadId field's value.
  9129  func (s *UpdateWorkloadShareInput) SetWorkloadId(v string) *UpdateWorkloadShareInput {
  9130  	s.WorkloadId = &v
  9131  	return s
  9132  }
  9133  
  9134  // Input for Update Workload Share
  9135  type UpdateWorkloadShareOutput struct {
  9136  	_ struct{} `type:"structure"`
  9137  
  9138  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9139  	WorkloadId *string `type:"string"`
  9140  
  9141  	// A workload share return object.
  9142  	WorkloadShare *WorkloadShare `type:"structure"`
  9143  }
  9144  
  9145  // String returns the string representation.
  9146  //
  9147  // API parameter values that are decorated as "sensitive" in the API will not
  9148  // be included in the string output. The member name will be present, but the
  9149  // value will be replaced with "sensitive".
  9150  func (s UpdateWorkloadShareOutput) String() string {
  9151  	return awsutil.Prettify(s)
  9152  }
  9153  
  9154  // GoString returns the string representation.
  9155  //
  9156  // API parameter values that are decorated as "sensitive" in the API will not
  9157  // be included in the string output. The member name will be present, but the
  9158  // value will be replaced with "sensitive".
  9159  func (s UpdateWorkloadShareOutput) GoString() string {
  9160  	return s.String()
  9161  }
  9162  
  9163  // SetWorkloadId sets the WorkloadId field's value.
  9164  func (s *UpdateWorkloadShareOutput) SetWorkloadId(v string) *UpdateWorkloadShareOutput {
  9165  	s.WorkloadId = &v
  9166  	return s
  9167  }
  9168  
  9169  // SetWorkloadShare sets the WorkloadShare field's value.
  9170  func (s *UpdateWorkloadShareOutput) SetWorkloadShare(v *WorkloadShare) *UpdateWorkloadShareOutput {
  9171  	s.WorkloadShare = v
  9172  	return s
  9173  }
  9174  
  9175  type UpgradeLensReviewInput struct {
  9176  	_ struct{} `type:"structure"`
  9177  
  9178  	// A unique case-sensitive string used to ensure that this request is idempotent
  9179  	// (executes only once).
  9180  	//
  9181  	// You should not reuse the same token for other requests. If you retry a request
  9182  	// with the same client request token and the same parameters after it has completed
  9183  	// successfully, the result of the original request is returned.
  9184  	//
  9185  	// This token is listed as required, however, if you do not specify it, the
  9186  	// AWS SDKs automatically generate one for you. If you are not using the AWS
  9187  	// SDK or the AWS CLI, you must provide this token or the request will fail.
  9188  	ClientRequestToken *string `type:"string"`
  9189  
  9190  	// The alias of the lens, for example, serverless.
  9191  	//
  9192  	// Each lens is identified by its LensSummary$LensAlias.
  9193  	//
  9194  	// LensAlias is a required field
  9195  	LensAlias *string `location:"uri" locationName:"LensAlias" min:"1" type:"string" required:"true"`
  9196  
  9197  	// The name of the milestone in a workload.
  9198  	//
  9199  	// Milestone names must be unique within a workload.
  9200  	//
  9201  	// MilestoneName is a required field
  9202  	MilestoneName *string `min:"3" type:"string" required:"true"`
  9203  
  9204  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9205  	//
  9206  	// WorkloadId is a required field
  9207  	WorkloadId *string `location:"uri" locationName:"WorkloadId" type:"string" required:"true"`
  9208  }
  9209  
  9210  // String returns the string representation.
  9211  //
  9212  // API parameter values that are decorated as "sensitive" in the API will not
  9213  // be included in the string output. The member name will be present, but the
  9214  // value will be replaced with "sensitive".
  9215  func (s UpgradeLensReviewInput) String() string {
  9216  	return awsutil.Prettify(s)
  9217  }
  9218  
  9219  // GoString returns the string representation.
  9220  //
  9221  // API parameter values that are decorated as "sensitive" in the API will not
  9222  // be included in the string output. The member name will be present, but the
  9223  // value will be replaced with "sensitive".
  9224  func (s UpgradeLensReviewInput) GoString() string {
  9225  	return s.String()
  9226  }
  9227  
  9228  // Validate inspects the fields of the type to determine if they are valid.
  9229  func (s *UpgradeLensReviewInput) Validate() error {
  9230  	invalidParams := request.ErrInvalidParams{Context: "UpgradeLensReviewInput"}
  9231  	if s.LensAlias == nil {
  9232  		invalidParams.Add(request.NewErrParamRequired("LensAlias"))
  9233  	}
  9234  	if s.LensAlias != nil && len(*s.LensAlias) < 1 {
  9235  		invalidParams.Add(request.NewErrParamMinLen("LensAlias", 1))
  9236  	}
  9237  	if s.MilestoneName == nil {
  9238  		invalidParams.Add(request.NewErrParamRequired("MilestoneName"))
  9239  	}
  9240  	if s.MilestoneName != nil && len(*s.MilestoneName) < 3 {
  9241  		invalidParams.Add(request.NewErrParamMinLen("MilestoneName", 3))
  9242  	}
  9243  	if s.WorkloadId == nil {
  9244  		invalidParams.Add(request.NewErrParamRequired("WorkloadId"))
  9245  	}
  9246  	if s.WorkloadId != nil && len(*s.WorkloadId) < 1 {
  9247  		invalidParams.Add(request.NewErrParamMinLen("WorkloadId", 1))
  9248  	}
  9249  
  9250  	if invalidParams.Len() > 0 {
  9251  		return invalidParams
  9252  	}
  9253  	return nil
  9254  }
  9255  
  9256  // SetClientRequestToken sets the ClientRequestToken field's value.
  9257  func (s *UpgradeLensReviewInput) SetClientRequestToken(v string) *UpgradeLensReviewInput {
  9258  	s.ClientRequestToken = &v
  9259  	return s
  9260  }
  9261  
  9262  // SetLensAlias sets the LensAlias field's value.
  9263  func (s *UpgradeLensReviewInput) SetLensAlias(v string) *UpgradeLensReviewInput {
  9264  	s.LensAlias = &v
  9265  	return s
  9266  }
  9267  
  9268  // SetMilestoneName sets the MilestoneName field's value.
  9269  func (s *UpgradeLensReviewInput) SetMilestoneName(v string) *UpgradeLensReviewInput {
  9270  	s.MilestoneName = &v
  9271  	return s
  9272  }
  9273  
  9274  // SetWorkloadId sets the WorkloadId field's value.
  9275  func (s *UpgradeLensReviewInput) SetWorkloadId(v string) *UpgradeLensReviewInput {
  9276  	s.WorkloadId = &v
  9277  	return s
  9278  }
  9279  
  9280  type UpgradeLensReviewOutput struct {
  9281  	_ struct{} `type:"structure" nopayload:"true"`
  9282  }
  9283  
  9284  // String returns the string representation.
  9285  //
  9286  // API parameter values that are decorated as "sensitive" in the API will not
  9287  // be included in the string output. The member name will be present, but the
  9288  // value will be replaced with "sensitive".
  9289  func (s UpgradeLensReviewOutput) String() string {
  9290  	return awsutil.Prettify(s)
  9291  }
  9292  
  9293  // GoString returns the string representation.
  9294  //
  9295  // API parameter values that are decorated as "sensitive" in the API will not
  9296  // be included in the string output. The member name will be present, but the
  9297  // value will be replaced with "sensitive".
  9298  func (s UpgradeLensReviewOutput) GoString() string {
  9299  	return s.String()
  9300  }
  9301  
  9302  // The user input is not valid.
  9303  type ValidationException struct {
  9304  	_            struct{}                  `type:"structure"`
  9305  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9306  
  9307  	// The fields that caused the error, if applicable.
  9308  	Fields []*ValidationExceptionField `type:"list"`
  9309  
  9310  	// Description of the error.
  9311  	Message_ *string `locationName:"Message" type:"string"`
  9312  
  9313  	// The reason why the request failed validation.
  9314  	Reason *string `type:"string" enum:"ValidationExceptionReason"`
  9315  }
  9316  
  9317  // String returns the string representation.
  9318  //
  9319  // API parameter values that are decorated as "sensitive" in the API will not
  9320  // be included in the string output. The member name will be present, but the
  9321  // value will be replaced with "sensitive".
  9322  func (s ValidationException) String() string {
  9323  	return awsutil.Prettify(s)
  9324  }
  9325  
  9326  // GoString returns the string representation.
  9327  //
  9328  // API parameter values that are decorated as "sensitive" in the API will not
  9329  // be included in the string output. The member name will be present, but the
  9330  // value will be replaced with "sensitive".
  9331  func (s ValidationException) GoString() string {
  9332  	return s.String()
  9333  }
  9334  
  9335  func newErrorValidationException(v protocol.ResponseMetadata) error {
  9336  	return &ValidationException{
  9337  		RespMetadata: v,
  9338  	}
  9339  }
  9340  
  9341  // Code returns the exception type name.
  9342  func (s *ValidationException) Code() string {
  9343  	return "ValidationException"
  9344  }
  9345  
  9346  // Message returns the exception's message.
  9347  func (s *ValidationException) Message() string {
  9348  	if s.Message_ != nil {
  9349  		return *s.Message_
  9350  	}
  9351  	return ""
  9352  }
  9353  
  9354  // OrigErr always returns nil, satisfies awserr.Error interface.
  9355  func (s *ValidationException) OrigErr() error {
  9356  	return nil
  9357  }
  9358  
  9359  func (s *ValidationException) Error() string {
  9360  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9361  }
  9362  
  9363  // Status code returns the HTTP status code for the request's response error.
  9364  func (s *ValidationException) StatusCode() int {
  9365  	return s.RespMetadata.StatusCode
  9366  }
  9367  
  9368  // RequestID returns the service's response RequestID for request.
  9369  func (s *ValidationException) RequestID() string {
  9370  	return s.RespMetadata.RequestID
  9371  }
  9372  
  9373  // Stores information about a field passed inside a request that resulted in
  9374  // an exception.
  9375  type ValidationExceptionField struct {
  9376  	_ struct{} `type:"structure"`
  9377  
  9378  	// Description of the error.
  9379  	//
  9380  	// Message is a required field
  9381  	Message *string `type:"string" required:"true"`
  9382  
  9383  	// The field name for which validation failed.
  9384  	//
  9385  	// Name is a required field
  9386  	Name *string `type:"string" required:"true"`
  9387  }
  9388  
  9389  // String returns the string representation.
  9390  //
  9391  // API parameter values that are decorated as "sensitive" in the API will not
  9392  // be included in the string output. The member name will be present, but the
  9393  // value will be replaced with "sensitive".
  9394  func (s ValidationExceptionField) String() string {
  9395  	return awsutil.Prettify(s)
  9396  }
  9397  
  9398  // GoString returns the string representation.
  9399  //
  9400  // API parameter values that are decorated as "sensitive" in the API will not
  9401  // be included in the string output. The member name will be present, but the
  9402  // value will be replaced with "sensitive".
  9403  func (s ValidationExceptionField) GoString() string {
  9404  	return s.String()
  9405  }
  9406  
  9407  // SetMessage sets the Message field's value.
  9408  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  9409  	s.Message = &v
  9410  	return s
  9411  }
  9412  
  9413  // SetName sets the Name field's value.
  9414  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  9415  	s.Name = &v
  9416  	return s
  9417  }
  9418  
  9419  // The differences between the base and latest versions of the lens.
  9420  type VersionDifferences struct {
  9421  	_ struct{} `type:"structure"`
  9422  
  9423  	// The differences between the base and latest versions of the lens.
  9424  	PillarDifferences []*PillarDifference `type:"list"`
  9425  }
  9426  
  9427  // String returns the string representation.
  9428  //
  9429  // API parameter values that are decorated as "sensitive" in the API will not
  9430  // be included in the string output. The member name will be present, but the
  9431  // value will be replaced with "sensitive".
  9432  func (s VersionDifferences) String() string {
  9433  	return awsutil.Prettify(s)
  9434  }
  9435  
  9436  // GoString returns the string representation.
  9437  //
  9438  // API parameter values that are decorated as "sensitive" in the API will not
  9439  // be included in the string output. The member name will be present, but the
  9440  // value will be replaced with "sensitive".
  9441  func (s VersionDifferences) GoString() string {
  9442  	return s.String()
  9443  }
  9444  
  9445  // SetPillarDifferences sets the PillarDifferences field's value.
  9446  func (s *VersionDifferences) SetPillarDifferences(v []*PillarDifference) *VersionDifferences {
  9447  	s.PillarDifferences = v
  9448  	return s
  9449  }
  9450  
  9451  // A workload return object.
  9452  type Workload struct {
  9453  	_ struct{} `type:"structure"`
  9454  
  9455  	// The list of AWS account IDs associated with the workload.
  9456  	AccountIds []*string `type:"list"`
  9457  
  9458  	// The URL of the architectural design for the workload.
  9459  	ArchitecturalDesign *string `type:"string"`
  9460  
  9461  	// The list of AWS Regions associated with the workload, for example, us-east-2,
  9462  	// or ca-central-1.
  9463  	AwsRegions []*string `type:"list"`
  9464  
  9465  	// The description for the workload.
  9466  	Description *string `min:"3" type:"string"`
  9467  
  9468  	// The environment for the workload.
  9469  	Environment *string `type:"string" enum:"WorkloadEnvironment"`
  9470  
  9471  	// The improvement status for a workload.
  9472  	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
  9473  
  9474  	// The industry for the workload.
  9475  	Industry *string `type:"string"`
  9476  
  9477  	// The industry type for the workload.
  9478  	//
  9479  	// If specified, must be one of the following:
  9480  	//
  9481  	//    * Agriculture
  9482  	//
  9483  	//    * Automobile
  9484  	//
  9485  	//    * Defense
  9486  	//
  9487  	//    * Design and Engineering
  9488  	//
  9489  	//    * Digital Advertising
  9490  	//
  9491  	//    * Education
  9492  	//
  9493  	//    * Environmental Protection
  9494  	//
  9495  	//    * Financial Services
  9496  	//
  9497  	//    * Gaming
  9498  	//
  9499  	//    * General Public Services
  9500  	//
  9501  	//    * Healthcare
  9502  	//
  9503  	//    * Hospitality
  9504  	//
  9505  	//    * InfoTech
  9506  	//
  9507  	//    * Justice and Public Safety
  9508  	//
  9509  	//    * Life Sciences
  9510  	//
  9511  	//    * Manufacturing
  9512  	//
  9513  	//    * Media & Entertainment
  9514  	//
  9515  	//    * Mining & Resources
  9516  	//
  9517  	//    * Oil & Gas
  9518  	//
  9519  	//    * Power & Utilities
  9520  	//
  9521  	//    * Professional Services
  9522  	//
  9523  	//    * Real Estate & Construction
  9524  	//
  9525  	//    * Retail & Wholesale
  9526  	//
  9527  	//    * Social Protection
  9528  	//
  9529  	//    * Telecommunications
  9530  	//
  9531  	//    * Travel, Transportation & Logistics
  9532  	//
  9533  	//    * Other
  9534  	IndustryType *string `type:"string"`
  9535  
  9536  	// Flag indicating whether the workload owner has acknowledged that the Review
  9537  	// owner field is required.
  9538  	//
  9539  	// If a Review owner is not added to the workload within 60 days of acknowledgement,
  9540  	// access to the workload is restricted until an owner is added.
  9541  	IsReviewOwnerUpdateAcknowledged *bool `type:"boolean"`
  9542  
  9543  	// The list of lenses associated with the workload. Each lens is identified
  9544  	// by its LensSummary$LensAlias.
  9545  	Lenses []*string `type:"list"`
  9546  
  9547  	// The list of non-AWS Regions associated with the workload.
  9548  	NonAwsRegions []*string `type:"list"`
  9549  
  9550  	// The notes associated with the workload.
  9551  	Notes *string `type:"string"`
  9552  
  9553  	// An AWS account ID.
  9554  	Owner *string `type:"string"`
  9555  
  9556  	// The priorities of the pillars, which are used to order items in the improvement
  9557  	// plan. Each pillar is represented by its PillarReviewSummary$PillarId.
  9558  	PillarPriorities []*string `type:"list"`
  9559  
  9560  	// The review owner of the workload. The name, email address, or identifier
  9561  	// for the primary group or individual that owns the workload review process.
  9562  	ReviewOwner *string `min:"3" type:"string"`
  9563  
  9564  	// The date and time recorded.
  9565  	ReviewRestrictionDate *time.Time `type:"timestamp"`
  9566  
  9567  	// A map from risk names to the count of how questions have that rating.
  9568  	RiskCounts map[string]*int64 `type:"map"`
  9569  
  9570  	// The ID assigned to the share invitation.
  9571  	ShareInvitationId *string `type:"string"`
  9572  
  9573  	// The tags associated with the workload.
  9574  	Tags map[string]*string `min:"1" type:"map"`
  9575  
  9576  	// The date and time recorded.
  9577  	UpdatedAt *time.Time `type:"timestamp"`
  9578  
  9579  	// The ARN for the workload.
  9580  	WorkloadArn *string `type:"string"`
  9581  
  9582  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9583  	WorkloadId *string `type:"string"`
  9584  
  9585  	// The name of the workload.
  9586  	//
  9587  	// The name must be unique within an account within a Region. Spaces and capitalization
  9588  	// are ignored when checking for uniqueness.
  9589  	WorkloadName *string `min:"3" type:"string"`
  9590  }
  9591  
  9592  // String returns the string representation.
  9593  //
  9594  // API parameter values that are decorated as "sensitive" in the API will not
  9595  // be included in the string output. The member name will be present, but the
  9596  // value will be replaced with "sensitive".
  9597  func (s Workload) String() string {
  9598  	return awsutil.Prettify(s)
  9599  }
  9600  
  9601  // GoString returns the string representation.
  9602  //
  9603  // API parameter values that are decorated as "sensitive" in the API will not
  9604  // be included in the string output. The member name will be present, but the
  9605  // value will be replaced with "sensitive".
  9606  func (s Workload) GoString() string {
  9607  	return s.String()
  9608  }
  9609  
  9610  // SetAccountIds sets the AccountIds field's value.
  9611  func (s *Workload) SetAccountIds(v []*string) *Workload {
  9612  	s.AccountIds = v
  9613  	return s
  9614  }
  9615  
  9616  // SetArchitecturalDesign sets the ArchitecturalDesign field's value.
  9617  func (s *Workload) SetArchitecturalDesign(v string) *Workload {
  9618  	s.ArchitecturalDesign = &v
  9619  	return s
  9620  }
  9621  
  9622  // SetAwsRegions sets the AwsRegions field's value.
  9623  func (s *Workload) SetAwsRegions(v []*string) *Workload {
  9624  	s.AwsRegions = v
  9625  	return s
  9626  }
  9627  
  9628  // SetDescription sets the Description field's value.
  9629  func (s *Workload) SetDescription(v string) *Workload {
  9630  	s.Description = &v
  9631  	return s
  9632  }
  9633  
  9634  // SetEnvironment sets the Environment field's value.
  9635  func (s *Workload) SetEnvironment(v string) *Workload {
  9636  	s.Environment = &v
  9637  	return s
  9638  }
  9639  
  9640  // SetImprovementStatus sets the ImprovementStatus field's value.
  9641  func (s *Workload) SetImprovementStatus(v string) *Workload {
  9642  	s.ImprovementStatus = &v
  9643  	return s
  9644  }
  9645  
  9646  // SetIndustry sets the Industry field's value.
  9647  func (s *Workload) SetIndustry(v string) *Workload {
  9648  	s.Industry = &v
  9649  	return s
  9650  }
  9651  
  9652  // SetIndustryType sets the IndustryType field's value.
  9653  func (s *Workload) SetIndustryType(v string) *Workload {
  9654  	s.IndustryType = &v
  9655  	return s
  9656  }
  9657  
  9658  // SetIsReviewOwnerUpdateAcknowledged sets the IsReviewOwnerUpdateAcknowledged field's value.
  9659  func (s *Workload) SetIsReviewOwnerUpdateAcknowledged(v bool) *Workload {
  9660  	s.IsReviewOwnerUpdateAcknowledged = &v
  9661  	return s
  9662  }
  9663  
  9664  // SetLenses sets the Lenses field's value.
  9665  func (s *Workload) SetLenses(v []*string) *Workload {
  9666  	s.Lenses = v
  9667  	return s
  9668  }
  9669  
  9670  // SetNonAwsRegions sets the NonAwsRegions field's value.
  9671  func (s *Workload) SetNonAwsRegions(v []*string) *Workload {
  9672  	s.NonAwsRegions = v
  9673  	return s
  9674  }
  9675  
  9676  // SetNotes sets the Notes field's value.
  9677  func (s *Workload) SetNotes(v string) *Workload {
  9678  	s.Notes = &v
  9679  	return s
  9680  }
  9681  
  9682  // SetOwner sets the Owner field's value.
  9683  func (s *Workload) SetOwner(v string) *Workload {
  9684  	s.Owner = &v
  9685  	return s
  9686  }
  9687  
  9688  // SetPillarPriorities sets the PillarPriorities field's value.
  9689  func (s *Workload) SetPillarPriorities(v []*string) *Workload {
  9690  	s.PillarPriorities = v
  9691  	return s
  9692  }
  9693  
  9694  // SetReviewOwner sets the ReviewOwner field's value.
  9695  func (s *Workload) SetReviewOwner(v string) *Workload {
  9696  	s.ReviewOwner = &v
  9697  	return s
  9698  }
  9699  
  9700  // SetReviewRestrictionDate sets the ReviewRestrictionDate field's value.
  9701  func (s *Workload) SetReviewRestrictionDate(v time.Time) *Workload {
  9702  	s.ReviewRestrictionDate = &v
  9703  	return s
  9704  }
  9705  
  9706  // SetRiskCounts sets the RiskCounts field's value.
  9707  func (s *Workload) SetRiskCounts(v map[string]*int64) *Workload {
  9708  	s.RiskCounts = v
  9709  	return s
  9710  }
  9711  
  9712  // SetShareInvitationId sets the ShareInvitationId field's value.
  9713  func (s *Workload) SetShareInvitationId(v string) *Workload {
  9714  	s.ShareInvitationId = &v
  9715  	return s
  9716  }
  9717  
  9718  // SetTags sets the Tags field's value.
  9719  func (s *Workload) SetTags(v map[string]*string) *Workload {
  9720  	s.Tags = v
  9721  	return s
  9722  }
  9723  
  9724  // SetUpdatedAt sets the UpdatedAt field's value.
  9725  func (s *Workload) SetUpdatedAt(v time.Time) *Workload {
  9726  	s.UpdatedAt = &v
  9727  	return s
  9728  }
  9729  
  9730  // SetWorkloadArn sets the WorkloadArn field's value.
  9731  func (s *Workload) SetWorkloadArn(v string) *Workload {
  9732  	s.WorkloadArn = &v
  9733  	return s
  9734  }
  9735  
  9736  // SetWorkloadId sets the WorkloadId field's value.
  9737  func (s *Workload) SetWorkloadId(v string) *Workload {
  9738  	s.WorkloadId = &v
  9739  	return s
  9740  }
  9741  
  9742  // SetWorkloadName sets the WorkloadName field's value.
  9743  func (s *Workload) SetWorkloadName(v string) *Workload {
  9744  	s.WorkloadName = &v
  9745  	return s
  9746  }
  9747  
  9748  // A workload share return object.
  9749  type WorkloadShare struct {
  9750  	_ struct{} `type:"structure"`
  9751  
  9752  	// Permission granted on a workload share.
  9753  	PermissionType *string `type:"string" enum:"PermissionType"`
  9754  
  9755  	// The ID associated with the workload share.
  9756  	ShareId *string `type:"string"`
  9757  
  9758  	// An AWS account ID.
  9759  	SharedBy *string `type:"string"`
  9760  
  9761  	// The AWS account ID or IAM role with which the workload is shared.
  9762  	SharedWith *string `min:"12" type:"string"`
  9763  
  9764  	// The status of a workload share.
  9765  	Status *string `type:"string" enum:"ShareStatus"`
  9766  
  9767  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9768  	WorkloadId *string `type:"string"`
  9769  
  9770  	// The name of the workload.
  9771  	//
  9772  	// The name must be unique within an account within a Region. Spaces and capitalization
  9773  	// are ignored when checking for uniqueness.
  9774  	WorkloadName *string `min:"3" type:"string"`
  9775  }
  9776  
  9777  // String returns the string representation.
  9778  //
  9779  // API parameter values that are decorated as "sensitive" in the API will not
  9780  // be included in the string output. The member name will be present, but the
  9781  // value will be replaced with "sensitive".
  9782  func (s WorkloadShare) String() string {
  9783  	return awsutil.Prettify(s)
  9784  }
  9785  
  9786  // GoString returns the string representation.
  9787  //
  9788  // API parameter values that are decorated as "sensitive" in the API will not
  9789  // be included in the string output. The member name will be present, but the
  9790  // value will be replaced with "sensitive".
  9791  func (s WorkloadShare) GoString() string {
  9792  	return s.String()
  9793  }
  9794  
  9795  // SetPermissionType sets the PermissionType field's value.
  9796  func (s *WorkloadShare) SetPermissionType(v string) *WorkloadShare {
  9797  	s.PermissionType = &v
  9798  	return s
  9799  }
  9800  
  9801  // SetShareId sets the ShareId field's value.
  9802  func (s *WorkloadShare) SetShareId(v string) *WorkloadShare {
  9803  	s.ShareId = &v
  9804  	return s
  9805  }
  9806  
  9807  // SetSharedBy sets the SharedBy field's value.
  9808  func (s *WorkloadShare) SetSharedBy(v string) *WorkloadShare {
  9809  	s.SharedBy = &v
  9810  	return s
  9811  }
  9812  
  9813  // SetSharedWith sets the SharedWith field's value.
  9814  func (s *WorkloadShare) SetSharedWith(v string) *WorkloadShare {
  9815  	s.SharedWith = &v
  9816  	return s
  9817  }
  9818  
  9819  // SetStatus sets the Status field's value.
  9820  func (s *WorkloadShare) SetStatus(v string) *WorkloadShare {
  9821  	s.Status = &v
  9822  	return s
  9823  }
  9824  
  9825  // SetWorkloadId sets the WorkloadId field's value.
  9826  func (s *WorkloadShare) SetWorkloadId(v string) *WorkloadShare {
  9827  	s.WorkloadId = &v
  9828  	return s
  9829  }
  9830  
  9831  // SetWorkloadName sets the WorkloadName field's value.
  9832  func (s *WorkloadShare) SetWorkloadName(v string) *WorkloadShare {
  9833  	s.WorkloadName = &v
  9834  	return s
  9835  }
  9836  
  9837  // A workload share summary return object.
  9838  type WorkloadShareSummary struct {
  9839  	_ struct{} `type:"structure"`
  9840  
  9841  	// Permission granted on a workload share.
  9842  	PermissionType *string `type:"string" enum:"PermissionType"`
  9843  
  9844  	// The ID associated with the workload share.
  9845  	ShareId *string `type:"string"`
  9846  
  9847  	// The AWS account ID or IAM role with which the workload is shared.
  9848  	SharedWith *string `min:"12" type:"string"`
  9849  
  9850  	// The status of a workload share.
  9851  	Status *string `type:"string" enum:"ShareStatus"`
  9852  }
  9853  
  9854  // String returns the string representation.
  9855  //
  9856  // API parameter values that are decorated as "sensitive" in the API will not
  9857  // be included in the string output. The member name will be present, but the
  9858  // value will be replaced with "sensitive".
  9859  func (s WorkloadShareSummary) String() string {
  9860  	return awsutil.Prettify(s)
  9861  }
  9862  
  9863  // GoString returns the string representation.
  9864  //
  9865  // API parameter values that are decorated as "sensitive" in the API will not
  9866  // be included in the string output. The member name will be present, but the
  9867  // value will be replaced with "sensitive".
  9868  func (s WorkloadShareSummary) GoString() string {
  9869  	return s.String()
  9870  }
  9871  
  9872  // SetPermissionType sets the PermissionType field's value.
  9873  func (s *WorkloadShareSummary) SetPermissionType(v string) *WorkloadShareSummary {
  9874  	s.PermissionType = &v
  9875  	return s
  9876  }
  9877  
  9878  // SetShareId sets the ShareId field's value.
  9879  func (s *WorkloadShareSummary) SetShareId(v string) *WorkloadShareSummary {
  9880  	s.ShareId = &v
  9881  	return s
  9882  }
  9883  
  9884  // SetSharedWith sets the SharedWith field's value.
  9885  func (s *WorkloadShareSummary) SetSharedWith(v string) *WorkloadShareSummary {
  9886  	s.SharedWith = &v
  9887  	return s
  9888  }
  9889  
  9890  // SetStatus sets the Status field's value.
  9891  func (s *WorkloadShareSummary) SetStatus(v string) *WorkloadShareSummary {
  9892  	s.Status = &v
  9893  	return s
  9894  }
  9895  
  9896  // A workload summary return object.
  9897  type WorkloadSummary struct {
  9898  	_ struct{} `type:"structure"`
  9899  
  9900  	// The improvement status for a workload.
  9901  	ImprovementStatus *string `type:"string" enum:"WorkloadImprovementStatus"`
  9902  
  9903  	// The list of lenses associated with the workload. Each lens is identified
  9904  	// by its LensSummary$LensAlias.
  9905  	Lenses []*string `type:"list"`
  9906  
  9907  	// An AWS account ID.
  9908  	Owner *string `type:"string"`
  9909  
  9910  	// A map from risk names to the count of how questions have that rating.
  9911  	RiskCounts map[string]*int64 `type:"map"`
  9912  
  9913  	// The date and time recorded.
  9914  	UpdatedAt *time.Time `type:"timestamp"`
  9915  
  9916  	// The ARN for the workload.
  9917  	WorkloadArn *string `type:"string"`
  9918  
  9919  	// The ID assigned to the workload. This ID is unique within an AWS Region.
  9920  	WorkloadId *string `type:"string"`
  9921  
  9922  	// The name of the workload.
  9923  	//
  9924  	// The name must be unique within an account within a Region. Spaces and capitalization
  9925  	// are ignored when checking for uniqueness.
  9926  	WorkloadName *string `min:"3" type:"string"`
  9927  }
  9928  
  9929  // String returns the string representation.
  9930  //
  9931  // API parameter values that are decorated as "sensitive" in the API will not
  9932  // be included in the string output. The member name will be present, but the
  9933  // value will be replaced with "sensitive".
  9934  func (s WorkloadSummary) String() string {
  9935  	return awsutil.Prettify(s)
  9936  }
  9937  
  9938  // GoString returns the string representation.
  9939  //
  9940  // API parameter values that are decorated as "sensitive" in the API will not
  9941  // be included in the string output. The member name will be present, but the
  9942  // value will be replaced with "sensitive".
  9943  func (s WorkloadSummary) GoString() string {
  9944  	return s.String()
  9945  }
  9946  
  9947  // SetImprovementStatus sets the ImprovementStatus field's value.
  9948  func (s *WorkloadSummary) SetImprovementStatus(v string) *WorkloadSummary {
  9949  	s.ImprovementStatus = &v
  9950  	return s
  9951  }
  9952  
  9953  // SetLenses sets the Lenses field's value.
  9954  func (s *WorkloadSummary) SetLenses(v []*string) *WorkloadSummary {
  9955  	s.Lenses = v
  9956  	return s
  9957  }
  9958  
  9959  // SetOwner sets the Owner field's value.
  9960  func (s *WorkloadSummary) SetOwner(v string) *WorkloadSummary {
  9961  	s.Owner = &v
  9962  	return s
  9963  }
  9964  
  9965  // SetRiskCounts sets the RiskCounts field's value.
  9966  func (s *WorkloadSummary) SetRiskCounts(v map[string]*int64) *WorkloadSummary {
  9967  	s.RiskCounts = v
  9968  	return s
  9969  }
  9970  
  9971  // SetUpdatedAt sets the UpdatedAt field's value.
  9972  func (s *WorkloadSummary) SetUpdatedAt(v time.Time) *WorkloadSummary {
  9973  	s.UpdatedAt = &v
  9974  	return s
  9975  }
  9976  
  9977  // SetWorkloadArn sets the WorkloadArn field's value.
  9978  func (s *WorkloadSummary) SetWorkloadArn(v string) *WorkloadSummary {
  9979  	s.WorkloadArn = &v
  9980  	return s
  9981  }
  9982  
  9983  // SetWorkloadId sets the WorkloadId field's value.
  9984  func (s *WorkloadSummary) SetWorkloadId(v string) *WorkloadSummary {
  9985  	s.WorkloadId = &v
  9986  	return s
  9987  }
  9988  
  9989  // SetWorkloadName sets the WorkloadName field's value.
  9990  func (s *WorkloadSummary) SetWorkloadName(v string) *WorkloadSummary {
  9991  	s.WorkloadName = &v
  9992  	return s
  9993  }
  9994  
  9995  const (
  9996  	// AnswerReasonOutOfScope is a AnswerReason enum value
  9997  	AnswerReasonOutOfScope = "OUT_OF_SCOPE"
  9998  
  9999  	// AnswerReasonBusinessPriorities is a AnswerReason enum value
 10000  	AnswerReasonBusinessPriorities = "BUSINESS_PRIORITIES"
 10001  
 10002  	// AnswerReasonArchitectureConstraints is a AnswerReason enum value
 10003  	AnswerReasonArchitectureConstraints = "ARCHITECTURE_CONSTRAINTS"
 10004  
 10005  	// AnswerReasonOther is a AnswerReason enum value
 10006  	AnswerReasonOther = "OTHER"
 10007  
 10008  	// AnswerReasonNone is a AnswerReason enum value
 10009  	AnswerReasonNone = "NONE"
 10010  )
 10011  
 10012  // AnswerReason_Values returns all elements of the AnswerReason enum
 10013  func AnswerReason_Values() []string {
 10014  	return []string{
 10015  		AnswerReasonOutOfScope,
 10016  		AnswerReasonBusinessPriorities,
 10017  		AnswerReasonArchitectureConstraints,
 10018  		AnswerReasonOther,
 10019  		AnswerReasonNone,
 10020  	}
 10021  }
 10022  
 10023  const (
 10024  	// ChoiceReasonOutOfScope is a ChoiceReason enum value
 10025  	ChoiceReasonOutOfScope = "OUT_OF_SCOPE"
 10026  
 10027  	// ChoiceReasonBusinessPriorities is a ChoiceReason enum value
 10028  	ChoiceReasonBusinessPriorities = "BUSINESS_PRIORITIES"
 10029  
 10030  	// ChoiceReasonArchitectureConstraints is a ChoiceReason enum value
 10031  	ChoiceReasonArchitectureConstraints = "ARCHITECTURE_CONSTRAINTS"
 10032  
 10033  	// ChoiceReasonOther is a ChoiceReason enum value
 10034  	ChoiceReasonOther = "OTHER"
 10035  
 10036  	// ChoiceReasonNone is a ChoiceReason enum value
 10037  	ChoiceReasonNone = "NONE"
 10038  )
 10039  
 10040  // ChoiceReason_Values returns all elements of the ChoiceReason enum
 10041  func ChoiceReason_Values() []string {
 10042  	return []string{
 10043  		ChoiceReasonOutOfScope,
 10044  		ChoiceReasonBusinessPriorities,
 10045  		ChoiceReasonArchitectureConstraints,
 10046  		ChoiceReasonOther,
 10047  		ChoiceReasonNone,
 10048  	}
 10049  }
 10050  
 10051  const (
 10052  	// ChoiceStatusSelected is a ChoiceStatus enum value
 10053  	ChoiceStatusSelected = "SELECTED"
 10054  
 10055  	// ChoiceStatusNotApplicable is a ChoiceStatus enum value
 10056  	ChoiceStatusNotApplicable = "NOT_APPLICABLE"
 10057  
 10058  	// ChoiceStatusUnselected is a ChoiceStatus enum value
 10059  	ChoiceStatusUnselected = "UNSELECTED"
 10060  )
 10061  
 10062  // ChoiceStatus_Values returns all elements of the ChoiceStatus enum
 10063  func ChoiceStatus_Values() []string {
 10064  	return []string{
 10065  		ChoiceStatusSelected,
 10066  		ChoiceStatusNotApplicable,
 10067  		ChoiceStatusUnselected,
 10068  	}
 10069  }
 10070  
 10071  const (
 10072  	// DifferenceStatusUpdated is a DifferenceStatus enum value
 10073  	DifferenceStatusUpdated = "UPDATED"
 10074  
 10075  	// DifferenceStatusNew is a DifferenceStatus enum value
 10076  	DifferenceStatusNew = "NEW"
 10077  
 10078  	// DifferenceStatusDeleted is a DifferenceStatus enum value
 10079  	DifferenceStatusDeleted = "DELETED"
 10080  )
 10081  
 10082  // DifferenceStatus_Values returns all elements of the DifferenceStatus enum
 10083  func DifferenceStatus_Values() []string {
 10084  	return []string{
 10085  		DifferenceStatusUpdated,
 10086  		DifferenceStatusNew,
 10087  		DifferenceStatusDeleted,
 10088  	}
 10089  }
 10090  
 10091  const (
 10092  	// LensStatusCurrent is a LensStatus enum value
 10093  	LensStatusCurrent = "CURRENT"
 10094  
 10095  	// LensStatusNotCurrent is a LensStatus enum value
 10096  	LensStatusNotCurrent = "NOT_CURRENT"
 10097  
 10098  	// LensStatusDeprecated is a LensStatus enum value
 10099  	LensStatusDeprecated = "DEPRECATED"
 10100  )
 10101  
 10102  // LensStatus_Values returns all elements of the LensStatus enum
 10103  func LensStatus_Values() []string {
 10104  	return []string{
 10105  		LensStatusCurrent,
 10106  		LensStatusNotCurrent,
 10107  		LensStatusDeprecated,
 10108  	}
 10109  }
 10110  
 10111  const (
 10112  	// NotificationTypeLensVersionUpgraded is a NotificationType enum value
 10113  	NotificationTypeLensVersionUpgraded = "LENS_VERSION_UPGRADED"
 10114  
 10115  	// NotificationTypeLensVersionDeprecated is a NotificationType enum value
 10116  	NotificationTypeLensVersionDeprecated = "LENS_VERSION_DEPRECATED"
 10117  )
 10118  
 10119  // NotificationType_Values returns all elements of the NotificationType enum
 10120  func NotificationType_Values() []string {
 10121  	return []string{
 10122  		NotificationTypeLensVersionUpgraded,
 10123  		NotificationTypeLensVersionDeprecated,
 10124  	}
 10125  }
 10126  
 10127  // Permission granted on a workload share.
 10128  const (
 10129  	// PermissionTypeReadonly is a PermissionType enum value
 10130  	PermissionTypeReadonly = "READONLY"
 10131  
 10132  	// PermissionTypeContributor is a PermissionType enum value
 10133  	PermissionTypeContributor = "CONTRIBUTOR"
 10134  )
 10135  
 10136  // PermissionType_Values returns all elements of the PermissionType enum
 10137  func PermissionType_Values() []string {
 10138  	return []string{
 10139  		PermissionTypeReadonly,
 10140  		PermissionTypeContributor,
 10141  	}
 10142  }
 10143  
 10144  // The risk for a given workload, lens review, pillar, or question.
 10145  const (
 10146  	// RiskUnanswered is a Risk enum value
 10147  	RiskUnanswered = "UNANSWERED"
 10148  
 10149  	// RiskHigh is a Risk enum value
 10150  	RiskHigh = "HIGH"
 10151  
 10152  	// RiskMedium is a Risk enum value
 10153  	RiskMedium = "MEDIUM"
 10154  
 10155  	// RiskNone is a Risk enum value
 10156  	RiskNone = "NONE"
 10157  
 10158  	// RiskNotApplicable is a Risk enum value
 10159  	RiskNotApplicable = "NOT_APPLICABLE"
 10160  )
 10161  
 10162  // Risk_Values returns all elements of the Risk enum
 10163  func Risk_Values() []string {
 10164  	return []string{
 10165  		RiskUnanswered,
 10166  		RiskHigh,
 10167  		RiskMedium,
 10168  		RiskNone,
 10169  		RiskNotApplicable,
 10170  	}
 10171  }
 10172  
 10173  // Share invitation action taken by contributor.
 10174  const (
 10175  	// ShareInvitationActionAccept is a ShareInvitationAction enum value
 10176  	ShareInvitationActionAccept = "ACCEPT"
 10177  
 10178  	// ShareInvitationActionReject is a ShareInvitationAction enum value
 10179  	ShareInvitationActionReject = "REJECT"
 10180  )
 10181  
 10182  // ShareInvitationAction_Values returns all elements of the ShareInvitationAction enum
 10183  func ShareInvitationAction_Values() []string {
 10184  	return []string{
 10185  		ShareInvitationActionAccept,
 10186  		ShareInvitationActionReject,
 10187  	}
 10188  }
 10189  
 10190  // The status of a workload share.
 10191  const (
 10192  	// ShareStatusAccepted is a ShareStatus enum value
 10193  	ShareStatusAccepted = "ACCEPTED"
 10194  
 10195  	// ShareStatusRejected is a ShareStatus enum value
 10196  	ShareStatusRejected = "REJECTED"
 10197  
 10198  	// ShareStatusPending is a ShareStatus enum value
 10199  	ShareStatusPending = "PENDING"
 10200  
 10201  	// ShareStatusRevoked is a ShareStatus enum value
 10202  	ShareStatusRevoked = "REVOKED"
 10203  
 10204  	// ShareStatusExpired is a ShareStatus enum value
 10205  	ShareStatusExpired = "EXPIRED"
 10206  )
 10207  
 10208  // ShareStatus_Values returns all elements of the ShareStatus enum
 10209  func ShareStatus_Values() []string {
 10210  	return []string{
 10211  		ShareStatusAccepted,
 10212  		ShareStatusRejected,
 10213  		ShareStatusPending,
 10214  		ShareStatusRevoked,
 10215  		ShareStatusExpired,
 10216  	}
 10217  }
 10218  
 10219  // The reason why the request failed validation.
 10220  const (
 10221  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
 10222  	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
 10223  
 10224  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
 10225  	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
 10226  
 10227  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
 10228  	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
 10229  
 10230  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
 10231  	ValidationExceptionReasonOther = "OTHER"
 10232  )
 10233  
 10234  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
 10235  func ValidationExceptionReason_Values() []string {
 10236  	return []string{
 10237  		ValidationExceptionReasonUnknownOperation,
 10238  		ValidationExceptionReasonCannotParse,
 10239  		ValidationExceptionReasonFieldValidationFailed,
 10240  		ValidationExceptionReasonOther,
 10241  	}
 10242  }
 10243  
 10244  // The environment for the workload.
 10245  const (
 10246  	// WorkloadEnvironmentProduction is a WorkloadEnvironment enum value
 10247  	WorkloadEnvironmentProduction = "PRODUCTION"
 10248  
 10249  	// WorkloadEnvironmentPreproduction is a WorkloadEnvironment enum value
 10250  	WorkloadEnvironmentPreproduction = "PREPRODUCTION"
 10251  )
 10252  
 10253  // WorkloadEnvironment_Values returns all elements of the WorkloadEnvironment enum
 10254  func WorkloadEnvironment_Values() []string {
 10255  	return []string{
 10256  		WorkloadEnvironmentProduction,
 10257  		WorkloadEnvironmentPreproduction,
 10258  	}
 10259  }
 10260  
 10261  // The improvement status for a workload.
 10262  const (
 10263  	// WorkloadImprovementStatusNotApplicable is a WorkloadImprovementStatus enum value
 10264  	WorkloadImprovementStatusNotApplicable = "NOT_APPLICABLE"
 10265  
 10266  	// WorkloadImprovementStatusNotStarted is a WorkloadImprovementStatus enum value
 10267  	WorkloadImprovementStatusNotStarted = "NOT_STARTED"
 10268  
 10269  	// WorkloadImprovementStatusInProgress is a WorkloadImprovementStatus enum value
 10270  	WorkloadImprovementStatusInProgress = "IN_PROGRESS"
 10271  
 10272  	// WorkloadImprovementStatusComplete is a WorkloadImprovementStatus enum value
 10273  	WorkloadImprovementStatusComplete = "COMPLETE"
 10274  
 10275  	// WorkloadImprovementStatusRiskAcknowledged is a WorkloadImprovementStatus enum value
 10276  	WorkloadImprovementStatusRiskAcknowledged = "RISK_ACKNOWLEDGED"
 10277  )
 10278  
 10279  // WorkloadImprovementStatus_Values returns all elements of the WorkloadImprovementStatus enum
 10280  func WorkloadImprovementStatus_Values() []string {
 10281  	return []string{
 10282  		WorkloadImprovementStatusNotApplicable,
 10283  		WorkloadImprovementStatusNotStarted,
 10284  		WorkloadImprovementStatusInProgress,
 10285  		WorkloadImprovementStatusComplete,
 10286  		WorkloadImprovementStatusRiskAcknowledged,
 10287  	}
 10288  }