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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package imagebuilder
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opCancelImageCreation = "CancelImageCreation"
    16  
    17  // CancelImageCreationRequest generates a "aws/request.Request" representing the
    18  // client's request for the CancelImageCreation operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CancelImageCreation for more information on using the CancelImageCreation
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CancelImageCreationRequest method.
    33  //    req, resp := client.CancelImageCreationRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreation
    41  func (c *Imagebuilder) CancelImageCreationRequest(input *CancelImageCreationInput) (req *request.Request, output *CancelImageCreationOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCancelImageCreation,
    44  		HTTPMethod: "PUT",
    45  		HTTPPath:   "/CancelImageCreation",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CancelImageCreationInput{}
    50  	}
    51  
    52  	output = &CancelImageCreationOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // CancelImageCreation API operation for EC2 Image Builder.
    58  //
    59  // CancelImageCreation cancels the creation of Image. This operation can only
    60  // be used on images in a non-terminal state.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for EC2 Image Builder's
    67  // API operation CancelImageCreation for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ServiceException
    71  //   This exception is thrown when the service encounters an unrecoverable exception.
    72  //
    73  //   * ClientException
    74  //   These errors are usually caused by a client action, such as using an action
    75  //   or resource on behalf of a user that doesn't have permissions to use the
    76  //   action or resource, or specifying an invalid resource identifier.
    77  //
    78  //   * ServiceUnavailableException
    79  //   The service is unable to process your request at this time.
    80  //
    81  //   * InvalidRequestException
    82  //   You have made a request for an action that is not supported by the service.
    83  //
    84  //   * IdempotentParameterMismatchException
    85  //   You have specified a client token for an operation using parameter values
    86  //   that differ from a previous request that used the same client token.
    87  //
    88  //   * ForbiddenException
    89  //   You are not authorized to perform the requested operation.
    90  //
    91  //   * CallRateLimitExceededException
    92  //   You have exceeded the permitted request rate for the specific operation.
    93  //
    94  //   * ResourceInUseException
    95  //   The resource that you are trying to operate on is currently in use. Review
    96  //   the message details and retry later.
    97  //
    98  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreation
    99  func (c *Imagebuilder) CancelImageCreation(input *CancelImageCreationInput) (*CancelImageCreationOutput, error) {
   100  	req, out := c.CancelImageCreationRequest(input)
   101  	return out, req.Send()
   102  }
   103  
   104  // CancelImageCreationWithContext is the same as CancelImageCreation with the addition of
   105  // the ability to pass a context and additional request options.
   106  //
   107  // See CancelImageCreation for details on how to use this API operation.
   108  //
   109  // The context must be non-nil and will be used for request cancellation. If
   110  // the context is nil a panic will occur. In the future the SDK may create
   111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   112  // for more information on using Contexts.
   113  func (c *Imagebuilder) CancelImageCreationWithContext(ctx aws.Context, input *CancelImageCreationInput, opts ...request.Option) (*CancelImageCreationOutput, error) {
   114  	req, out := c.CancelImageCreationRequest(input)
   115  	req.SetContext(ctx)
   116  	req.ApplyOptions(opts...)
   117  	return out, req.Send()
   118  }
   119  
   120  const opCreateComponent = "CreateComponent"
   121  
   122  // CreateComponentRequest generates a "aws/request.Request" representing the
   123  // client's request for the CreateComponent operation. The "output" return
   124  // value will be populated with the request's response once the request completes
   125  // successfully.
   126  //
   127  // Use "Send" method on the returned Request to send the API call to the service.
   128  // the "output" return value is not valid until after Send returns without error.
   129  //
   130  // See CreateComponent for more information on using the CreateComponent
   131  // API call, and error handling.
   132  //
   133  // This method is useful when you want to inject custom logic or configuration
   134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   135  //
   136  //
   137  //    // Example sending a request using the CreateComponentRequest method.
   138  //    req, resp := client.CreateComponentRequest(params)
   139  //
   140  //    err := req.Send()
   141  //    if err == nil { // resp is now filled
   142  //        fmt.Println(resp)
   143  //    }
   144  //
   145  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponent
   146  func (c *Imagebuilder) CreateComponentRequest(input *CreateComponentInput) (req *request.Request, output *CreateComponentOutput) {
   147  	op := &request.Operation{
   148  		Name:       opCreateComponent,
   149  		HTTPMethod: "PUT",
   150  		HTTPPath:   "/CreateComponent",
   151  	}
   152  
   153  	if input == nil {
   154  		input = &CreateComponentInput{}
   155  	}
   156  
   157  	output = &CreateComponentOutput{}
   158  	req = c.newRequest(op, input, output)
   159  	return
   160  }
   161  
   162  // CreateComponent API operation for EC2 Image Builder.
   163  //
   164  // Creates a new component that can be used to build, validate, test, and assess
   165  // your image.
   166  //
   167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   168  // with awserr.Error's Code and Message methods to get detailed information about
   169  // the error.
   170  //
   171  // See the AWS API reference guide for EC2 Image Builder's
   172  // API operation CreateComponent for usage and error information.
   173  //
   174  // Returned Error Types:
   175  //   * ServiceException
   176  //   This exception is thrown when the service encounters an unrecoverable exception.
   177  //
   178  //   * ClientException
   179  //   These errors are usually caused by a client action, such as using an action
   180  //   or resource on behalf of a user that doesn't have permissions to use the
   181  //   action or resource, or specifying an invalid resource identifier.
   182  //
   183  //   * ServiceUnavailableException
   184  //   The service is unable to process your request at this time.
   185  //
   186  //   * InvalidRequestException
   187  //   You have made a request for an action that is not supported by the service.
   188  //
   189  //   * IdempotentParameterMismatchException
   190  //   You have specified a client token for an operation using parameter values
   191  //   that differ from a previous request that used the same client token.
   192  //
   193  //   * ForbiddenException
   194  //   You are not authorized to perform the requested operation.
   195  //
   196  //   * CallRateLimitExceededException
   197  //   You have exceeded the permitted request rate for the specific operation.
   198  //
   199  //   * InvalidVersionNumberException
   200  //   Your version number is out of bounds or does not follow the required syntax.
   201  //
   202  //   * ResourceInUseException
   203  //   The resource that you are trying to operate on is currently in use. Review
   204  //   the message details and retry later.
   205  //
   206  //   * InvalidParameterCombinationException
   207  //   You have specified two or more mutually exclusive parameters. Review the
   208  //   error message for details.
   209  //
   210  //   * ServiceQuotaExceededException
   211  //   You have exceeded the number of permitted resources or operations for this
   212  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   213  //
   214  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponent
   215  func (c *Imagebuilder) CreateComponent(input *CreateComponentInput) (*CreateComponentOutput, error) {
   216  	req, out := c.CreateComponentRequest(input)
   217  	return out, req.Send()
   218  }
   219  
   220  // CreateComponentWithContext is the same as CreateComponent with the addition of
   221  // the ability to pass a context and additional request options.
   222  //
   223  // See CreateComponent for details on how to use this API operation.
   224  //
   225  // The context must be non-nil and will be used for request cancellation. If
   226  // the context is nil a panic will occur. In the future the SDK may create
   227  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   228  // for more information on using Contexts.
   229  func (c *Imagebuilder) CreateComponentWithContext(ctx aws.Context, input *CreateComponentInput, opts ...request.Option) (*CreateComponentOutput, error) {
   230  	req, out := c.CreateComponentRequest(input)
   231  	req.SetContext(ctx)
   232  	req.ApplyOptions(opts...)
   233  	return out, req.Send()
   234  }
   235  
   236  const opCreateContainerRecipe = "CreateContainerRecipe"
   237  
   238  // CreateContainerRecipeRequest generates a "aws/request.Request" representing the
   239  // client's request for the CreateContainerRecipe operation. The "output" return
   240  // value will be populated with the request's response once the request completes
   241  // successfully.
   242  //
   243  // Use "Send" method on the returned Request to send the API call to the service.
   244  // the "output" return value is not valid until after Send returns without error.
   245  //
   246  // See CreateContainerRecipe for more information on using the CreateContainerRecipe
   247  // API call, and error handling.
   248  //
   249  // This method is useful when you want to inject custom logic or configuration
   250  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   251  //
   252  //
   253  //    // Example sending a request using the CreateContainerRecipeRequest method.
   254  //    req, resp := client.CreateContainerRecipeRequest(params)
   255  //
   256  //    err := req.Send()
   257  //    if err == nil { // resp is now filled
   258  //        fmt.Println(resp)
   259  //    }
   260  //
   261  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipe
   262  func (c *Imagebuilder) CreateContainerRecipeRequest(input *CreateContainerRecipeInput) (req *request.Request, output *CreateContainerRecipeOutput) {
   263  	op := &request.Operation{
   264  		Name:       opCreateContainerRecipe,
   265  		HTTPMethod: "PUT",
   266  		HTTPPath:   "/CreateContainerRecipe",
   267  	}
   268  
   269  	if input == nil {
   270  		input = &CreateContainerRecipeInput{}
   271  	}
   272  
   273  	output = &CreateContainerRecipeOutput{}
   274  	req = c.newRequest(op, input, output)
   275  	return
   276  }
   277  
   278  // CreateContainerRecipe API operation for EC2 Image Builder.
   279  //
   280  // Creates a new container recipe. Container recipes define how images are configured,
   281  // tested, and assessed.
   282  //
   283  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   284  // with awserr.Error's Code and Message methods to get detailed information about
   285  // the error.
   286  //
   287  // See the AWS API reference guide for EC2 Image Builder's
   288  // API operation CreateContainerRecipe for usage and error information.
   289  //
   290  // Returned Error Types:
   291  //   * ServiceException
   292  //   This exception is thrown when the service encounters an unrecoverable exception.
   293  //
   294  //   * ClientException
   295  //   These errors are usually caused by a client action, such as using an action
   296  //   or resource on behalf of a user that doesn't have permissions to use the
   297  //   action or resource, or specifying an invalid resource identifier.
   298  //
   299  //   * ServiceUnavailableException
   300  //   The service is unable to process your request at this time.
   301  //
   302  //   * InvalidRequestException
   303  //   You have made a request for an action that is not supported by the service.
   304  //
   305  //   * IdempotentParameterMismatchException
   306  //   You have specified a client token for an operation using parameter values
   307  //   that differ from a previous request that used the same client token.
   308  //
   309  //   * ForbiddenException
   310  //   You are not authorized to perform the requested operation.
   311  //
   312  //   * CallRateLimitExceededException
   313  //   You have exceeded the permitted request rate for the specific operation.
   314  //
   315  //   * InvalidVersionNumberException
   316  //   Your version number is out of bounds or does not follow the required syntax.
   317  //
   318  //   * ResourceInUseException
   319  //   The resource that you are trying to operate on is currently in use. Review
   320  //   the message details and retry later.
   321  //
   322  //   * ResourceAlreadyExistsException
   323  //   The resource that you are trying to create already exists.
   324  //
   325  //   * ServiceQuotaExceededException
   326  //   You have exceeded the number of permitted resources or operations for this
   327  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   328  //
   329  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipe
   330  func (c *Imagebuilder) CreateContainerRecipe(input *CreateContainerRecipeInput) (*CreateContainerRecipeOutput, error) {
   331  	req, out := c.CreateContainerRecipeRequest(input)
   332  	return out, req.Send()
   333  }
   334  
   335  // CreateContainerRecipeWithContext is the same as CreateContainerRecipe with the addition of
   336  // the ability to pass a context and additional request options.
   337  //
   338  // See CreateContainerRecipe for details on how to use this API operation.
   339  //
   340  // The context must be non-nil and will be used for request cancellation. If
   341  // the context is nil a panic will occur. In the future the SDK may create
   342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   343  // for more information on using Contexts.
   344  func (c *Imagebuilder) CreateContainerRecipeWithContext(ctx aws.Context, input *CreateContainerRecipeInput, opts ...request.Option) (*CreateContainerRecipeOutput, error) {
   345  	req, out := c.CreateContainerRecipeRequest(input)
   346  	req.SetContext(ctx)
   347  	req.ApplyOptions(opts...)
   348  	return out, req.Send()
   349  }
   350  
   351  const opCreateDistributionConfiguration = "CreateDistributionConfiguration"
   352  
   353  // CreateDistributionConfigurationRequest generates a "aws/request.Request" representing the
   354  // client's request for the CreateDistributionConfiguration operation. The "output" return
   355  // value will be populated with the request's response once the request completes
   356  // successfully.
   357  //
   358  // Use "Send" method on the returned Request to send the API call to the service.
   359  // the "output" return value is not valid until after Send returns without error.
   360  //
   361  // See CreateDistributionConfiguration for more information on using the CreateDistributionConfiguration
   362  // API call, and error handling.
   363  //
   364  // This method is useful when you want to inject custom logic or configuration
   365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   366  //
   367  //
   368  //    // Example sending a request using the CreateDistributionConfigurationRequest method.
   369  //    req, resp := client.CreateDistributionConfigurationRequest(params)
   370  //
   371  //    err := req.Send()
   372  //    if err == nil { // resp is now filled
   373  //        fmt.Println(resp)
   374  //    }
   375  //
   376  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfiguration
   377  func (c *Imagebuilder) CreateDistributionConfigurationRequest(input *CreateDistributionConfigurationInput) (req *request.Request, output *CreateDistributionConfigurationOutput) {
   378  	op := &request.Operation{
   379  		Name:       opCreateDistributionConfiguration,
   380  		HTTPMethod: "PUT",
   381  		HTTPPath:   "/CreateDistributionConfiguration",
   382  	}
   383  
   384  	if input == nil {
   385  		input = &CreateDistributionConfigurationInput{}
   386  	}
   387  
   388  	output = &CreateDistributionConfigurationOutput{}
   389  	req = c.newRequest(op, input, output)
   390  	return
   391  }
   392  
   393  // CreateDistributionConfiguration API operation for EC2 Image Builder.
   394  //
   395  // Creates a new distribution configuration. Distribution configurations define
   396  // and configure the outputs of your pipeline.
   397  //
   398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   399  // with awserr.Error's Code and Message methods to get detailed information about
   400  // the error.
   401  //
   402  // See the AWS API reference guide for EC2 Image Builder's
   403  // API operation CreateDistributionConfiguration for usage and error information.
   404  //
   405  // Returned Error Types:
   406  //   * ServiceException
   407  //   This exception is thrown when the service encounters an unrecoverable exception.
   408  //
   409  //   * ClientException
   410  //   These errors are usually caused by a client action, such as using an action
   411  //   or resource on behalf of a user that doesn't have permissions to use the
   412  //   action or resource, or specifying an invalid resource identifier.
   413  //
   414  //   * ServiceUnavailableException
   415  //   The service is unable to process your request at this time.
   416  //
   417  //   * InvalidRequestException
   418  //   You have made a request for an action that is not supported by the service.
   419  //
   420  //   * IdempotentParameterMismatchException
   421  //   You have specified a client token for an operation using parameter values
   422  //   that differ from a previous request that used the same client token.
   423  //
   424  //   * ForbiddenException
   425  //   You are not authorized to perform the requested operation.
   426  //
   427  //   * CallRateLimitExceededException
   428  //   You have exceeded the permitted request rate for the specific operation.
   429  //
   430  //   * ResourceInUseException
   431  //   The resource that you are trying to operate on is currently in use. Review
   432  //   the message details and retry later.
   433  //
   434  //   * ResourceAlreadyExistsException
   435  //   The resource that you are trying to create already exists.
   436  //
   437  //   * InvalidParameterCombinationException
   438  //   You have specified two or more mutually exclusive parameters. Review the
   439  //   error message for details.
   440  //
   441  //   * ServiceQuotaExceededException
   442  //   You have exceeded the number of permitted resources or operations for this
   443  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   444  //
   445  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfiguration
   446  func (c *Imagebuilder) CreateDistributionConfiguration(input *CreateDistributionConfigurationInput) (*CreateDistributionConfigurationOutput, error) {
   447  	req, out := c.CreateDistributionConfigurationRequest(input)
   448  	return out, req.Send()
   449  }
   450  
   451  // CreateDistributionConfigurationWithContext is the same as CreateDistributionConfiguration with the addition of
   452  // the ability to pass a context and additional request options.
   453  //
   454  // See CreateDistributionConfiguration for details on how to use this API operation.
   455  //
   456  // The context must be non-nil and will be used for request cancellation. If
   457  // the context is nil a panic will occur. In the future the SDK may create
   458  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   459  // for more information on using Contexts.
   460  func (c *Imagebuilder) CreateDistributionConfigurationWithContext(ctx aws.Context, input *CreateDistributionConfigurationInput, opts ...request.Option) (*CreateDistributionConfigurationOutput, error) {
   461  	req, out := c.CreateDistributionConfigurationRequest(input)
   462  	req.SetContext(ctx)
   463  	req.ApplyOptions(opts...)
   464  	return out, req.Send()
   465  }
   466  
   467  const opCreateImage = "CreateImage"
   468  
   469  // CreateImageRequest generates a "aws/request.Request" representing the
   470  // client's request for the CreateImage operation. The "output" return
   471  // value will be populated with the request's response once the request completes
   472  // successfully.
   473  //
   474  // Use "Send" method on the returned Request to send the API call to the service.
   475  // the "output" return value is not valid until after Send returns without error.
   476  //
   477  // See CreateImage for more information on using the CreateImage
   478  // API call, and error handling.
   479  //
   480  // This method is useful when you want to inject custom logic or configuration
   481  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   482  //
   483  //
   484  //    // Example sending a request using the CreateImageRequest method.
   485  //    req, resp := client.CreateImageRequest(params)
   486  //
   487  //    err := req.Send()
   488  //    if err == nil { // resp is now filled
   489  //        fmt.Println(resp)
   490  //    }
   491  //
   492  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImage
   493  func (c *Imagebuilder) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
   494  	op := &request.Operation{
   495  		Name:       opCreateImage,
   496  		HTTPMethod: "PUT",
   497  		HTTPPath:   "/CreateImage",
   498  	}
   499  
   500  	if input == nil {
   501  		input = &CreateImageInput{}
   502  	}
   503  
   504  	output = &CreateImageOutput{}
   505  	req = c.newRequest(op, input, output)
   506  	return
   507  }
   508  
   509  // CreateImage API operation for EC2 Image Builder.
   510  //
   511  // Creates a new image. This request will create a new image along with all
   512  // of the configured output resources defined in the distribution configuration.
   513  // You must specify exactly one recipe for your image, using either a ContainerRecipeArn
   514  // or an ImageRecipeArn.
   515  //
   516  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   517  // with awserr.Error's Code and Message methods to get detailed information about
   518  // the error.
   519  //
   520  // See the AWS API reference guide for EC2 Image Builder's
   521  // API operation CreateImage for usage and error information.
   522  //
   523  // Returned Error Types:
   524  //   * ServiceException
   525  //   This exception is thrown when the service encounters an unrecoverable exception.
   526  //
   527  //   * ClientException
   528  //   These errors are usually caused by a client action, such as using an action
   529  //   or resource on behalf of a user that doesn't have permissions to use the
   530  //   action or resource, or specifying an invalid resource identifier.
   531  //
   532  //   * ServiceUnavailableException
   533  //   The service is unable to process your request at this time.
   534  //
   535  //   * InvalidRequestException
   536  //   You have made a request for an action that is not supported by the service.
   537  //
   538  //   * IdempotentParameterMismatchException
   539  //   You have specified a client token for an operation using parameter values
   540  //   that differ from a previous request that used the same client token.
   541  //
   542  //   * ForbiddenException
   543  //   You are not authorized to perform the requested operation.
   544  //
   545  //   * CallRateLimitExceededException
   546  //   You have exceeded the permitted request rate for the specific operation.
   547  //
   548  //   * ResourceInUseException
   549  //   The resource that you are trying to operate on is currently in use. Review
   550  //   the message details and retry later.
   551  //
   552  //   * ServiceQuotaExceededException
   553  //   You have exceeded the number of permitted resources or operations for this
   554  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   555  //
   556  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImage
   557  func (c *Imagebuilder) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
   558  	req, out := c.CreateImageRequest(input)
   559  	return out, req.Send()
   560  }
   561  
   562  // CreateImageWithContext is the same as CreateImage with the addition of
   563  // the ability to pass a context and additional request options.
   564  //
   565  // See CreateImage for details on how to use this API operation.
   566  //
   567  // The context must be non-nil and will be used for request cancellation. If
   568  // the context is nil a panic will occur. In the future the SDK may create
   569  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   570  // for more information on using Contexts.
   571  func (c *Imagebuilder) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
   572  	req, out := c.CreateImageRequest(input)
   573  	req.SetContext(ctx)
   574  	req.ApplyOptions(opts...)
   575  	return out, req.Send()
   576  }
   577  
   578  const opCreateImagePipeline = "CreateImagePipeline"
   579  
   580  // CreateImagePipelineRequest generates a "aws/request.Request" representing the
   581  // client's request for the CreateImagePipeline operation. The "output" return
   582  // value will be populated with the request's response once the request completes
   583  // successfully.
   584  //
   585  // Use "Send" method on the returned Request to send the API call to the service.
   586  // the "output" return value is not valid until after Send returns without error.
   587  //
   588  // See CreateImagePipeline for more information on using the CreateImagePipeline
   589  // API call, and error handling.
   590  //
   591  // This method is useful when you want to inject custom logic or configuration
   592  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   593  //
   594  //
   595  //    // Example sending a request using the CreateImagePipelineRequest method.
   596  //    req, resp := client.CreateImagePipelineRequest(params)
   597  //
   598  //    err := req.Send()
   599  //    if err == nil { // resp is now filled
   600  //        fmt.Println(resp)
   601  //    }
   602  //
   603  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline
   604  func (c *Imagebuilder) CreateImagePipelineRequest(input *CreateImagePipelineInput) (req *request.Request, output *CreateImagePipelineOutput) {
   605  	op := &request.Operation{
   606  		Name:       opCreateImagePipeline,
   607  		HTTPMethod: "PUT",
   608  		HTTPPath:   "/CreateImagePipeline",
   609  	}
   610  
   611  	if input == nil {
   612  		input = &CreateImagePipelineInput{}
   613  	}
   614  
   615  	output = &CreateImagePipelineOutput{}
   616  	req = c.newRequest(op, input, output)
   617  	return
   618  }
   619  
   620  // CreateImagePipeline API operation for EC2 Image Builder.
   621  //
   622  // Creates a new image pipeline. Image pipelines enable you to automate the
   623  // creation and distribution of images.
   624  //
   625  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   626  // with awserr.Error's Code and Message methods to get detailed information about
   627  // the error.
   628  //
   629  // See the AWS API reference guide for EC2 Image Builder's
   630  // API operation CreateImagePipeline for usage and error information.
   631  //
   632  // Returned Error Types:
   633  //   * ServiceException
   634  //   This exception is thrown when the service encounters an unrecoverable exception.
   635  //
   636  //   * ClientException
   637  //   These errors are usually caused by a client action, such as using an action
   638  //   or resource on behalf of a user that doesn't have permissions to use the
   639  //   action or resource, or specifying an invalid resource identifier.
   640  //
   641  //   * ServiceUnavailableException
   642  //   The service is unable to process your request at this time.
   643  //
   644  //   * InvalidRequestException
   645  //   You have made a request for an action that is not supported by the service.
   646  //
   647  //   * IdempotentParameterMismatchException
   648  //   You have specified a client token for an operation using parameter values
   649  //   that differ from a previous request that used the same client token.
   650  //
   651  //   * ForbiddenException
   652  //   You are not authorized to perform the requested operation.
   653  //
   654  //   * CallRateLimitExceededException
   655  //   You have exceeded the permitted request rate for the specific operation.
   656  //
   657  //   * ResourceInUseException
   658  //   The resource that you are trying to operate on is currently in use. Review
   659  //   the message details and retry later.
   660  //
   661  //   * ResourceAlreadyExistsException
   662  //   The resource that you are trying to create already exists.
   663  //
   664  //   * ServiceQuotaExceededException
   665  //   You have exceeded the number of permitted resources or operations for this
   666  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   667  //
   668  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline
   669  func (c *Imagebuilder) CreateImagePipeline(input *CreateImagePipelineInput) (*CreateImagePipelineOutput, error) {
   670  	req, out := c.CreateImagePipelineRequest(input)
   671  	return out, req.Send()
   672  }
   673  
   674  // CreateImagePipelineWithContext is the same as CreateImagePipeline with the addition of
   675  // the ability to pass a context and additional request options.
   676  //
   677  // See CreateImagePipeline for details on how to use this API operation.
   678  //
   679  // The context must be non-nil and will be used for request cancellation. If
   680  // the context is nil a panic will occur. In the future the SDK may create
   681  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   682  // for more information on using Contexts.
   683  func (c *Imagebuilder) CreateImagePipelineWithContext(ctx aws.Context, input *CreateImagePipelineInput, opts ...request.Option) (*CreateImagePipelineOutput, error) {
   684  	req, out := c.CreateImagePipelineRequest(input)
   685  	req.SetContext(ctx)
   686  	req.ApplyOptions(opts...)
   687  	return out, req.Send()
   688  }
   689  
   690  const opCreateImageRecipe = "CreateImageRecipe"
   691  
   692  // CreateImageRecipeRequest generates a "aws/request.Request" representing the
   693  // client's request for the CreateImageRecipe operation. The "output" return
   694  // value will be populated with the request's response once the request completes
   695  // successfully.
   696  //
   697  // Use "Send" method on the returned Request to send the API call to the service.
   698  // the "output" return value is not valid until after Send returns without error.
   699  //
   700  // See CreateImageRecipe for more information on using the CreateImageRecipe
   701  // API call, and error handling.
   702  //
   703  // This method is useful when you want to inject custom logic or configuration
   704  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   705  //
   706  //
   707  //    // Example sending a request using the CreateImageRecipeRequest method.
   708  //    req, resp := client.CreateImageRecipeRequest(params)
   709  //
   710  //    err := req.Send()
   711  //    if err == nil { // resp is now filled
   712  //        fmt.Println(resp)
   713  //    }
   714  //
   715  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe
   716  func (c *Imagebuilder) CreateImageRecipeRequest(input *CreateImageRecipeInput) (req *request.Request, output *CreateImageRecipeOutput) {
   717  	op := &request.Operation{
   718  		Name:       opCreateImageRecipe,
   719  		HTTPMethod: "PUT",
   720  		HTTPPath:   "/CreateImageRecipe",
   721  	}
   722  
   723  	if input == nil {
   724  		input = &CreateImageRecipeInput{}
   725  	}
   726  
   727  	output = &CreateImageRecipeOutput{}
   728  	req = c.newRequest(op, input, output)
   729  	return
   730  }
   731  
   732  // CreateImageRecipe API operation for EC2 Image Builder.
   733  //
   734  // Creates a new image recipe. Image recipes define how images are configured,
   735  // tested, and assessed.
   736  //
   737  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   738  // with awserr.Error's Code and Message methods to get detailed information about
   739  // the error.
   740  //
   741  // See the AWS API reference guide for EC2 Image Builder's
   742  // API operation CreateImageRecipe for usage and error information.
   743  //
   744  // Returned Error Types:
   745  //   * ServiceException
   746  //   This exception is thrown when the service encounters an unrecoverable exception.
   747  //
   748  //   * ClientException
   749  //   These errors are usually caused by a client action, such as using an action
   750  //   or resource on behalf of a user that doesn't have permissions to use the
   751  //   action or resource, or specifying an invalid resource identifier.
   752  //
   753  //   * ServiceUnavailableException
   754  //   The service is unable to process your request at this time.
   755  //
   756  //   * InvalidRequestException
   757  //   You have made a request for an action that is not supported by the service.
   758  //
   759  //   * IdempotentParameterMismatchException
   760  //   You have specified a client token for an operation using parameter values
   761  //   that differ from a previous request that used the same client token.
   762  //
   763  //   * ForbiddenException
   764  //   You are not authorized to perform the requested operation.
   765  //
   766  //   * CallRateLimitExceededException
   767  //   You have exceeded the permitted request rate for the specific operation.
   768  //
   769  //   * InvalidVersionNumberException
   770  //   Your version number is out of bounds or does not follow the required syntax.
   771  //
   772  //   * ResourceInUseException
   773  //   The resource that you are trying to operate on is currently in use. Review
   774  //   the message details and retry later.
   775  //
   776  //   * ResourceAlreadyExistsException
   777  //   The resource that you are trying to create already exists.
   778  //
   779  //   * ServiceQuotaExceededException
   780  //   You have exceeded the number of permitted resources or operations for this
   781  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   782  //
   783  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe
   784  func (c *Imagebuilder) CreateImageRecipe(input *CreateImageRecipeInput) (*CreateImageRecipeOutput, error) {
   785  	req, out := c.CreateImageRecipeRequest(input)
   786  	return out, req.Send()
   787  }
   788  
   789  // CreateImageRecipeWithContext is the same as CreateImageRecipe with the addition of
   790  // the ability to pass a context and additional request options.
   791  //
   792  // See CreateImageRecipe for details on how to use this API operation.
   793  //
   794  // The context must be non-nil and will be used for request cancellation. If
   795  // the context is nil a panic will occur. In the future the SDK may create
   796  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   797  // for more information on using Contexts.
   798  func (c *Imagebuilder) CreateImageRecipeWithContext(ctx aws.Context, input *CreateImageRecipeInput, opts ...request.Option) (*CreateImageRecipeOutput, error) {
   799  	req, out := c.CreateImageRecipeRequest(input)
   800  	req.SetContext(ctx)
   801  	req.ApplyOptions(opts...)
   802  	return out, req.Send()
   803  }
   804  
   805  const opCreateInfrastructureConfiguration = "CreateInfrastructureConfiguration"
   806  
   807  // CreateInfrastructureConfigurationRequest generates a "aws/request.Request" representing the
   808  // client's request for the CreateInfrastructureConfiguration operation. The "output" return
   809  // value will be populated with the request's response once the request completes
   810  // successfully.
   811  //
   812  // Use "Send" method on the returned Request to send the API call to the service.
   813  // the "output" return value is not valid until after Send returns without error.
   814  //
   815  // See CreateInfrastructureConfiguration for more information on using the CreateInfrastructureConfiguration
   816  // API call, and error handling.
   817  //
   818  // This method is useful when you want to inject custom logic or configuration
   819  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   820  //
   821  //
   822  //    // Example sending a request using the CreateInfrastructureConfigurationRequest method.
   823  //    req, resp := client.CreateInfrastructureConfigurationRequest(params)
   824  //
   825  //    err := req.Send()
   826  //    if err == nil { // resp is now filled
   827  //        fmt.Println(resp)
   828  //    }
   829  //
   830  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration
   831  func (c *Imagebuilder) CreateInfrastructureConfigurationRequest(input *CreateInfrastructureConfigurationInput) (req *request.Request, output *CreateInfrastructureConfigurationOutput) {
   832  	op := &request.Operation{
   833  		Name:       opCreateInfrastructureConfiguration,
   834  		HTTPMethod: "PUT",
   835  		HTTPPath:   "/CreateInfrastructureConfiguration",
   836  	}
   837  
   838  	if input == nil {
   839  		input = &CreateInfrastructureConfigurationInput{}
   840  	}
   841  
   842  	output = &CreateInfrastructureConfigurationOutput{}
   843  	req = c.newRequest(op, input, output)
   844  	return
   845  }
   846  
   847  // CreateInfrastructureConfiguration API operation for EC2 Image Builder.
   848  //
   849  // Creates a new infrastructure configuration. An infrastructure configuration
   850  // defines the environment in which your image will be built and tested.
   851  //
   852  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   853  // with awserr.Error's Code and Message methods to get detailed information about
   854  // the error.
   855  //
   856  // See the AWS API reference guide for EC2 Image Builder's
   857  // API operation CreateInfrastructureConfiguration for usage and error information.
   858  //
   859  // Returned Error Types:
   860  //   * ServiceException
   861  //   This exception is thrown when the service encounters an unrecoverable exception.
   862  //
   863  //   * ClientException
   864  //   These errors are usually caused by a client action, such as using an action
   865  //   or resource on behalf of a user that doesn't have permissions to use the
   866  //   action or resource, or specifying an invalid resource identifier.
   867  //
   868  //   * ServiceUnavailableException
   869  //   The service is unable to process your request at this time.
   870  //
   871  //   * InvalidRequestException
   872  //   You have made a request for an action that is not supported by the service.
   873  //
   874  //   * IdempotentParameterMismatchException
   875  //   You have specified a client token for an operation using parameter values
   876  //   that differ from a previous request that used the same client token.
   877  //
   878  //   * ForbiddenException
   879  //   You are not authorized to perform the requested operation.
   880  //
   881  //   * CallRateLimitExceededException
   882  //   You have exceeded the permitted request rate for the specific operation.
   883  //
   884  //   * ResourceInUseException
   885  //   The resource that you are trying to operate on is currently in use. Review
   886  //   the message details and retry later.
   887  //
   888  //   * ResourceAlreadyExistsException
   889  //   The resource that you are trying to create already exists.
   890  //
   891  //   * ServiceQuotaExceededException
   892  //   You have exceeded the number of permitted resources or operations for this
   893  //   service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
   894  //
   895  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration
   896  func (c *Imagebuilder) CreateInfrastructureConfiguration(input *CreateInfrastructureConfigurationInput) (*CreateInfrastructureConfigurationOutput, error) {
   897  	req, out := c.CreateInfrastructureConfigurationRequest(input)
   898  	return out, req.Send()
   899  }
   900  
   901  // CreateInfrastructureConfigurationWithContext is the same as CreateInfrastructureConfiguration with the addition of
   902  // the ability to pass a context and additional request options.
   903  //
   904  // See CreateInfrastructureConfiguration for details on how to use this API operation.
   905  //
   906  // The context must be non-nil and will be used for request cancellation. If
   907  // the context is nil a panic will occur. In the future the SDK may create
   908  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   909  // for more information on using Contexts.
   910  func (c *Imagebuilder) CreateInfrastructureConfigurationWithContext(ctx aws.Context, input *CreateInfrastructureConfigurationInput, opts ...request.Option) (*CreateInfrastructureConfigurationOutput, error) {
   911  	req, out := c.CreateInfrastructureConfigurationRequest(input)
   912  	req.SetContext(ctx)
   913  	req.ApplyOptions(opts...)
   914  	return out, req.Send()
   915  }
   916  
   917  const opDeleteComponent = "DeleteComponent"
   918  
   919  // DeleteComponentRequest generates a "aws/request.Request" representing the
   920  // client's request for the DeleteComponent operation. The "output" return
   921  // value will be populated with the request's response once the request completes
   922  // successfully.
   923  //
   924  // Use "Send" method on the returned Request to send the API call to the service.
   925  // the "output" return value is not valid until after Send returns without error.
   926  //
   927  // See DeleteComponent for more information on using the DeleteComponent
   928  // API call, and error handling.
   929  //
   930  // This method is useful when you want to inject custom logic or configuration
   931  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   932  //
   933  //
   934  //    // Example sending a request using the DeleteComponentRequest method.
   935  //    req, resp := client.DeleteComponentRequest(params)
   936  //
   937  //    err := req.Send()
   938  //    if err == nil { // resp is now filled
   939  //        fmt.Println(resp)
   940  //    }
   941  //
   942  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponent
   943  func (c *Imagebuilder) DeleteComponentRequest(input *DeleteComponentInput) (req *request.Request, output *DeleteComponentOutput) {
   944  	op := &request.Operation{
   945  		Name:       opDeleteComponent,
   946  		HTTPMethod: "DELETE",
   947  		HTTPPath:   "/DeleteComponent",
   948  	}
   949  
   950  	if input == nil {
   951  		input = &DeleteComponentInput{}
   952  	}
   953  
   954  	output = &DeleteComponentOutput{}
   955  	req = c.newRequest(op, input, output)
   956  	return
   957  }
   958  
   959  // DeleteComponent API operation for EC2 Image Builder.
   960  //
   961  // Deletes a component build version.
   962  //
   963  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   964  // with awserr.Error's Code and Message methods to get detailed information about
   965  // the error.
   966  //
   967  // See the AWS API reference guide for EC2 Image Builder's
   968  // API operation DeleteComponent for usage and error information.
   969  //
   970  // Returned Error Types:
   971  //   * ServiceException
   972  //   This exception is thrown when the service encounters an unrecoverable exception.
   973  //
   974  //   * ClientException
   975  //   These errors are usually caused by a client action, such as using an action
   976  //   or resource on behalf of a user that doesn't have permissions to use the
   977  //   action or resource, or specifying an invalid resource identifier.
   978  //
   979  //   * ServiceUnavailableException
   980  //   The service is unable to process your request at this time.
   981  //
   982  //   * InvalidRequestException
   983  //   You have made a request for an action that is not supported by the service.
   984  //
   985  //   * ForbiddenException
   986  //   You are not authorized to perform the requested operation.
   987  //
   988  //   * CallRateLimitExceededException
   989  //   You have exceeded the permitted request rate for the specific operation.
   990  //
   991  //   * ResourceDependencyException
   992  //   You have attempted to mutate or delete a resource with a dependency that
   993  //   prohibits this action. See the error message for more details.
   994  //
   995  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponent
   996  func (c *Imagebuilder) DeleteComponent(input *DeleteComponentInput) (*DeleteComponentOutput, error) {
   997  	req, out := c.DeleteComponentRequest(input)
   998  	return out, req.Send()
   999  }
  1000  
  1001  // DeleteComponentWithContext is the same as DeleteComponent with the addition of
  1002  // the ability to pass a context and additional request options.
  1003  //
  1004  // See DeleteComponent for details on how to use this API operation.
  1005  //
  1006  // The context must be non-nil and will be used for request cancellation. If
  1007  // the context is nil a panic will occur. In the future the SDK may create
  1008  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1009  // for more information on using Contexts.
  1010  func (c *Imagebuilder) DeleteComponentWithContext(ctx aws.Context, input *DeleteComponentInput, opts ...request.Option) (*DeleteComponentOutput, error) {
  1011  	req, out := c.DeleteComponentRequest(input)
  1012  	req.SetContext(ctx)
  1013  	req.ApplyOptions(opts...)
  1014  	return out, req.Send()
  1015  }
  1016  
  1017  const opDeleteContainerRecipe = "DeleteContainerRecipe"
  1018  
  1019  // DeleteContainerRecipeRequest generates a "aws/request.Request" representing the
  1020  // client's request for the DeleteContainerRecipe operation. The "output" return
  1021  // value will be populated with the request's response once the request completes
  1022  // successfully.
  1023  //
  1024  // Use "Send" method on the returned Request to send the API call to the service.
  1025  // the "output" return value is not valid until after Send returns without error.
  1026  //
  1027  // See DeleteContainerRecipe for more information on using the DeleteContainerRecipe
  1028  // API call, and error handling.
  1029  //
  1030  // This method is useful when you want to inject custom logic or configuration
  1031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1032  //
  1033  //
  1034  //    // Example sending a request using the DeleteContainerRecipeRequest method.
  1035  //    req, resp := client.DeleteContainerRecipeRequest(params)
  1036  //
  1037  //    err := req.Send()
  1038  //    if err == nil { // resp is now filled
  1039  //        fmt.Println(resp)
  1040  //    }
  1041  //
  1042  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipe
  1043  func (c *Imagebuilder) DeleteContainerRecipeRequest(input *DeleteContainerRecipeInput) (req *request.Request, output *DeleteContainerRecipeOutput) {
  1044  	op := &request.Operation{
  1045  		Name:       opDeleteContainerRecipe,
  1046  		HTTPMethod: "DELETE",
  1047  		HTTPPath:   "/DeleteContainerRecipe",
  1048  	}
  1049  
  1050  	if input == nil {
  1051  		input = &DeleteContainerRecipeInput{}
  1052  	}
  1053  
  1054  	output = &DeleteContainerRecipeOutput{}
  1055  	req = c.newRequest(op, input, output)
  1056  	return
  1057  }
  1058  
  1059  // DeleteContainerRecipe API operation for EC2 Image Builder.
  1060  //
  1061  // Deletes a container recipe.
  1062  //
  1063  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1064  // with awserr.Error's Code and Message methods to get detailed information about
  1065  // the error.
  1066  //
  1067  // See the AWS API reference guide for EC2 Image Builder's
  1068  // API operation DeleteContainerRecipe for usage and error information.
  1069  //
  1070  // Returned Error Types:
  1071  //   * ServiceException
  1072  //   This exception is thrown when the service encounters an unrecoverable exception.
  1073  //
  1074  //   * ClientException
  1075  //   These errors are usually caused by a client action, such as using an action
  1076  //   or resource on behalf of a user that doesn't have permissions to use the
  1077  //   action or resource, or specifying an invalid resource identifier.
  1078  //
  1079  //   * ServiceUnavailableException
  1080  //   The service is unable to process your request at this time.
  1081  //
  1082  //   * InvalidRequestException
  1083  //   You have made a request for an action that is not supported by the service.
  1084  //
  1085  //   * ForbiddenException
  1086  //   You are not authorized to perform the requested operation.
  1087  //
  1088  //   * CallRateLimitExceededException
  1089  //   You have exceeded the permitted request rate for the specific operation.
  1090  //
  1091  //   * ResourceDependencyException
  1092  //   You have attempted to mutate or delete a resource with a dependency that
  1093  //   prohibits this action. See the error message for more details.
  1094  //
  1095  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipe
  1096  func (c *Imagebuilder) DeleteContainerRecipe(input *DeleteContainerRecipeInput) (*DeleteContainerRecipeOutput, error) {
  1097  	req, out := c.DeleteContainerRecipeRequest(input)
  1098  	return out, req.Send()
  1099  }
  1100  
  1101  // DeleteContainerRecipeWithContext is the same as DeleteContainerRecipe with the addition of
  1102  // the ability to pass a context and additional request options.
  1103  //
  1104  // See DeleteContainerRecipe for details on how to use this API operation.
  1105  //
  1106  // The context must be non-nil and will be used for request cancellation. If
  1107  // the context is nil a panic will occur. In the future the SDK may create
  1108  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1109  // for more information on using Contexts.
  1110  func (c *Imagebuilder) DeleteContainerRecipeWithContext(ctx aws.Context, input *DeleteContainerRecipeInput, opts ...request.Option) (*DeleteContainerRecipeOutput, error) {
  1111  	req, out := c.DeleteContainerRecipeRequest(input)
  1112  	req.SetContext(ctx)
  1113  	req.ApplyOptions(opts...)
  1114  	return out, req.Send()
  1115  }
  1116  
  1117  const opDeleteDistributionConfiguration = "DeleteDistributionConfiguration"
  1118  
  1119  // DeleteDistributionConfigurationRequest generates a "aws/request.Request" representing the
  1120  // client's request for the DeleteDistributionConfiguration operation. The "output" return
  1121  // value will be populated with the request's response once the request completes
  1122  // successfully.
  1123  //
  1124  // Use "Send" method on the returned Request to send the API call to the service.
  1125  // the "output" return value is not valid until after Send returns without error.
  1126  //
  1127  // See DeleteDistributionConfiguration for more information on using the DeleteDistributionConfiguration
  1128  // API call, and error handling.
  1129  //
  1130  // This method is useful when you want to inject custom logic or configuration
  1131  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1132  //
  1133  //
  1134  //    // Example sending a request using the DeleteDistributionConfigurationRequest method.
  1135  //    req, resp := client.DeleteDistributionConfigurationRequest(params)
  1136  //
  1137  //    err := req.Send()
  1138  //    if err == nil { // resp is now filled
  1139  //        fmt.Println(resp)
  1140  //    }
  1141  //
  1142  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfiguration
  1143  func (c *Imagebuilder) DeleteDistributionConfigurationRequest(input *DeleteDistributionConfigurationInput) (req *request.Request, output *DeleteDistributionConfigurationOutput) {
  1144  	op := &request.Operation{
  1145  		Name:       opDeleteDistributionConfiguration,
  1146  		HTTPMethod: "DELETE",
  1147  		HTTPPath:   "/DeleteDistributionConfiguration",
  1148  	}
  1149  
  1150  	if input == nil {
  1151  		input = &DeleteDistributionConfigurationInput{}
  1152  	}
  1153  
  1154  	output = &DeleteDistributionConfigurationOutput{}
  1155  	req = c.newRequest(op, input, output)
  1156  	return
  1157  }
  1158  
  1159  // DeleteDistributionConfiguration API operation for EC2 Image Builder.
  1160  //
  1161  // Deletes a distribution configuration.
  1162  //
  1163  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1164  // with awserr.Error's Code and Message methods to get detailed information about
  1165  // the error.
  1166  //
  1167  // See the AWS API reference guide for EC2 Image Builder's
  1168  // API operation DeleteDistributionConfiguration for usage and error information.
  1169  //
  1170  // Returned Error Types:
  1171  //   * ServiceException
  1172  //   This exception is thrown when the service encounters an unrecoverable exception.
  1173  //
  1174  //   * ClientException
  1175  //   These errors are usually caused by a client action, such as using an action
  1176  //   or resource on behalf of a user that doesn't have permissions to use the
  1177  //   action or resource, or specifying an invalid resource identifier.
  1178  //
  1179  //   * InvalidRequestException
  1180  //   You have made a request for an action that is not supported by the service.
  1181  //
  1182  //   * ServiceUnavailableException
  1183  //   The service is unable to process your request at this time.
  1184  //
  1185  //   * ForbiddenException
  1186  //   You are not authorized to perform the requested operation.
  1187  //
  1188  //   * CallRateLimitExceededException
  1189  //   You have exceeded the permitted request rate for the specific operation.
  1190  //
  1191  //   * ResourceDependencyException
  1192  //   You have attempted to mutate or delete a resource with a dependency that
  1193  //   prohibits this action. See the error message for more details.
  1194  //
  1195  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfiguration
  1196  func (c *Imagebuilder) DeleteDistributionConfiguration(input *DeleteDistributionConfigurationInput) (*DeleteDistributionConfigurationOutput, error) {
  1197  	req, out := c.DeleteDistributionConfigurationRequest(input)
  1198  	return out, req.Send()
  1199  }
  1200  
  1201  // DeleteDistributionConfigurationWithContext is the same as DeleteDistributionConfiguration with the addition of
  1202  // the ability to pass a context and additional request options.
  1203  //
  1204  // See DeleteDistributionConfiguration for details on how to use this API operation.
  1205  //
  1206  // The context must be non-nil and will be used for request cancellation. If
  1207  // the context is nil a panic will occur. In the future the SDK may create
  1208  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1209  // for more information on using Contexts.
  1210  func (c *Imagebuilder) DeleteDistributionConfigurationWithContext(ctx aws.Context, input *DeleteDistributionConfigurationInput, opts ...request.Option) (*DeleteDistributionConfigurationOutput, error) {
  1211  	req, out := c.DeleteDistributionConfigurationRequest(input)
  1212  	req.SetContext(ctx)
  1213  	req.ApplyOptions(opts...)
  1214  	return out, req.Send()
  1215  }
  1216  
  1217  const opDeleteImage = "DeleteImage"
  1218  
  1219  // DeleteImageRequest generates a "aws/request.Request" representing the
  1220  // client's request for the DeleteImage operation. The "output" return
  1221  // value will be populated with the request's response once the request completes
  1222  // successfully.
  1223  //
  1224  // Use "Send" method on the returned Request to send the API call to the service.
  1225  // the "output" return value is not valid until after Send returns without error.
  1226  //
  1227  // See DeleteImage for more information on using the DeleteImage
  1228  // API call, and error handling.
  1229  //
  1230  // This method is useful when you want to inject custom logic or configuration
  1231  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1232  //
  1233  //
  1234  //    // Example sending a request using the DeleteImageRequest method.
  1235  //    req, resp := client.DeleteImageRequest(params)
  1236  //
  1237  //    err := req.Send()
  1238  //    if err == nil { // resp is now filled
  1239  //        fmt.Println(resp)
  1240  //    }
  1241  //
  1242  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImage
  1243  func (c *Imagebuilder) DeleteImageRequest(input *DeleteImageInput) (req *request.Request, output *DeleteImageOutput) {
  1244  	op := &request.Operation{
  1245  		Name:       opDeleteImage,
  1246  		HTTPMethod: "DELETE",
  1247  		HTTPPath:   "/DeleteImage",
  1248  	}
  1249  
  1250  	if input == nil {
  1251  		input = &DeleteImageInput{}
  1252  	}
  1253  
  1254  	output = &DeleteImageOutput{}
  1255  	req = c.newRequest(op, input, output)
  1256  	return
  1257  }
  1258  
  1259  // DeleteImage API operation for EC2 Image Builder.
  1260  //
  1261  // Deletes an Image Builder image resource. This does not delete any EC2 AMIs
  1262  // or ECR container images that are created during the image build process.
  1263  // You must clean those up separately, using the appropriate Amazon EC2 or Amazon
  1264  // ECR console actions, or API or CLI commands.
  1265  //
  1266  //    * To deregister an EC2 Linux AMI, see Deregister your Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html)
  1267  //    in the Amazon EC2 User Guide .
  1268  //
  1269  //    * To deregister an EC2 Windows AMI, see Deregister your Windows AMI (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/deregister-ami.html)
  1270  //    in the Amazon EC2 Windows Guide .
  1271  //
  1272  //    * To delete a container image from Amazon ECR, see Deleting an image (https://docs.aws.amazon.com/https:/docs.aws.amazon.comAmazonECR/latest/userguide/delete_image.html)
  1273  //    in the Amazon ECR User Guide.
  1274  //
  1275  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1276  // with awserr.Error's Code and Message methods to get detailed information about
  1277  // the error.
  1278  //
  1279  // See the AWS API reference guide for EC2 Image Builder's
  1280  // API operation DeleteImage for usage and error information.
  1281  //
  1282  // Returned Error Types:
  1283  //   * ServiceException
  1284  //   This exception is thrown when the service encounters an unrecoverable exception.
  1285  //
  1286  //   * ClientException
  1287  //   These errors are usually caused by a client action, such as using an action
  1288  //   or resource on behalf of a user that doesn't have permissions to use the
  1289  //   action or resource, or specifying an invalid resource identifier.
  1290  //
  1291  //   * InvalidRequestException
  1292  //   You have made a request for an action that is not supported by the service.
  1293  //
  1294  //   * ServiceUnavailableException
  1295  //   The service is unable to process your request at this time.
  1296  //
  1297  //   * ForbiddenException
  1298  //   You are not authorized to perform the requested operation.
  1299  //
  1300  //   * CallRateLimitExceededException
  1301  //   You have exceeded the permitted request rate for the specific operation.
  1302  //
  1303  //   * ResourceDependencyException
  1304  //   You have attempted to mutate or delete a resource with a dependency that
  1305  //   prohibits this action. See the error message for more details.
  1306  //
  1307  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImage
  1308  func (c *Imagebuilder) DeleteImage(input *DeleteImageInput) (*DeleteImageOutput, error) {
  1309  	req, out := c.DeleteImageRequest(input)
  1310  	return out, req.Send()
  1311  }
  1312  
  1313  // DeleteImageWithContext is the same as DeleteImage with the addition of
  1314  // the ability to pass a context and additional request options.
  1315  //
  1316  // See DeleteImage for details on how to use this API operation.
  1317  //
  1318  // The context must be non-nil and will be used for request cancellation. If
  1319  // the context is nil a panic will occur. In the future the SDK may create
  1320  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1321  // for more information on using Contexts.
  1322  func (c *Imagebuilder) DeleteImageWithContext(ctx aws.Context, input *DeleteImageInput, opts ...request.Option) (*DeleteImageOutput, error) {
  1323  	req, out := c.DeleteImageRequest(input)
  1324  	req.SetContext(ctx)
  1325  	req.ApplyOptions(opts...)
  1326  	return out, req.Send()
  1327  }
  1328  
  1329  const opDeleteImagePipeline = "DeleteImagePipeline"
  1330  
  1331  // DeleteImagePipelineRequest generates a "aws/request.Request" representing the
  1332  // client's request for the DeleteImagePipeline operation. The "output" return
  1333  // value will be populated with the request's response once the request completes
  1334  // successfully.
  1335  //
  1336  // Use "Send" method on the returned Request to send the API call to the service.
  1337  // the "output" return value is not valid until after Send returns without error.
  1338  //
  1339  // See DeleteImagePipeline for more information on using the DeleteImagePipeline
  1340  // API call, and error handling.
  1341  //
  1342  // This method is useful when you want to inject custom logic or configuration
  1343  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1344  //
  1345  //
  1346  //    // Example sending a request using the DeleteImagePipelineRequest method.
  1347  //    req, resp := client.DeleteImagePipelineRequest(params)
  1348  //
  1349  //    err := req.Send()
  1350  //    if err == nil { // resp is now filled
  1351  //        fmt.Println(resp)
  1352  //    }
  1353  //
  1354  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipeline
  1355  func (c *Imagebuilder) DeleteImagePipelineRequest(input *DeleteImagePipelineInput) (req *request.Request, output *DeleteImagePipelineOutput) {
  1356  	op := &request.Operation{
  1357  		Name:       opDeleteImagePipeline,
  1358  		HTTPMethod: "DELETE",
  1359  		HTTPPath:   "/DeleteImagePipeline",
  1360  	}
  1361  
  1362  	if input == nil {
  1363  		input = &DeleteImagePipelineInput{}
  1364  	}
  1365  
  1366  	output = &DeleteImagePipelineOutput{}
  1367  	req = c.newRequest(op, input, output)
  1368  	return
  1369  }
  1370  
  1371  // DeleteImagePipeline API operation for EC2 Image Builder.
  1372  //
  1373  // Deletes an image pipeline.
  1374  //
  1375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1376  // with awserr.Error's Code and Message methods to get detailed information about
  1377  // the error.
  1378  //
  1379  // See the AWS API reference guide for EC2 Image Builder's
  1380  // API operation DeleteImagePipeline for usage and error information.
  1381  //
  1382  // Returned Error Types:
  1383  //   * ServiceException
  1384  //   This exception is thrown when the service encounters an unrecoverable exception.
  1385  //
  1386  //   * ClientException
  1387  //   These errors are usually caused by a client action, such as using an action
  1388  //   or resource on behalf of a user that doesn't have permissions to use the
  1389  //   action or resource, or specifying an invalid resource identifier.
  1390  //
  1391  //   * ServiceUnavailableException
  1392  //   The service is unable to process your request at this time.
  1393  //
  1394  //   * InvalidRequestException
  1395  //   You have made a request for an action that is not supported by the service.
  1396  //
  1397  //   * ForbiddenException
  1398  //   You are not authorized to perform the requested operation.
  1399  //
  1400  //   * CallRateLimitExceededException
  1401  //   You have exceeded the permitted request rate for the specific operation.
  1402  //
  1403  //   * ResourceDependencyException
  1404  //   You have attempted to mutate or delete a resource with a dependency that
  1405  //   prohibits this action. See the error message for more details.
  1406  //
  1407  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipeline
  1408  func (c *Imagebuilder) DeleteImagePipeline(input *DeleteImagePipelineInput) (*DeleteImagePipelineOutput, error) {
  1409  	req, out := c.DeleteImagePipelineRequest(input)
  1410  	return out, req.Send()
  1411  }
  1412  
  1413  // DeleteImagePipelineWithContext is the same as DeleteImagePipeline with the addition of
  1414  // the ability to pass a context and additional request options.
  1415  //
  1416  // See DeleteImagePipeline for details on how to use this API operation.
  1417  //
  1418  // The context must be non-nil and will be used for request cancellation. If
  1419  // the context is nil a panic will occur. In the future the SDK may create
  1420  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1421  // for more information on using Contexts.
  1422  func (c *Imagebuilder) DeleteImagePipelineWithContext(ctx aws.Context, input *DeleteImagePipelineInput, opts ...request.Option) (*DeleteImagePipelineOutput, error) {
  1423  	req, out := c.DeleteImagePipelineRequest(input)
  1424  	req.SetContext(ctx)
  1425  	req.ApplyOptions(opts...)
  1426  	return out, req.Send()
  1427  }
  1428  
  1429  const opDeleteImageRecipe = "DeleteImageRecipe"
  1430  
  1431  // DeleteImageRecipeRequest generates a "aws/request.Request" representing the
  1432  // client's request for the DeleteImageRecipe operation. The "output" return
  1433  // value will be populated with the request's response once the request completes
  1434  // successfully.
  1435  //
  1436  // Use "Send" method on the returned Request to send the API call to the service.
  1437  // the "output" return value is not valid until after Send returns without error.
  1438  //
  1439  // See DeleteImageRecipe for more information on using the DeleteImageRecipe
  1440  // API call, and error handling.
  1441  //
  1442  // This method is useful when you want to inject custom logic or configuration
  1443  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1444  //
  1445  //
  1446  //    // Example sending a request using the DeleteImageRecipeRequest method.
  1447  //    req, resp := client.DeleteImageRecipeRequest(params)
  1448  //
  1449  //    err := req.Send()
  1450  //    if err == nil { // resp is now filled
  1451  //        fmt.Println(resp)
  1452  //    }
  1453  //
  1454  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipe
  1455  func (c *Imagebuilder) DeleteImageRecipeRequest(input *DeleteImageRecipeInput) (req *request.Request, output *DeleteImageRecipeOutput) {
  1456  	op := &request.Operation{
  1457  		Name:       opDeleteImageRecipe,
  1458  		HTTPMethod: "DELETE",
  1459  		HTTPPath:   "/DeleteImageRecipe",
  1460  	}
  1461  
  1462  	if input == nil {
  1463  		input = &DeleteImageRecipeInput{}
  1464  	}
  1465  
  1466  	output = &DeleteImageRecipeOutput{}
  1467  	req = c.newRequest(op, input, output)
  1468  	return
  1469  }
  1470  
  1471  // DeleteImageRecipe API operation for EC2 Image Builder.
  1472  //
  1473  // Deletes an image recipe.
  1474  //
  1475  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1476  // with awserr.Error's Code and Message methods to get detailed information about
  1477  // the error.
  1478  //
  1479  // See the AWS API reference guide for EC2 Image Builder's
  1480  // API operation DeleteImageRecipe for usage and error information.
  1481  //
  1482  // Returned Error Types:
  1483  //   * ServiceException
  1484  //   This exception is thrown when the service encounters an unrecoverable exception.
  1485  //
  1486  //   * ClientException
  1487  //   These errors are usually caused by a client action, such as using an action
  1488  //   or resource on behalf of a user that doesn't have permissions to use the
  1489  //   action or resource, or specifying an invalid resource identifier.
  1490  //
  1491  //   * ServiceUnavailableException
  1492  //   The service is unable to process your request at this time.
  1493  //
  1494  //   * InvalidRequestException
  1495  //   You have made a request for an action that is not supported by the service.
  1496  //
  1497  //   * ForbiddenException
  1498  //   You are not authorized to perform the requested operation.
  1499  //
  1500  //   * CallRateLimitExceededException
  1501  //   You have exceeded the permitted request rate for the specific operation.
  1502  //
  1503  //   * ResourceDependencyException
  1504  //   You have attempted to mutate or delete a resource with a dependency that
  1505  //   prohibits this action. See the error message for more details.
  1506  //
  1507  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipe
  1508  func (c *Imagebuilder) DeleteImageRecipe(input *DeleteImageRecipeInput) (*DeleteImageRecipeOutput, error) {
  1509  	req, out := c.DeleteImageRecipeRequest(input)
  1510  	return out, req.Send()
  1511  }
  1512  
  1513  // DeleteImageRecipeWithContext is the same as DeleteImageRecipe with the addition of
  1514  // the ability to pass a context and additional request options.
  1515  //
  1516  // See DeleteImageRecipe for details on how to use this API operation.
  1517  //
  1518  // The context must be non-nil and will be used for request cancellation. If
  1519  // the context is nil a panic will occur. In the future the SDK may create
  1520  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1521  // for more information on using Contexts.
  1522  func (c *Imagebuilder) DeleteImageRecipeWithContext(ctx aws.Context, input *DeleteImageRecipeInput, opts ...request.Option) (*DeleteImageRecipeOutput, error) {
  1523  	req, out := c.DeleteImageRecipeRequest(input)
  1524  	req.SetContext(ctx)
  1525  	req.ApplyOptions(opts...)
  1526  	return out, req.Send()
  1527  }
  1528  
  1529  const opDeleteInfrastructureConfiguration = "DeleteInfrastructureConfiguration"
  1530  
  1531  // DeleteInfrastructureConfigurationRequest generates a "aws/request.Request" representing the
  1532  // client's request for the DeleteInfrastructureConfiguration operation. The "output" return
  1533  // value will be populated with the request's response once the request completes
  1534  // successfully.
  1535  //
  1536  // Use "Send" method on the returned Request to send the API call to the service.
  1537  // the "output" return value is not valid until after Send returns without error.
  1538  //
  1539  // See DeleteInfrastructureConfiguration for more information on using the DeleteInfrastructureConfiguration
  1540  // API call, and error handling.
  1541  //
  1542  // This method is useful when you want to inject custom logic or configuration
  1543  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1544  //
  1545  //
  1546  //    // Example sending a request using the DeleteInfrastructureConfigurationRequest method.
  1547  //    req, resp := client.DeleteInfrastructureConfigurationRequest(params)
  1548  //
  1549  //    err := req.Send()
  1550  //    if err == nil { // resp is now filled
  1551  //        fmt.Println(resp)
  1552  //    }
  1553  //
  1554  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfiguration
  1555  func (c *Imagebuilder) DeleteInfrastructureConfigurationRequest(input *DeleteInfrastructureConfigurationInput) (req *request.Request, output *DeleteInfrastructureConfigurationOutput) {
  1556  	op := &request.Operation{
  1557  		Name:       opDeleteInfrastructureConfiguration,
  1558  		HTTPMethod: "DELETE",
  1559  		HTTPPath:   "/DeleteInfrastructureConfiguration",
  1560  	}
  1561  
  1562  	if input == nil {
  1563  		input = &DeleteInfrastructureConfigurationInput{}
  1564  	}
  1565  
  1566  	output = &DeleteInfrastructureConfigurationOutput{}
  1567  	req = c.newRequest(op, input, output)
  1568  	return
  1569  }
  1570  
  1571  // DeleteInfrastructureConfiguration API operation for EC2 Image Builder.
  1572  //
  1573  // Deletes an infrastructure configuration.
  1574  //
  1575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1576  // with awserr.Error's Code and Message methods to get detailed information about
  1577  // the error.
  1578  //
  1579  // See the AWS API reference guide for EC2 Image Builder's
  1580  // API operation DeleteInfrastructureConfiguration for usage and error information.
  1581  //
  1582  // Returned Error Types:
  1583  //   * ServiceException
  1584  //   This exception is thrown when the service encounters an unrecoverable exception.
  1585  //
  1586  //   * ClientException
  1587  //   These errors are usually caused by a client action, such as using an action
  1588  //   or resource on behalf of a user that doesn't have permissions to use the
  1589  //   action or resource, or specifying an invalid resource identifier.
  1590  //
  1591  //   * ServiceUnavailableException
  1592  //   The service is unable to process your request at this time.
  1593  //
  1594  //   * InvalidRequestException
  1595  //   You have made a request for an action that is not supported by the service.
  1596  //
  1597  //   * ForbiddenException
  1598  //   You are not authorized to perform the requested operation.
  1599  //
  1600  //   * CallRateLimitExceededException
  1601  //   You have exceeded the permitted request rate for the specific operation.
  1602  //
  1603  //   * ResourceDependencyException
  1604  //   You have attempted to mutate or delete a resource with a dependency that
  1605  //   prohibits this action. See the error message for more details.
  1606  //
  1607  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfiguration
  1608  func (c *Imagebuilder) DeleteInfrastructureConfiguration(input *DeleteInfrastructureConfigurationInput) (*DeleteInfrastructureConfigurationOutput, error) {
  1609  	req, out := c.DeleteInfrastructureConfigurationRequest(input)
  1610  	return out, req.Send()
  1611  }
  1612  
  1613  // DeleteInfrastructureConfigurationWithContext is the same as DeleteInfrastructureConfiguration with the addition of
  1614  // the ability to pass a context and additional request options.
  1615  //
  1616  // See DeleteInfrastructureConfiguration for details on how to use this API operation.
  1617  //
  1618  // The context must be non-nil and will be used for request cancellation. If
  1619  // the context is nil a panic will occur. In the future the SDK may create
  1620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1621  // for more information on using Contexts.
  1622  func (c *Imagebuilder) DeleteInfrastructureConfigurationWithContext(ctx aws.Context, input *DeleteInfrastructureConfigurationInput, opts ...request.Option) (*DeleteInfrastructureConfigurationOutput, error) {
  1623  	req, out := c.DeleteInfrastructureConfigurationRequest(input)
  1624  	req.SetContext(ctx)
  1625  	req.ApplyOptions(opts...)
  1626  	return out, req.Send()
  1627  }
  1628  
  1629  const opGetComponent = "GetComponent"
  1630  
  1631  // GetComponentRequest generates a "aws/request.Request" representing the
  1632  // client's request for the GetComponent operation. The "output" return
  1633  // value will be populated with the request's response once the request completes
  1634  // successfully.
  1635  //
  1636  // Use "Send" method on the returned Request to send the API call to the service.
  1637  // the "output" return value is not valid until after Send returns without error.
  1638  //
  1639  // See GetComponent for more information on using the GetComponent
  1640  // API call, and error handling.
  1641  //
  1642  // This method is useful when you want to inject custom logic or configuration
  1643  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1644  //
  1645  //
  1646  //    // Example sending a request using the GetComponentRequest method.
  1647  //    req, resp := client.GetComponentRequest(params)
  1648  //
  1649  //    err := req.Send()
  1650  //    if err == nil { // resp is now filled
  1651  //        fmt.Println(resp)
  1652  //    }
  1653  //
  1654  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponent
  1655  func (c *Imagebuilder) GetComponentRequest(input *GetComponentInput) (req *request.Request, output *GetComponentOutput) {
  1656  	op := &request.Operation{
  1657  		Name:       opGetComponent,
  1658  		HTTPMethod: "GET",
  1659  		HTTPPath:   "/GetComponent",
  1660  	}
  1661  
  1662  	if input == nil {
  1663  		input = &GetComponentInput{}
  1664  	}
  1665  
  1666  	output = &GetComponentOutput{}
  1667  	req = c.newRequest(op, input, output)
  1668  	return
  1669  }
  1670  
  1671  // GetComponent API operation for EC2 Image Builder.
  1672  //
  1673  // Gets a component object.
  1674  //
  1675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1676  // with awserr.Error's Code and Message methods to get detailed information about
  1677  // the error.
  1678  //
  1679  // See the AWS API reference guide for EC2 Image Builder's
  1680  // API operation GetComponent for usage and error information.
  1681  //
  1682  // Returned Error Types:
  1683  //   * ServiceException
  1684  //   This exception is thrown when the service encounters an unrecoverable exception.
  1685  //
  1686  //   * ClientException
  1687  //   These errors are usually caused by a client action, such as using an action
  1688  //   or resource on behalf of a user that doesn't have permissions to use the
  1689  //   action or resource, or specifying an invalid resource identifier.
  1690  //
  1691  //   * ServiceUnavailableException
  1692  //   The service is unable to process your request at this time.
  1693  //
  1694  //   * InvalidRequestException
  1695  //   You have made a request for an action that is not supported by the service.
  1696  //
  1697  //   * ForbiddenException
  1698  //   You are not authorized to perform the requested operation.
  1699  //
  1700  //   * CallRateLimitExceededException
  1701  //   You have exceeded the permitted request rate for the specific operation.
  1702  //
  1703  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponent
  1704  func (c *Imagebuilder) GetComponent(input *GetComponentInput) (*GetComponentOutput, error) {
  1705  	req, out := c.GetComponentRequest(input)
  1706  	return out, req.Send()
  1707  }
  1708  
  1709  // GetComponentWithContext is the same as GetComponent with the addition of
  1710  // the ability to pass a context and additional request options.
  1711  //
  1712  // See GetComponent for details on how to use this API operation.
  1713  //
  1714  // The context must be non-nil and will be used for request cancellation. If
  1715  // the context is nil a panic will occur. In the future the SDK may create
  1716  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1717  // for more information on using Contexts.
  1718  func (c *Imagebuilder) GetComponentWithContext(ctx aws.Context, input *GetComponentInput, opts ...request.Option) (*GetComponentOutput, error) {
  1719  	req, out := c.GetComponentRequest(input)
  1720  	req.SetContext(ctx)
  1721  	req.ApplyOptions(opts...)
  1722  	return out, req.Send()
  1723  }
  1724  
  1725  const opGetComponentPolicy = "GetComponentPolicy"
  1726  
  1727  // GetComponentPolicyRequest generates a "aws/request.Request" representing the
  1728  // client's request for the GetComponentPolicy operation. The "output" return
  1729  // value will be populated with the request's response once the request completes
  1730  // successfully.
  1731  //
  1732  // Use "Send" method on the returned Request to send the API call to the service.
  1733  // the "output" return value is not valid until after Send returns without error.
  1734  //
  1735  // See GetComponentPolicy for more information on using the GetComponentPolicy
  1736  // API call, and error handling.
  1737  //
  1738  // This method is useful when you want to inject custom logic or configuration
  1739  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1740  //
  1741  //
  1742  //    // Example sending a request using the GetComponentPolicyRequest method.
  1743  //    req, resp := client.GetComponentPolicyRequest(params)
  1744  //
  1745  //    err := req.Send()
  1746  //    if err == nil { // resp is now filled
  1747  //        fmt.Println(resp)
  1748  //    }
  1749  //
  1750  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicy
  1751  func (c *Imagebuilder) GetComponentPolicyRequest(input *GetComponentPolicyInput) (req *request.Request, output *GetComponentPolicyOutput) {
  1752  	op := &request.Operation{
  1753  		Name:       opGetComponentPolicy,
  1754  		HTTPMethod: "GET",
  1755  		HTTPPath:   "/GetComponentPolicy",
  1756  	}
  1757  
  1758  	if input == nil {
  1759  		input = &GetComponentPolicyInput{}
  1760  	}
  1761  
  1762  	output = &GetComponentPolicyOutput{}
  1763  	req = c.newRequest(op, input, output)
  1764  	return
  1765  }
  1766  
  1767  // GetComponentPolicy API operation for EC2 Image Builder.
  1768  //
  1769  // Gets a component policy.
  1770  //
  1771  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1772  // with awserr.Error's Code and Message methods to get detailed information about
  1773  // the error.
  1774  //
  1775  // See the AWS API reference guide for EC2 Image Builder's
  1776  // API operation GetComponentPolicy for usage and error information.
  1777  //
  1778  // Returned Error Types:
  1779  //   * ServiceException
  1780  //   This exception is thrown when the service encounters an unrecoverable exception.
  1781  //
  1782  //   * ServiceUnavailableException
  1783  //   The service is unable to process your request at this time.
  1784  //
  1785  //   * ResourceNotFoundException
  1786  //   At least one of the resources referenced by your request does not exist.
  1787  //
  1788  //   * InvalidRequestException
  1789  //   You have made a request for an action that is not supported by the service.
  1790  //
  1791  //   * ForbiddenException
  1792  //   You are not authorized to perform the requested operation.
  1793  //
  1794  //   * CallRateLimitExceededException
  1795  //   You have exceeded the permitted request rate for the specific operation.
  1796  //
  1797  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicy
  1798  func (c *Imagebuilder) GetComponentPolicy(input *GetComponentPolicyInput) (*GetComponentPolicyOutput, error) {
  1799  	req, out := c.GetComponentPolicyRequest(input)
  1800  	return out, req.Send()
  1801  }
  1802  
  1803  // GetComponentPolicyWithContext is the same as GetComponentPolicy with the addition of
  1804  // the ability to pass a context and additional request options.
  1805  //
  1806  // See GetComponentPolicy for details on how to use this API operation.
  1807  //
  1808  // The context must be non-nil and will be used for request cancellation. If
  1809  // the context is nil a panic will occur. In the future the SDK may create
  1810  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1811  // for more information on using Contexts.
  1812  func (c *Imagebuilder) GetComponentPolicyWithContext(ctx aws.Context, input *GetComponentPolicyInput, opts ...request.Option) (*GetComponentPolicyOutput, error) {
  1813  	req, out := c.GetComponentPolicyRequest(input)
  1814  	req.SetContext(ctx)
  1815  	req.ApplyOptions(opts...)
  1816  	return out, req.Send()
  1817  }
  1818  
  1819  const opGetContainerRecipe = "GetContainerRecipe"
  1820  
  1821  // GetContainerRecipeRequest generates a "aws/request.Request" representing the
  1822  // client's request for the GetContainerRecipe operation. The "output" return
  1823  // value will be populated with the request's response once the request completes
  1824  // successfully.
  1825  //
  1826  // Use "Send" method on the returned Request to send the API call to the service.
  1827  // the "output" return value is not valid until after Send returns without error.
  1828  //
  1829  // See GetContainerRecipe for more information on using the GetContainerRecipe
  1830  // API call, and error handling.
  1831  //
  1832  // This method is useful when you want to inject custom logic or configuration
  1833  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1834  //
  1835  //
  1836  //    // Example sending a request using the GetContainerRecipeRequest method.
  1837  //    req, resp := client.GetContainerRecipeRequest(params)
  1838  //
  1839  //    err := req.Send()
  1840  //    if err == nil { // resp is now filled
  1841  //        fmt.Println(resp)
  1842  //    }
  1843  //
  1844  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipe
  1845  func (c *Imagebuilder) GetContainerRecipeRequest(input *GetContainerRecipeInput) (req *request.Request, output *GetContainerRecipeOutput) {
  1846  	op := &request.Operation{
  1847  		Name:       opGetContainerRecipe,
  1848  		HTTPMethod: "GET",
  1849  		HTTPPath:   "/GetContainerRecipe",
  1850  	}
  1851  
  1852  	if input == nil {
  1853  		input = &GetContainerRecipeInput{}
  1854  	}
  1855  
  1856  	output = &GetContainerRecipeOutput{}
  1857  	req = c.newRequest(op, input, output)
  1858  	return
  1859  }
  1860  
  1861  // GetContainerRecipe API operation for EC2 Image Builder.
  1862  //
  1863  // Retrieves a container recipe.
  1864  //
  1865  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1866  // with awserr.Error's Code and Message methods to get detailed information about
  1867  // the error.
  1868  //
  1869  // See the AWS API reference guide for EC2 Image Builder's
  1870  // API operation GetContainerRecipe for usage and error information.
  1871  //
  1872  // Returned Error Types:
  1873  //   * ServiceException
  1874  //   This exception is thrown when the service encounters an unrecoverable exception.
  1875  //
  1876  //   * ClientException
  1877  //   These errors are usually caused by a client action, such as using an action
  1878  //   or resource on behalf of a user that doesn't have permissions to use the
  1879  //   action or resource, or specifying an invalid resource identifier.
  1880  //
  1881  //   * ServiceUnavailableException
  1882  //   The service is unable to process your request at this time.
  1883  //
  1884  //   * InvalidRequestException
  1885  //   You have made a request for an action that is not supported by the service.
  1886  //
  1887  //   * ForbiddenException
  1888  //   You are not authorized to perform the requested operation.
  1889  //
  1890  //   * CallRateLimitExceededException
  1891  //   You have exceeded the permitted request rate for the specific operation.
  1892  //
  1893  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipe
  1894  func (c *Imagebuilder) GetContainerRecipe(input *GetContainerRecipeInput) (*GetContainerRecipeOutput, error) {
  1895  	req, out := c.GetContainerRecipeRequest(input)
  1896  	return out, req.Send()
  1897  }
  1898  
  1899  // GetContainerRecipeWithContext is the same as GetContainerRecipe with the addition of
  1900  // the ability to pass a context and additional request options.
  1901  //
  1902  // See GetContainerRecipe for details on how to use this API operation.
  1903  //
  1904  // The context must be non-nil and will be used for request cancellation. If
  1905  // the context is nil a panic will occur. In the future the SDK may create
  1906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1907  // for more information on using Contexts.
  1908  func (c *Imagebuilder) GetContainerRecipeWithContext(ctx aws.Context, input *GetContainerRecipeInput, opts ...request.Option) (*GetContainerRecipeOutput, error) {
  1909  	req, out := c.GetContainerRecipeRequest(input)
  1910  	req.SetContext(ctx)
  1911  	req.ApplyOptions(opts...)
  1912  	return out, req.Send()
  1913  }
  1914  
  1915  const opGetContainerRecipePolicy = "GetContainerRecipePolicy"
  1916  
  1917  // GetContainerRecipePolicyRequest generates a "aws/request.Request" representing the
  1918  // client's request for the GetContainerRecipePolicy operation. The "output" return
  1919  // value will be populated with the request's response once the request completes
  1920  // successfully.
  1921  //
  1922  // Use "Send" method on the returned Request to send the API call to the service.
  1923  // the "output" return value is not valid until after Send returns without error.
  1924  //
  1925  // See GetContainerRecipePolicy for more information on using the GetContainerRecipePolicy
  1926  // API call, and error handling.
  1927  //
  1928  // This method is useful when you want to inject custom logic or configuration
  1929  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1930  //
  1931  //
  1932  //    // Example sending a request using the GetContainerRecipePolicyRequest method.
  1933  //    req, resp := client.GetContainerRecipePolicyRequest(params)
  1934  //
  1935  //    err := req.Send()
  1936  //    if err == nil { // resp is now filled
  1937  //        fmt.Println(resp)
  1938  //    }
  1939  //
  1940  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicy
  1941  func (c *Imagebuilder) GetContainerRecipePolicyRequest(input *GetContainerRecipePolicyInput) (req *request.Request, output *GetContainerRecipePolicyOutput) {
  1942  	op := &request.Operation{
  1943  		Name:       opGetContainerRecipePolicy,
  1944  		HTTPMethod: "GET",
  1945  		HTTPPath:   "/GetContainerRecipePolicy",
  1946  	}
  1947  
  1948  	if input == nil {
  1949  		input = &GetContainerRecipePolicyInput{}
  1950  	}
  1951  
  1952  	output = &GetContainerRecipePolicyOutput{}
  1953  	req = c.newRequest(op, input, output)
  1954  	return
  1955  }
  1956  
  1957  // GetContainerRecipePolicy API operation for EC2 Image Builder.
  1958  //
  1959  // Retrieves the policy for a container recipe.
  1960  //
  1961  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1962  // with awserr.Error's Code and Message methods to get detailed information about
  1963  // the error.
  1964  //
  1965  // See the AWS API reference guide for EC2 Image Builder's
  1966  // API operation GetContainerRecipePolicy for usage and error information.
  1967  //
  1968  // Returned Error Types:
  1969  //   * ServiceException
  1970  //   This exception is thrown when the service encounters an unrecoverable exception.
  1971  //
  1972  //   * ServiceUnavailableException
  1973  //   The service is unable to process your request at this time.
  1974  //
  1975  //   * InvalidRequestException
  1976  //   You have made a request for an action that is not supported by the service.
  1977  //
  1978  //   * ResourceNotFoundException
  1979  //   At least one of the resources referenced by your request does not exist.
  1980  //
  1981  //   * ForbiddenException
  1982  //   You are not authorized to perform the requested operation.
  1983  //
  1984  //   * CallRateLimitExceededException
  1985  //   You have exceeded the permitted request rate for the specific operation.
  1986  //
  1987  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicy
  1988  func (c *Imagebuilder) GetContainerRecipePolicy(input *GetContainerRecipePolicyInput) (*GetContainerRecipePolicyOutput, error) {
  1989  	req, out := c.GetContainerRecipePolicyRequest(input)
  1990  	return out, req.Send()
  1991  }
  1992  
  1993  // GetContainerRecipePolicyWithContext is the same as GetContainerRecipePolicy with the addition of
  1994  // the ability to pass a context and additional request options.
  1995  //
  1996  // See GetContainerRecipePolicy for details on how to use this API operation.
  1997  //
  1998  // The context must be non-nil and will be used for request cancellation. If
  1999  // the context is nil a panic will occur. In the future the SDK may create
  2000  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2001  // for more information on using Contexts.
  2002  func (c *Imagebuilder) GetContainerRecipePolicyWithContext(ctx aws.Context, input *GetContainerRecipePolicyInput, opts ...request.Option) (*GetContainerRecipePolicyOutput, error) {
  2003  	req, out := c.GetContainerRecipePolicyRequest(input)
  2004  	req.SetContext(ctx)
  2005  	req.ApplyOptions(opts...)
  2006  	return out, req.Send()
  2007  }
  2008  
  2009  const opGetDistributionConfiguration = "GetDistributionConfiguration"
  2010  
  2011  // GetDistributionConfigurationRequest generates a "aws/request.Request" representing the
  2012  // client's request for the GetDistributionConfiguration operation. The "output" return
  2013  // value will be populated with the request's response once the request completes
  2014  // successfully.
  2015  //
  2016  // Use "Send" method on the returned Request to send the API call to the service.
  2017  // the "output" return value is not valid until after Send returns without error.
  2018  //
  2019  // See GetDistributionConfiguration for more information on using the GetDistributionConfiguration
  2020  // API call, and error handling.
  2021  //
  2022  // This method is useful when you want to inject custom logic or configuration
  2023  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2024  //
  2025  //
  2026  //    // Example sending a request using the GetDistributionConfigurationRequest method.
  2027  //    req, resp := client.GetDistributionConfigurationRequest(params)
  2028  //
  2029  //    err := req.Send()
  2030  //    if err == nil { // resp is now filled
  2031  //        fmt.Println(resp)
  2032  //    }
  2033  //
  2034  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetDistributionConfiguration
  2035  func (c *Imagebuilder) GetDistributionConfigurationRequest(input *GetDistributionConfigurationInput) (req *request.Request, output *GetDistributionConfigurationOutput) {
  2036  	op := &request.Operation{
  2037  		Name:       opGetDistributionConfiguration,
  2038  		HTTPMethod: "GET",
  2039  		HTTPPath:   "/GetDistributionConfiguration",
  2040  	}
  2041  
  2042  	if input == nil {
  2043  		input = &GetDistributionConfigurationInput{}
  2044  	}
  2045  
  2046  	output = &GetDistributionConfigurationOutput{}
  2047  	req = c.newRequest(op, input, output)
  2048  	return
  2049  }
  2050  
  2051  // GetDistributionConfiguration API operation for EC2 Image Builder.
  2052  //
  2053  // Gets a distribution configuration.
  2054  //
  2055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2056  // with awserr.Error's Code and Message methods to get detailed information about
  2057  // the error.
  2058  //
  2059  // See the AWS API reference guide for EC2 Image Builder's
  2060  // API operation GetDistributionConfiguration for usage and error information.
  2061  //
  2062  // Returned Error Types:
  2063  //   * ServiceException
  2064  //   This exception is thrown when the service encounters an unrecoverable exception.
  2065  //
  2066  //   * ClientException
  2067  //   These errors are usually caused by a client action, such as using an action
  2068  //   or resource on behalf of a user that doesn't have permissions to use the
  2069  //   action or resource, or specifying an invalid resource identifier.
  2070  //
  2071  //   * ServiceUnavailableException
  2072  //   The service is unable to process your request at this time.
  2073  //
  2074  //   * InvalidRequestException
  2075  //   You have made a request for an action that is not supported by the service.
  2076  //
  2077  //   * ForbiddenException
  2078  //   You are not authorized to perform the requested operation.
  2079  //
  2080  //   * CallRateLimitExceededException
  2081  //   You have exceeded the permitted request rate for the specific operation.
  2082  //
  2083  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetDistributionConfiguration
  2084  func (c *Imagebuilder) GetDistributionConfiguration(input *GetDistributionConfigurationInput) (*GetDistributionConfigurationOutput, error) {
  2085  	req, out := c.GetDistributionConfigurationRequest(input)
  2086  	return out, req.Send()
  2087  }
  2088  
  2089  // GetDistributionConfigurationWithContext is the same as GetDistributionConfiguration with the addition of
  2090  // the ability to pass a context and additional request options.
  2091  //
  2092  // See GetDistributionConfiguration for details on how to use this API operation.
  2093  //
  2094  // The context must be non-nil and will be used for request cancellation. If
  2095  // the context is nil a panic will occur. In the future the SDK may create
  2096  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2097  // for more information on using Contexts.
  2098  func (c *Imagebuilder) GetDistributionConfigurationWithContext(ctx aws.Context, input *GetDistributionConfigurationInput, opts ...request.Option) (*GetDistributionConfigurationOutput, error) {
  2099  	req, out := c.GetDistributionConfigurationRequest(input)
  2100  	req.SetContext(ctx)
  2101  	req.ApplyOptions(opts...)
  2102  	return out, req.Send()
  2103  }
  2104  
  2105  const opGetImage = "GetImage"
  2106  
  2107  // GetImageRequest generates a "aws/request.Request" representing the
  2108  // client's request for the GetImage operation. The "output" return
  2109  // value will be populated with the request's response once the request completes
  2110  // successfully.
  2111  //
  2112  // Use "Send" method on the returned Request to send the API call to the service.
  2113  // the "output" return value is not valid until after Send returns without error.
  2114  //
  2115  // See GetImage for more information on using the GetImage
  2116  // API call, and error handling.
  2117  //
  2118  // This method is useful when you want to inject custom logic or configuration
  2119  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2120  //
  2121  //
  2122  //    // Example sending a request using the GetImageRequest method.
  2123  //    req, resp := client.GetImageRequest(params)
  2124  //
  2125  //    err := req.Send()
  2126  //    if err == nil { // resp is now filled
  2127  //        fmt.Println(resp)
  2128  //    }
  2129  //
  2130  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage
  2131  func (c *Imagebuilder) GetImageRequest(input *GetImageInput) (req *request.Request, output *GetImageOutput) {
  2132  	op := &request.Operation{
  2133  		Name:       opGetImage,
  2134  		HTTPMethod: "GET",
  2135  		HTTPPath:   "/GetImage",
  2136  	}
  2137  
  2138  	if input == nil {
  2139  		input = &GetImageInput{}
  2140  	}
  2141  
  2142  	output = &GetImageOutput{}
  2143  	req = c.newRequest(op, input, output)
  2144  	return
  2145  }
  2146  
  2147  // GetImage API operation for EC2 Image Builder.
  2148  //
  2149  // Gets an image.
  2150  //
  2151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2152  // with awserr.Error's Code and Message methods to get detailed information about
  2153  // the error.
  2154  //
  2155  // See the AWS API reference guide for EC2 Image Builder's
  2156  // API operation GetImage for usage and error information.
  2157  //
  2158  // Returned Error Types:
  2159  //   * ServiceException
  2160  //   This exception is thrown when the service encounters an unrecoverable exception.
  2161  //
  2162  //   * ClientException
  2163  //   These errors are usually caused by a client action, such as using an action
  2164  //   or resource on behalf of a user that doesn't have permissions to use the
  2165  //   action or resource, or specifying an invalid resource identifier.
  2166  //
  2167  //   * ServiceUnavailableException
  2168  //   The service is unable to process your request at this time.
  2169  //
  2170  //   * InvalidRequestException
  2171  //   You have made a request for an action that is not supported by the service.
  2172  //
  2173  //   * ForbiddenException
  2174  //   You are not authorized to perform the requested operation.
  2175  //
  2176  //   * CallRateLimitExceededException
  2177  //   You have exceeded the permitted request rate for the specific operation.
  2178  //
  2179  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage
  2180  func (c *Imagebuilder) GetImage(input *GetImageInput) (*GetImageOutput, error) {
  2181  	req, out := c.GetImageRequest(input)
  2182  	return out, req.Send()
  2183  }
  2184  
  2185  // GetImageWithContext is the same as GetImage with the addition of
  2186  // the ability to pass a context and additional request options.
  2187  //
  2188  // See GetImage for details on how to use this API operation.
  2189  //
  2190  // The context must be non-nil and will be used for request cancellation. If
  2191  // the context is nil a panic will occur. In the future the SDK may create
  2192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2193  // for more information on using Contexts.
  2194  func (c *Imagebuilder) GetImageWithContext(ctx aws.Context, input *GetImageInput, opts ...request.Option) (*GetImageOutput, error) {
  2195  	req, out := c.GetImageRequest(input)
  2196  	req.SetContext(ctx)
  2197  	req.ApplyOptions(opts...)
  2198  	return out, req.Send()
  2199  }
  2200  
  2201  const opGetImagePipeline = "GetImagePipeline"
  2202  
  2203  // GetImagePipelineRequest generates a "aws/request.Request" representing the
  2204  // client's request for the GetImagePipeline operation. The "output" return
  2205  // value will be populated with the request's response once the request completes
  2206  // successfully.
  2207  //
  2208  // Use "Send" method on the returned Request to send the API call to the service.
  2209  // the "output" return value is not valid until after Send returns without error.
  2210  //
  2211  // See GetImagePipeline for more information on using the GetImagePipeline
  2212  // API call, and error handling.
  2213  //
  2214  // This method is useful when you want to inject custom logic or configuration
  2215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2216  //
  2217  //
  2218  //    // Example sending a request using the GetImagePipelineRequest method.
  2219  //    req, resp := client.GetImagePipelineRequest(params)
  2220  //
  2221  //    err := req.Send()
  2222  //    if err == nil { // resp is now filled
  2223  //        fmt.Println(resp)
  2224  //    }
  2225  //
  2226  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePipeline
  2227  func (c *Imagebuilder) GetImagePipelineRequest(input *GetImagePipelineInput) (req *request.Request, output *GetImagePipelineOutput) {
  2228  	op := &request.Operation{
  2229  		Name:       opGetImagePipeline,
  2230  		HTTPMethod: "GET",
  2231  		HTTPPath:   "/GetImagePipeline",
  2232  	}
  2233  
  2234  	if input == nil {
  2235  		input = &GetImagePipelineInput{}
  2236  	}
  2237  
  2238  	output = &GetImagePipelineOutput{}
  2239  	req = c.newRequest(op, input, output)
  2240  	return
  2241  }
  2242  
  2243  // GetImagePipeline API operation for EC2 Image Builder.
  2244  //
  2245  // Gets an image pipeline.
  2246  //
  2247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2248  // with awserr.Error's Code and Message methods to get detailed information about
  2249  // the error.
  2250  //
  2251  // See the AWS API reference guide for EC2 Image Builder's
  2252  // API operation GetImagePipeline for usage and error information.
  2253  //
  2254  // Returned Error Types:
  2255  //   * ServiceException
  2256  //   This exception is thrown when the service encounters an unrecoverable exception.
  2257  //
  2258  //   * ClientException
  2259  //   These errors are usually caused by a client action, such as using an action
  2260  //   or resource on behalf of a user that doesn't have permissions to use the
  2261  //   action or resource, or specifying an invalid resource identifier.
  2262  //
  2263  //   * ServiceUnavailableException
  2264  //   The service is unable to process your request at this time.
  2265  //
  2266  //   * InvalidRequestException
  2267  //   You have made a request for an action that is not supported by the service.
  2268  //
  2269  //   * ForbiddenException
  2270  //   You are not authorized to perform the requested operation.
  2271  //
  2272  //   * CallRateLimitExceededException
  2273  //   You have exceeded the permitted request rate for the specific operation.
  2274  //
  2275  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePipeline
  2276  func (c *Imagebuilder) GetImagePipeline(input *GetImagePipelineInput) (*GetImagePipelineOutput, error) {
  2277  	req, out := c.GetImagePipelineRequest(input)
  2278  	return out, req.Send()
  2279  }
  2280  
  2281  // GetImagePipelineWithContext is the same as GetImagePipeline with the addition of
  2282  // the ability to pass a context and additional request options.
  2283  //
  2284  // See GetImagePipeline for details on how to use this API operation.
  2285  //
  2286  // The context must be non-nil and will be used for request cancellation. If
  2287  // the context is nil a panic will occur. In the future the SDK may create
  2288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2289  // for more information on using Contexts.
  2290  func (c *Imagebuilder) GetImagePipelineWithContext(ctx aws.Context, input *GetImagePipelineInput, opts ...request.Option) (*GetImagePipelineOutput, error) {
  2291  	req, out := c.GetImagePipelineRequest(input)
  2292  	req.SetContext(ctx)
  2293  	req.ApplyOptions(opts...)
  2294  	return out, req.Send()
  2295  }
  2296  
  2297  const opGetImagePolicy = "GetImagePolicy"
  2298  
  2299  // GetImagePolicyRequest generates a "aws/request.Request" representing the
  2300  // client's request for the GetImagePolicy operation. The "output" return
  2301  // value will be populated with the request's response once the request completes
  2302  // successfully.
  2303  //
  2304  // Use "Send" method on the returned Request to send the API call to the service.
  2305  // the "output" return value is not valid until after Send returns without error.
  2306  //
  2307  // See GetImagePolicy for more information on using the GetImagePolicy
  2308  // API call, and error handling.
  2309  //
  2310  // This method is useful when you want to inject custom logic or configuration
  2311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2312  //
  2313  //
  2314  //    // Example sending a request using the GetImagePolicyRequest method.
  2315  //    req, resp := client.GetImagePolicyRequest(params)
  2316  //
  2317  //    err := req.Send()
  2318  //    if err == nil { // resp is now filled
  2319  //        fmt.Println(resp)
  2320  //    }
  2321  //
  2322  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePolicy
  2323  func (c *Imagebuilder) GetImagePolicyRequest(input *GetImagePolicyInput) (req *request.Request, output *GetImagePolicyOutput) {
  2324  	op := &request.Operation{
  2325  		Name:       opGetImagePolicy,
  2326  		HTTPMethod: "GET",
  2327  		HTTPPath:   "/GetImagePolicy",
  2328  	}
  2329  
  2330  	if input == nil {
  2331  		input = &GetImagePolicyInput{}
  2332  	}
  2333  
  2334  	output = &GetImagePolicyOutput{}
  2335  	req = c.newRequest(op, input, output)
  2336  	return
  2337  }
  2338  
  2339  // GetImagePolicy API operation for EC2 Image Builder.
  2340  //
  2341  // Gets an image policy.
  2342  //
  2343  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2344  // with awserr.Error's Code and Message methods to get detailed information about
  2345  // the error.
  2346  //
  2347  // See the AWS API reference guide for EC2 Image Builder's
  2348  // API operation GetImagePolicy for usage and error information.
  2349  //
  2350  // Returned Error Types:
  2351  //   * ServiceException
  2352  //   This exception is thrown when the service encounters an unrecoverable exception.
  2353  //
  2354  //   * ServiceUnavailableException
  2355  //   The service is unable to process your request at this time.
  2356  //
  2357  //   * ResourceNotFoundException
  2358  //   At least one of the resources referenced by your request does not exist.
  2359  //
  2360  //   * InvalidRequestException
  2361  //   You have made a request for an action that is not supported by the service.
  2362  //
  2363  //   * ForbiddenException
  2364  //   You are not authorized to perform the requested operation.
  2365  //
  2366  //   * CallRateLimitExceededException
  2367  //   You have exceeded the permitted request rate for the specific operation.
  2368  //
  2369  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePolicy
  2370  func (c *Imagebuilder) GetImagePolicy(input *GetImagePolicyInput) (*GetImagePolicyOutput, error) {
  2371  	req, out := c.GetImagePolicyRequest(input)
  2372  	return out, req.Send()
  2373  }
  2374  
  2375  // GetImagePolicyWithContext is the same as GetImagePolicy with the addition of
  2376  // the ability to pass a context and additional request options.
  2377  //
  2378  // See GetImagePolicy for details on how to use this API operation.
  2379  //
  2380  // The context must be non-nil and will be used for request cancellation. If
  2381  // the context is nil a panic will occur. In the future the SDK may create
  2382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2383  // for more information on using Contexts.
  2384  func (c *Imagebuilder) GetImagePolicyWithContext(ctx aws.Context, input *GetImagePolicyInput, opts ...request.Option) (*GetImagePolicyOutput, error) {
  2385  	req, out := c.GetImagePolicyRequest(input)
  2386  	req.SetContext(ctx)
  2387  	req.ApplyOptions(opts...)
  2388  	return out, req.Send()
  2389  }
  2390  
  2391  const opGetImageRecipe = "GetImageRecipe"
  2392  
  2393  // GetImageRecipeRequest generates a "aws/request.Request" representing the
  2394  // client's request for the GetImageRecipe operation. The "output" return
  2395  // value will be populated with the request's response once the request completes
  2396  // successfully.
  2397  //
  2398  // Use "Send" method on the returned Request to send the API call to the service.
  2399  // the "output" return value is not valid until after Send returns without error.
  2400  //
  2401  // See GetImageRecipe for more information on using the GetImageRecipe
  2402  // API call, and error handling.
  2403  //
  2404  // This method is useful when you want to inject custom logic or configuration
  2405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2406  //
  2407  //
  2408  //    // Example sending a request using the GetImageRecipeRequest method.
  2409  //    req, resp := client.GetImageRecipeRequest(params)
  2410  //
  2411  //    err := req.Send()
  2412  //    if err == nil { // resp is now filled
  2413  //        fmt.Println(resp)
  2414  //    }
  2415  //
  2416  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipe
  2417  func (c *Imagebuilder) GetImageRecipeRequest(input *GetImageRecipeInput) (req *request.Request, output *GetImageRecipeOutput) {
  2418  	op := &request.Operation{
  2419  		Name:       opGetImageRecipe,
  2420  		HTTPMethod: "GET",
  2421  		HTTPPath:   "/GetImageRecipe",
  2422  	}
  2423  
  2424  	if input == nil {
  2425  		input = &GetImageRecipeInput{}
  2426  	}
  2427  
  2428  	output = &GetImageRecipeOutput{}
  2429  	req = c.newRequest(op, input, output)
  2430  	return
  2431  }
  2432  
  2433  // GetImageRecipe API operation for EC2 Image Builder.
  2434  //
  2435  // Gets an image recipe.
  2436  //
  2437  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2438  // with awserr.Error's Code and Message methods to get detailed information about
  2439  // the error.
  2440  //
  2441  // See the AWS API reference guide for EC2 Image Builder's
  2442  // API operation GetImageRecipe for usage and error information.
  2443  //
  2444  // Returned Error Types:
  2445  //   * ServiceException
  2446  //   This exception is thrown when the service encounters an unrecoverable exception.
  2447  //
  2448  //   * ClientException
  2449  //   These errors are usually caused by a client action, such as using an action
  2450  //   or resource on behalf of a user that doesn't have permissions to use the
  2451  //   action or resource, or specifying an invalid resource identifier.
  2452  //
  2453  //   * ServiceUnavailableException
  2454  //   The service is unable to process your request at this time.
  2455  //
  2456  //   * InvalidRequestException
  2457  //   You have made a request for an action that is not supported by the service.
  2458  //
  2459  //   * ForbiddenException
  2460  //   You are not authorized to perform the requested operation.
  2461  //
  2462  //   * CallRateLimitExceededException
  2463  //   You have exceeded the permitted request rate for the specific operation.
  2464  //
  2465  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipe
  2466  func (c *Imagebuilder) GetImageRecipe(input *GetImageRecipeInput) (*GetImageRecipeOutput, error) {
  2467  	req, out := c.GetImageRecipeRequest(input)
  2468  	return out, req.Send()
  2469  }
  2470  
  2471  // GetImageRecipeWithContext is the same as GetImageRecipe with the addition of
  2472  // the ability to pass a context and additional request options.
  2473  //
  2474  // See GetImageRecipe for details on how to use this API operation.
  2475  //
  2476  // The context must be non-nil and will be used for request cancellation. If
  2477  // the context is nil a panic will occur. In the future the SDK may create
  2478  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2479  // for more information on using Contexts.
  2480  func (c *Imagebuilder) GetImageRecipeWithContext(ctx aws.Context, input *GetImageRecipeInput, opts ...request.Option) (*GetImageRecipeOutput, error) {
  2481  	req, out := c.GetImageRecipeRequest(input)
  2482  	req.SetContext(ctx)
  2483  	req.ApplyOptions(opts...)
  2484  	return out, req.Send()
  2485  }
  2486  
  2487  const opGetImageRecipePolicy = "GetImageRecipePolicy"
  2488  
  2489  // GetImageRecipePolicyRequest generates a "aws/request.Request" representing the
  2490  // client's request for the GetImageRecipePolicy operation. The "output" return
  2491  // value will be populated with the request's response once the request completes
  2492  // successfully.
  2493  //
  2494  // Use "Send" method on the returned Request to send the API call to the service.
  2495  // the "output" return value is not valid until after Send returns without error.
  2496  //
  2497  // See GetImageRecipePolicy for more information on using the GetImageRecipePolicy
  2498  // API call, and error handling.
  2499  //
  2500  // This method is useful when you want to inject custom logic or configuration
  2501  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2502  //
  2503  //
  2504  //    // Example sending a request using the GetImageRecipePolicyRequest method.
  2505  //    req, resp := client.GetImageRecipePolicyRequest(params)
  2506  //
  2507  //    err := req.Send()
  2508  //    if err == nil { // resp is now filled
  2509  //        fmt.Println(resp)
  2510  //    }
  2511  //
  2512  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipePolicy
  2513  func (c *Imagebuilder) GetImageRecipePolicyRequest(input *GetImageRecipePolicyInput) (req *request.Request, output *GetImageRecipePolicyOutput) {
  2514  	op := &request.Operation{
  2515  		Name:       opGetImageRecipePolicy,
  2516  		HTTPMethod: "GET",
  2517  		HTTPPath:   "/GetImageRecipePolicy",
  2518  	}
  2519  
  2520  	if input == nil {
  2521  		input = &GetImageRecipePolicyInput{}
  2522  	}
  2523  
  2524  	output = &GetImageRecipePolicyOutput{}
  2525  	req = c.newRequest(op, input, output)
  2526  	return
  2527  }
  2528  
  2529  // GetImageRecipePolicy API operation for EC2 Image Builder.
  2530  //
  2531  // Gets an image recipe policy.
  2532  //
  2533  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2534  // with awserr.Error's Code and Message methods to get detailed information about
  2535  // the error.
  2536  //
  2537  // See the AWS API reference guide for EC2 Image Builder's
  2538  // API operation GetImageRecipePolicy for usage and error information.
  2539  //
  2540  // Returned Error Types:
  2541  //   * ServiceException
  2542  //   This exception is thrown when the service encounters an unrecoverable exception.
  2543  //
  2544  //   * ServiceUnavailableException
  2545  //   The service is unable to process your request at this time.
  2546  //
  2547  //   * InvalidRequestException
  2548  //   You have made a request for an action that is not supported by the service.
  2549  //
  2550  //   * ResourceNotFoundException
  2551  //   At least one of the resources referenced by your request does not exist.
  2552  //
  2553  //   * ForbiddenException
  2554  //   You are not authorized to perform the requested operation.
  2555  //
  2556  //   * CallRateLimitExceededException
  2557  //   You have exceeded the permitted request rate for the specific operation.
  2558  //
  2559  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipePolicy
  2560  func (c *Imagebuilder) GetImageRecipePolicy(input *GetImageRecipePolicyInput) (*GetImageRecipePolicyOutput, error) {
  2561  	req, out := c.GetImageRecipePolicyRequest(input)
  2562  	return out, req.Send()
  2563  }
  2564  
  2565  // GetImageRecipePolicyWithContext is the same as GetImageRecipePolicy with the addition of
  2566  // the ability to pass a context and additional request options.
  2567  //
  2568  // See GetImageRecipePolicy for details on how to use this API operation.
  2569  //
  2570  // The context must be non-nil and will be used for request cancellation. If
  2571  // the context is nil a panic will occur. In the future the SDK may create
  2572  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2573  // for more information on using Contexts.
  2574  func (c *Imagebuilder) GetImageRecipePolicyWithContext(ctx aws.Context, input *GetImageRecipePolicyInput, opts ...request.Option) (*GetImageRecipePolicyOutput, error) {
  2575  	req, out := c.GetImageRecipePolicyRequest(input)
  2576  	req.SetContext(ctx)
  2577  	req.ApplyOptions(opts...)
  2578  	return out, req.Send()
  2579  }
  2580  
  2581  const opGetInfrastructureConfiguration = "GetInfrastructureConfiguration"
  2582  
  2583  // GetInfrastructureConfigurationRequest generates a "aws/request.Request" representing the
  2584  // client's request for the GetInfrastructureConfiguration operation. The "output" return
  2585  // value will be populated with the request's response once the request completes
  2586  // successfully.
  2587  //
  2588  // Use "Send" method on the returned Request to send the API call to the service.
  2589  // the "output" return value is not valid until after Send returns without error.
  2590  //
  2591  // See GetInfrastructureConfiguration for more information on using the GetInfrastructureConfiguration
  2592  // API call, and error handling.
  2593  //
  2594  // This method is useful when you want to inject custom logic or configuration
  2595  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2596  //
  2597  //
  2598  //    // Example sending a request using the GetInfrastructureConfigurationRequest method.
  2599  //    req, resp := client.GetInfrastructureConfigurationRequest(params)
  2600  //
  2601  //    err := req.Send()
  2602  //    if err == nil { // resp is now filled
  2603  //        fmt.Println(resp)
  2604  //    }
  2605  //
  2606  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetInfrastructureConfiguration
  2607  func (c *Imagebuilder) GetInfrastructureConfigurationRequest(input *GetInfrastructureConfigurationInput) (req *request.Request, output *GetInfrastructureConfigurationOutput) {
  2608  	op := &request.Operation{
  2609  		Name:       opGetInfrastructureConfiguration,
  2610  		HTTPMethod: "GET",
  2611  		HTTPPath:   "/GetInfrastructureConfiguration",
  2612  	}
  2613  
  2614  	if input == nil {
  2615  		input = &GetInfrastructureConfigurationInput{}
  2616  	}
  2617  
  2618  	output = &GetInfrastructureConfigurationOutput{}
  2619  	req = c.newRequest(op, input, output)
  2620  	return
  2621  }
  2622  
  2623  // GetInfrastructureConfiguration API operation for EC2 Image Builder.
  2624  //
  2625  // Gets an infrastructure configuration.
  2626  //
  2627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2628  // with awserr.Error's Code and Message methods to get detailed information about
  2629  // the error.
  2630  //
  2631  // See the AWS API reference guide for EC2 Image Builder's
  2632  // API operation GetInfrastructureConfiguration for usage and error information.
  2633  //
  2634  // Returned Error Types:
  2635  //   * ServiceException
  2636  //   This exception is thrown when the service encounters an unrecoverable exception.
  2637  //
  2638  //   * ClientException
  2639  //   These errors are usually caused by a client action, such as using an action
  2640  //   or resource on behalf of a user that doesn't have permissions to use the
  2641  //   action or resource, or specifying an invalid resource identifier.
  2642  //
  2643  //   * ServiceUnavailableException
  2644  //   The service is unable to process your request at this time.
  2645  //
  2646  //   * InvalidRequestException
  2647  //   You have made a request for an action that is not supported by the service.
  2648  //
  2649  //   * ForbiddenException
  2650  //   You are not authorized to perform the requested operation.
  2651  //
  2652  //   * CallRateLimitExceededException
  2653  //   You have exceeded the permitted request rate for the specific operation.
  2654  //
  2655  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetInfrastructureConfiguration
  2656  func (c *Imagebuilder) GetInfrastructureConfiguration(input *GetInfrastructureConfigurationInput) (*GetInfrastructureConfigurationOutput, error) {
  2657  	req, out := c.GetInfrastructureConfigurationRequest(input)
  2658  	return out, req.Send()
  2659  }
  2660  
  2661  // GetInfrastructureConfigurationWithContext is the same as GetInfrastructureConfiguration with the addition of
  2662  // the ability to pass a context and additional request options.
  2663  //
  2664  // See GetInfrastructureConfiguration for details on how to use this API operation.
  2665  //
  2666  // The context must be non-nil and will be used for request cancellation. If
  2667  // the context is nil a panic will occur. In the future the SDK may create
  2668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2669  // for more information on using Contexts.
  2670  func (c *Imagebuilder) GetInfrastructureConfigurationWithContext(ctx aws.Context, input *GetInfrastructureConfigurationInput, opts ...request.Option) (*GetInfrastructureConfigurationOutput, error) {
  2671  	req, out := c.GetInfrastructureConfigurationRequest(input)
  2672  	req.SetContext(ctx)
  2673  	req.ApplyOptions(opts...)
  2674  	return out, req.Send()
  2675  }
  2676  
  2677  const opImportComponent = "ImportComponent"
  2678  
  2679  // ImportComponentRequest generates a "aws/request.Request" representing the
  2680  // client's request for the ImportComponent operation. The "output" return
  2681  // value will be populated with the request's response once the request completes
  2682  // successfully.
  2683  //
  2684  // Use "Send" method on the returned Request to send the API call to the service.
  2685  // the "output" return value is not valid until after Send returns without error.
  2686  //
  2687  // See ImportComponent for more information on using the ImportComponent
  2688  // API call, and error handling.
  2689  //
  2690  // This method is useful when you want to inject custom logic or configuration
  2691  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2692  //
  2693  //
  2694  //    // Example sending a request using the ImportComponentRequest method.
  2695  //    req, resp := client.ImportComponentRequest(params)
  2696  //
  2697  //    err := req.Send()
  2698  //    if err == nil { // resp is now filled
  2699  //        fmt.Println(resp)
  2700  //    }
  2701  //
  2702  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportComponent
  2703  func (c *Imagebuilder) ImportComponentRequest(input *ImportComponentInput) (req *request.Request, output *ImportComponentOutput) {
  2704  	op := &request.Operation{
  2705  		Name:       opImportComponent,
  2706  		HTTPMethod: "PUT",
  2707  		HTTPPath:   "/ImportComponent",
  2708  	}
  2709  
  2710  	if input == nil {
  2711  		input = &ImportComponentInput{}
  2712  	}
  2713  
  2714  	output = &ImportComponentOutput{}
  2715  	req = c.newRequest(op, input, output)
  2716  	return
  2717  }
  2718  
  2719  // ImportComponent API operation for EC2 Image Builder.
  2720  //
  2721  // Imports a component and transforms its data into a component document.
  2722  //
  2723  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2724  // with awserr.Error's Code and Message methods to get detailed information about
  2725  // the error.
  2726  //
  2727  // See the AWS API reference guide for EC2 Image Builder's
  2728  // API operation ImportComponent for usage and error information.
  2729  //
  2730  // Returned Error Types:
  2731  //   * ServiceException
  2732  //   This exception is thrown when the service encounters an unrecoverable exception.
  2733  //
  2734  //   * ClientException
  2735  //   These errors are usually caused by a client action, such as using an action
  2736  //   or resource on behalf of a user that doesn't have permissions to use the
  2737  //   action or resource, or specifying an invalid resource identifier.
  2738  //
  2739  //   * ServiceUnavailableException
  2740  //   The service is unable to process your request at this time.
  2741  //
  2742  //   * InvalidRequestException
  2743  //   You have made a request for an action that is not supported by the service.
  2744  //
  2745  //   * IdempotentParameterMismatchException
  2746  //   You have specified a client token for an operation using parameter values
  2747  //   that differ from a previous request that used the same client token.
  2748  //
  2749  //   * ForbiddenException
  2750  //   You are not authorized to perform the requested operation.
  2751  //
  2752  //   * CallRateLimitExceededException
  2753  //   You have exceeded the permitted request rate for the specific operation.
  2754  //
  2755  //   * InvalidVersionNumberException
  2756  //   Your version number is out of bounds or does not follow the required syntax.
  2757  //
  2758  //   * ResourceInUseException
  2759  //   The resource that you are trying to operate on is currently in use. Review
  2760  //   the message details and retry later.
  2761  //
  2762  //   * InvalidParameterCombinationException
  2763  //   You have specified two or more mutually exclusive parameters. Review the
  2764  //   error message for details.
  2765  //
  2766  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportComponent
  2767  func (c *Imagebuilder) ImportComponent(input *ImportComponentInput) (*ImportComponentOutput, error) {
  2768  	req, out := c.ImportComponentRequest(input)
  2769  	return out, req.Send()
  2770  }
  2771  
  2772  // ImportComponentWithContext is the same as ImportComponent with the addition of
  2773  // the ability to pass a context and additional request options.
  2774  //
  2775  // See ImportComponent for details on how to use this API operation.
  2776  //
  2777  // The context must be non-nil and will be used for request cancellation. If
  2778  // the context is nil a panic will occur. In the future the SDK may create
  2779  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2780  // for more information on using Contexts.
  2781  func (c *Imagebuilder) ImportComponentWithContext(ctx aws.Context, input *ImportComponentInput, opts ...request.Option) (*ImportComponentOutput, error) {
  2782  	req, out := c.ImportComponentRequest(input)
  2783  	req.SetContext(ctx)
  2784  	req.ApplyOptions(opts...)
  2785  	return out, req.Send()
  2786  }
  2787  
  2788  const opListComponentBuildVersions = "ListComponentBuildVersions"
  2789  
  2790  // ListComponentBuildVersionsRequest generates a "aws/request.Request" representing the
  2791  // client's request for the ListComponentBuildVersions operation. The "output" return
  2792  // value will be populated with the request's response once the request completes
  2793  // successfully.
  2794  //
  2795  // Use "Send" method on the returned Request to send the API call to the service.
  2796  // the "output" return value is not valid until after Send returns without error.
  2797  //
  2798  // See ListComponentBuildVersions for more information on using the ListComponentBuildVersions
  2799  // API call, and error handling.
  2800  //
  2801  // This method is useful when you want to inject custom logic or configuration
  2802  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2803  //
  2804  //
  2805  //    // Example sending a request using the ListComponentBuildVersionsRequest method.
  2806  //    req, resp := client.ListComponentBuildVersionsRequest(params)
  2807  //
  2808  //    err := req.Send()
  2809  //    if err == nil { // resp is now filled
  2810  //        fmt.Println(resp)
  2811  //    }
  2812  //
  2813  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersions
  2814  func (c *Imagebuilder) ListComponentBuildVersionsRequest(input *ListComponentBuildVersionsInput) (req *request.Request, output *ListComponentBuildVersionsOutput) {
  2815  	op := &request.Operation{
  2816  		Name:       opListComponentBuildVersions,
  2817  		HTTPMethod: "POST",
  2818  		HTTPPath:   "/ListComponentBuildVersions",
  2819  		Paginator: &request.Paginator{
  2820  			InputTokens:     []string{"nextToken"},
  2821  			OutputTokens:    []string{"nextToken"},
  2822  			LimitToken:      "maxResults",
  2823  			TruncationToken: "",
  2824  		},
  2825  	}
  2826  
  2827  	if input == nil {
  2828  		input = &ListComponentBuildVersionsInput{}
  2829  	}
  2830  
  2831  	output = &ListComponentBuildVersionsOutput{}
  2832  	req = c.newRequest(op, input, output)
  2833  	return
  2834  }
  2835  
  2836  // ListComponentBuildVersions API operation for EC2 Image Builder.
  2837  //
  2838  // Returns the list of component build versions for the specified semantic version.
  2839  //
  2840  // The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  2841  // can assign values for the first three, and can filter on all of them.
  2842  //
  2843  // Filtering: With semantic versioning, you have the flexibility to use wildcards
  2844  // (x) to specify the most recent versions or nodes when selecting the base
  2845  // image or components for your recipe. When you use a wildcard in any node,
  2846  // all nodes to the right of the first wildcard must also be wildcards.
  2847  //
  2848  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2849  // with awserr.Error's Code and Message methods to get detailed information about
  2850  // the error.
  2851  //
  2852  // See the AWS API reference guide for EC2 Image Builder's
  2853  // API operation ListComponentBuildVersions for usage and error information.
  2854  //
  2855  // Returned Error Types:
  2856  //   * ServiceException
  2857  //   This exception is thrown when the service encounters an unrecoverable exception.
  2858  //
  2859  //   * ClientException
  2860  //   These errors are usually caused by a client action, such as using an action
  2861  //   or resource on behalf of a user that doesn't have permissions to use the
  2862  //   action or resource, or specifying an invalid resource identifier.
  2863  //
  2864  //   * ServiceUnavailableException
  2865  //   The service is unable to process your request at this time.
  2866  //
  2867  //   * InvalidRequestException
  2868  //   You have made a request for an action that is not supported by the service.
  2869  //
  2870  //   * InvalidPaginationTokenException
  2871  //   You have provided an invalid pagination token in your request.
  2872  //
  2873  //   * ForbiddenException
  2874  //   You are not authorized to perform the requested operation.
  2875  //
  2876  //   * CallRateLimitExceededException
  2877  //   You have exceeded the permitted request rate for the specific operation.
  2878  //
  2879  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersions
  2880  func (c *Imagebuilder) ListComponentBuildVersions(input *ListComponentBuildVersionsInput) (*ListComponentBuildVersionsOutput, error) {
  2881  	req, out := c.ListComponentBuildVersionsRequest(input)
  2882  	return out, req.Send()
  2883  }
  2884  
  2885  // ListComponentBuildVersionsWithContext is the same as ListComponentBuildVersions with the addition of
  2886  // the ability to pass a context and additional request options.
  2887  //
  2888  // See ListComponentBuildVersions for details on how to use this API operation.
  2889  //
  2890  // The context must be non-nil and will be used for request cancellation. If
  2891  // the context is nil a panic will occur. In the future the SDK may create
  2892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2893  // for more information on using Contexts.
  2894  func (c *Imagebuilder) ListComponentBuildVersionsWithContext(ctx aws.Context, input *ListComponentBuildVersionsInput, opts ...request.Option) (*ListComponentBuildVersionsOutput, error) {
  2895  	req, out := c.ListComponentBuildVersionsRequest(input)
  2896  	req.SetContext(ctx)
  2897  	req.ApplyOptions(opts...)
  2898  	return out, req.Send()
  2899  }
  2900  
  2901  // ListComponentBuildVersionsPages iterates over the pages of a ListComponentBuildVersions operation,
  2902  // calling the "fn" function with the response data for each page. To stop
  2903  // iterating, return false from the fn function.
  2904  //
  2905  // See ListComponentBuildVersions method for more information on how to use this operation.
  2906  //
  2907  // Note: This operation can generate multiple requests to a service.
  2908  //
  2909  //    // Example iterating over at most 3 pages of a ListComponentBuildVersions operation.
  2910  //    pageNum := 0
  2911  //    err := client.ListComponentBuildVersionsPages(params,
  2912  //        func(page *imagebuilder.ListComponentBuildVersionsOutput, lastPage bool) bool {
  2913  //            pageNum++
  2914  //            fmt.Println(page)
  2915  //            return pageNum <= 3
  2916  //        })
  2917  //
  2918  func (c *Imagebuilder) ListComponentBuildVersionsPages(input *ListComponentBuildVersionsInput, fn func(*ListComponentBuildVersionsOutput, bool) bool) error {
  2919  	return c.ListComponentBuildVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2920  }
  2921  
  2922  // ListComponentBuildVersionsPagesWithContext same as ListComponentBuildVersionsPages except
  2923  // it takes a Context and allows setting request options on the pages.
  2924  //
  2925  // The context must be non-nil and will be used for request cancellation. If
  2926  // the context is nil a panic will occur. In the future the SDK may create
  2927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2928  // for more information on using Contexts.
  2929  func (c *Imagebuilder) ListComponentBuildVersionsPagesWithContext(ctx aws.Context, input *ListComponentBuildVersionsInput, fn func(*ListComponentBuildVersionsOutput, bool) bool, opts ...request.Option) error {
  2930  	p := request.Pagination{
  2931  		NewRequest: func() (*request.Request, error) {
  2932  			var inCpy *ListComponentBuildVersionsInput
  2933  			if input != nil {
  2934  				tmp := *input
  2935  				inCpy = &tmp
  2936  			}
  2937  			req, _ := c.ListComponentBuildVersionsRequest(inCpy)
  2938  			req.SetContext(ctx)
  2939  			req.ApplyOptions(opts...)
  2940  			return req, nil
  2941  		},
  2942  	}
  2943  
  2944  	for p.Next() {
  2945  		if !fn(p.Page().(*ListComponentBuildVersionsOutput), !p.HasNextPage()) {
  2946  			break
  2947  		}
  2948  	}
  2949  
  2950  	return p.Err()
  2951  }
  2952  
  2953  const opListComponents = "ListComponents"
  2954  
  2955  // ListComponentsRequest generates a "aws/request.Request" representing the
  2956  // client's request for the ListComponents operation. The "output" return
  2957  // value will be populated with the request's response once the request completes
  2958  // successfully.
  2959  //
  2960  // Use "Send" method on the returned Request to send the API call to the service.
  2961  // the "output" return value is not valid until after Send returns without error.
  2962  //
  2963  // See ListComponents for more information on using the ListComponents
  2964  // API call, and error handling.
  2965  //
  2966  // This method is useful when you want to inject custom logic or configuration
  2967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2968  //
  2969  //
  2970  //    // Example sending a request using the ListComponentsRequest method.
  2971  //    req, resp := client.ListComponentsRequest(params)
  2972  //
  2973  //    err := req.Send()
  2974  //    if err == nil { // resp is now filled
  2975  //        fmt.Println(resp)
  2976  //    }
  2977  //
  2978  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponents
  2979  func (c *Imagebuilder) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) {
  2980  	op := &request.Operation{
  2981  		Name:       opListComponents,
  2982  		HTTPMethod: "POST",
  2983  		HTTPPath:   "/ListComponents",
  2984  		Paginator: &request.Paginator{
  2985  			InputTokens:     []string{"nextToken"},
  2986  			OutputTokens:    []string{"nextToken"},
  2987  			LimitToken:      "maxResults",
  2988  			TruncationToken: "",
  2989  		},
  2990  	}
  2991  
  2992  	if input == nil {
  2993  		input = &ListComponentsInput{}
  2994  	}
  2995  
  2996  	output = &ListComponentsOutput{}
  2997  	req = c.newRequest(op, input, output)
  2998  	return
  2999  }
  3000  
  3001  // ListComponents API operation for EC2 Image Builder.
  3002  //
  3003  // Returns the list of component build versions for the specified semantic version.
  3004  //
  3005  // The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  3006  // can assign values for the first three, and can filter on all of them.
  3007  //
  3008  // Filtering: With semantic versioning, you have the flexibility to use wildcards
  3009  // (x) to specify the most recent versions or nodes when selecting the base
  3010  // image or components for your recipe. When you use a wildcard in any node,
  3011  // all nodes to the right of the first wildcard must also be wildcards.
  3012  //
  3013  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3014  // with awserr.Error's Code and Message methods to get detailed information about
  3015  // the error.
  3016  //
  3017  // See the AWS API reference guide for EC2 Image Builder's
  3018  // API operation ListComponents for usage and error information.
  3019  //
  3020  // Returned Error Types:
  3021  //   * ServiceException
  3022  //   This exception is thrown when the service encounters an unrecoverable exception.
  3023  //
  3024  //   * ClientException
  3025  //   These errors are usually caused by a client action, such as using an action
  3026  //   or resource on behalf of a user that doesn't have permissions to use the
  3027  //   action or resource, or specifying an invalid resource identifier.
  3028  //
  3029  //   * ServiceUnavailableException
  3030  //   The service is unable to process your request at this time.
  3031  //
  3032  //   * InvalidRequestException
  3033  //   You have made a request for an action that is not supported by the service.
  3034  //
  3035  //   * InvalidPaginationTokenException
  3036  //   You have provided an invalid pagination token in your request.
  3037  //
  3038  //   * ForbiddenException
  3039  //   You are not authorized to perform the requested operation.
  3040  //
  3041  //   * CallRateLimitExceededException
  3042  //   You have exceeded the permitted request rate for the specific operation.
  3043  //
  3044  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponents
  3045  func (c *Imagebuilder) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) {
  3046  	req, out := c.ListComponentsRequest(input)
  3047  	return out, req.Send()
  3048  }
  3049  
  3050  // ListComponentsWithContext is the same as ListComponents with the addition of
  3051  // the ability to pass a context and additional request options.
  3052  //
  3053  // See ListComponents for details on how to use this API operation.
  3054  //
  3055  // The context must be non-nil and will be used for request cancellation. If
  3056  // the context is nil a panic will occur. In the future the SDK may create
  3057  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3058  // for more information on using Contexts.
  3059  func (c *Imagebuilder) ListComponentsWithContext(ctx aws.Context, input *ListComponentsInput, opts ...request.Option) (*ListComponentsOutput, error) {
  3060  	req, out := c.ListComponentsRequest(input)
  3061  	req.SetContext(ctx)
  3062  	req.ApplyOptions(opts...)
  3063  	return out, req.Send()
  3064  }
  3065  
  3066  // ListComponentsPages iterates over the pages of a ListComponents operation,
  3067  // calling the "fn" function with the response data for each page. To stop
  3068  // iterating, return false from the fn function.
  3069  //
  3070  // See ListComponents method for more information on how to use this operation.
  3071  //
  3072  // Note: This operation can generate multiple requests to a service.
  3073  //
  3074  //    // Example iterating over at most 3 pages of a ListComponents operation.
  3075  //    pageNum := 0
  3076  //    err := client.ListComponentsPages(params,
  3077  //        func(page *imagebuilder.ListComponentsOutput, lastPage bool) bool {
  3078  //            pageNum++
  3079  //            fmt.Println(page)
  3080  //            return pageNum <= 3
  3081  //        })
  3082  //
  3083  func (c *Imagebuilder) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error {
  3084  	return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn)
  3085  }
  3086  
  3087  // ListComponentsPagesWithContext same as ListComponentsPages except
  3088  // it takes a Context and allows setting request options on the pages.
  3089  //
  3090  // The context must be non-nil and will be used for request cancellation. If
  3091  // the context is nil a panic will occur. In the future the SDK may create
  3092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3093  // for more information on using Contexts.
  3094  func (c *Imagebuilder) ListComponentsPagesWithContext(ctx aws.Context, input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool, opts ...request.Option) error {
  3095  	p := request.Pagination{
  3096  		NewRequest: func() (*request.Request, error) {
  3097  			var inCpy *ListComponentsInput
  3098  			if input != nil {
  3099  				tmp := *input
  3100  				inCpy = &tmp
  3101  			}
  3102  			req, _ := c.ListComponentsRequest(inCpy)
  3103  			req.SetContext(ctx)
  3104  			req.ApplyOptions(opts...)
  3105  			return req, nil
  3106  		},
  3107  	}
  3108  
  3109  	for p.Next() {
  3110  		if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) {
  3111  			break
  3112  		}
  3113  	}
  3114  
  3115  	return p.Err()
  3116  }
  3117  
  3118  const opListContainerRecipes = "ListContainerRecipes"
  3119  
  3120  // ListContainerRecipesRequest generates a "aws/request.Request" representing the
  3121  // client's request for the ListContainerRecipes operation. The "output" return
  3122  // value will be populated with the request's response once the request completes
  3123  // successfully.
  3124  //
  3125  // Use "Send" method on the returned Request to send the API call to the service.
  3126  // the "output" return value is not valid until after Send returns without error.
  3127  //
  3128  // See ListContainerRecipes for more information on using the ListContainerRecipes
  3129  // API call, and error handling.
  3130  //
  3131  // This method is useful when you want to inject custom logic or configuration
  3132  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3133  //
  3134  //
  3135  //    // Example sending a request using the ListContainerRecipesRequest method.
  3136  //    req, resp := client.ListContainerRecipesRequest(params)
  3137  //
  3138  //    err := req.Send()
  3139  //    if err == nil { // resp is now filled
  3140  //        fmt.Println(resp)
  3141  //    }
  3142  //
  3143  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipes
  3144  func (c *Imagebuilder) ListContainerRecipesRequest(input *ListContainerRecipesInput) (req *request.Request, output *ListContainerRecipesOutput) {
  3145  	op := &request.Operation{
  3146  		Name:       opListContainerRecipes,
  3147  		HTTPMethod: "POST",
  3148  		HTTPPath:   "/ListContainerRecipes",
  3149  		Paginator: &request.Paginator{
  3150  			InputTokens:     []string{"nextToken"},
  3151  			OutputTokens:    []string{"nextToken"},
  3152  			LimitToken:      "maxResults",
  3153  			TruncationToken: "",
  3154  		},
  3155  	}
  3156  
  3157  	if input == nil {
  3158  		input = &ListContainerRecipesInput{}
  3159  	}
  3160  
  3161  	output = &ListContainerRecipesOutput{}
  3162  	req = c.newRequest(op, input, output)
  3163  	return
  3164  }
  3165  
  3166  // ListContainerRecipes API operation for EC2 Image Builder.
  3167  //
  3168  // Returns a list of container recipes.
  3169  //
  3170  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3171  // with awserr.Error's Code and Message methods to get detailed information about
  3172  // the error.
  3173  //
  3174  // See the AWS API reference guide for EC2 Image Builder's
  3175  // API operation ListContainerRecipes for usage and error information.
  3176  //
  3177  // Returned Error Types:
  3178  //   * ServiceException
  3179  //   This exception is thrown when the service encounters an unrecoverable exception.
  3180  //
  3181  //   * ClientException
  3182  //   These errors are usually caused by a client action, such as using an action
  3183  //   or resource on behalf of a user that doesn't have permissions to use the
  3184  //   action or resource, or specifying an invalid resource identifier.
  3185  //
  3186  //   * ServiceUnavailableException
  3187  //   The service is unable to process your request at this time.
  3188  //
  3189  //   * InvalidRequestException
  3190  //   You have made a request for an action that is not supported by the service.
  3191  //
  3192  //   * InvalidPaginationTokenException
  3193  //   You have provided an invalid pagination token in your request.
  3194  //
  3195  //   * ForbiddenException
  3196  //   You are not authorized to perform the requested operation.
  3197  //
  3198  //   * CallRateLimitExceededException
  3199  //   You have exceeded the permitted request rate for the specific operation.
  3200  //
  3201  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipes
  3202  func (c *Imagebuilder) ListContainerRecipes(input *ListContainerRecipesInput) (*ListContainerRecipesOutput, error) {
  3203  	req, out := c.ListContainerRecipesRequest(input)
  3204  	return out, req.Send()
  3205  }
  3206  
  3207  // ListContainerRecipesWithContext is the same as ListContainerRecipes with the addition of
  3208  // the ability to pass a context and additional request options.
  3209  //
  3210  // See ListContainerRecipes for details on how to use this API operation.
  3211  //
  3212  // The context must be non-nil and will be used for request cancellation. If
  3213  // the context is nil a panic will occur. In the future the SDK may create
  3214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3215  // for more information on using Contexts.
  3216  func (c *Imagebuilder) ListContainerRecipesWithContext(ctx aws.Context, input *ListContainerRecipesInput, opts ...request.Option) (*ListContainerRecipesOutput, error) {
  3217  	req, out := c.ListContainerRecipesRequest(input)
  3218  	req.SetContext(ctx)
  3219  	req.ApplyOptions(opts...)
  3220  	return out, req.Send()
  3221  }
  3222  
  3223  // ListContainerRecipesPages iterates over the pages of a ListContainerRecipes operation,
  3224  // calling the "fn" function with the response data for each page. To stop
  3225  // iterating, return false from the fn function.
  3226  //
  3227  // See ListContainerRecipes method for more information on how to use this operation.
  3228  //
  3229  // Note: This operation can generate multiple requests to a service.
  3230  //
  3231  //    // Example iterating over at most 3 pages of a ListContainerRecipes operation.
  3232  //    pageNum := 0
  3233  //    err := client.ListContainerRecipesPages(params,
  3234  //        func(page *imagebuilder.ListContainerRecipesOutput, lastPage bool) bool {
  3235  //            pageNum++
  3236  //            fmt.Println(page)
  3237  //            return pageNum <= 3
  3238  //        })
  3239  //
  3240  func (c *Imagebuilder) ListContainerRecipesPages(input *ListContainerRecipesInput, fn func(*ListContainerRecipesOutput, bool) bool) error {
  3241  	return c.ListContainerRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
  3242  }
  3243  
  3244  // ListContainerRecipesPagesWithContext same as ListContainerRecipesPages except
  3245  // it takes a Context and allows setting request options on the pages.
  3246  //
  3247  // The context must be non-nil and will be used for request cancellation. If
  3248  // the context is nil a panic will occur. In the future the SDK may create
  3249  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3250  // for more information on using Contexts.
  3251  func (c *Imagebuilder) ListContainerRecipesPagesWithContext(ctx aws.Context, input *ListContainerRecipesInput, fn func(*ListContainerRecipesOutput, bool) bool, opts ...request.Option) error {
  3252  	p := request.Pagination{
  3253  		NewRequest: func() (*request.Request, error) {
  3254  			var inCpy *ListContainerRecipesInput
  3255  			if input != nil {
  3256  				tmp := *input
  3257  				inCpy = &tmp
  3258  			}
  3259  			req, _ := c.ListContainerRecipesRequest(inCpy)
  3260  			req.SetContext(ctx)
  3261  			req.ApplyOptions(opts...)
  3262  			return req, nil
  3263  		},
  3264  	}
  3265  
  3266  	for p.Next() {
  3267  		if !fn(p.Page().(*ListContainerRecipesOutput), !p.HasNextPage()) {
  3268  			break
  3269  		}
  3270  	}
  3271  
  3272  	return p.Err()
  3273  }
  3274  
  3275  const opListDistributionConfigurations = "ListDistributionConfigurations"
  3276  
  3277  // ListDistributionConfigurationsRequest generates a "aws/request.Request" representing the
  3278  // client's request for the ListDistributionConfigurations operation. The "output" return
  3279  // value will be populated with the request's response once the request completes
  3280  // successfully.
  3281  //
  3282  // Use "Send" method on the returned Request to send the API call to the service.
  3283  // the "output" return value is not valid until after Send returns without error.
  3284  //
  3285  // See ListDistributionConfigurations for more information on using the ListDistributionConfigurations
  3286  // API call, and error handling.
  3287  //
  3288  // This method is useful when you want to inject custom logic or configuration
  3289  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3290  //
  3291  //
  3292  //    // Example sending a request using the ListDistributionConfigurationsRequest method.
  3293  //    req, resp := client.ListDistributionConfigurationsRequest(params)
  3294  //
  3295  //    err := req.Send()
  3296  //    if err == nil { // resp is now filled
  3297  //        fmt.Println(resp)
  3298  //    }
  3299  //
  3300  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurations
  3301  func (c *Imagebuilder) ListDistributionConfigurationsRequest(input *ListDistributionConfigurationsInput) (req *request.Request, output *ListDistributionConfigurationsOutput) {
  3302  	op := &request.Operation{
  3303  		Name:       opListDistributionConfigurations,
  3304  		HTTPMethod: "POST",
  3305  		HTTPPath:   "/ListDistributionConfigurations",
  3306  		Paginator: &request.Paginator{
  3307  			InputTokens:     []string{"nextToken"},
  3308  			OutputTokens:    []string{"nextToken"},
  3309  			LimitToken:      "maxResults",
  3310  			TruncationToken: "",
  3311  		},
  3312  	}
  3313  
  3314  	if input == nil {
  3315  		input = &ListDistributionConfigurationsInput{}
  3316  	}
  3317  
  3318  	output = &ListDistributionConfigurationsOutput{}
  3319  	req = c.newRequest(op, input, output)
  3320  	return
  3321  }
  3322  
  3323  // ListDistributionConfigurations API operation for EC2 Image Builder.
  3324  //
  3325  // Returns a list of distribution configurations.
  3326  //
  3327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3328  // with awserr.Error's Code and Message methods to get detailed information about
  3329  // the error.
  3330  //
  3331  // See the AWS API reference guide for EC2 Image Builder's
  3332  // API operation ListDistributionConfigurations for usage and error information.
  3333  //
  3334  // Returned Error Types:
  3335  //   * ServiceException
  3336  //   This exception is thrown when the service encounters an unrecoverable exception.
  3337  //
  3338  //   * ClientException
  3339  //   These errors are usually caused by a client action, such as using an action
  3340  //   or resource on behalf of a user that doesn't have permissions to use the
  3341  //   action or resource, or specifying an invalid resource identifier.
  3342  //
  3343  //   * ServiceUnavailableException
  3344  //   The service is unable to process your request at this time.
  3345  //
  3346  //   * InvalidRequestException
  3347  //   You have made a request for an action that is not supported by the service.
  3348  //
  3349  //   * InvalidPaginationTokenException
  3350  //   You have provided an invalid pagination token in your request.
  3351  //
  3352  //   * ForbiddenException
  3353  //   You are not authorized to perform the requested operation.
  3354  //
  3355  //   * CallRateLimitExceededException
  3356  //   You have exceeded the permitted request rate for the specific operation.
  3357  //
  3358  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurations
  3359  func (c *Imagebuilder) ListDistributionConfigurations(input *ListDistributionConfigurationsInput) (*ListDistributionConfigurationsOutput, error) {
  3360  	req, out := c.ListDistributionConfigurationsRequest(input)
  3361  	return out, req.Send()
  3362  }
  3363  
  3364  // ListDistributionConfigurationsWithContext is the same as ListDistributionConfigurations with the addition of
  3365  // the ability to pass a context and additional request options.
  3366  //
  3367  // See ListDistributionConfigurations for details on how to use this API operation.
  3368  //
  3369  // The context must be non-nil and will be used for request cancellation. If
  3370  // the context is nil a panic will occur. In the future the SDK may create
  3371  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3372  // for more information on using Contexts.
  3373  func (c *Imagebuilder) ListDistributionConfigurationsWithContext(ctx aws.Context, input *ListDistributionConfigurationsInput, opts ...request.Option) (*ListDistributionConfigurationsOutput, error) {
  3374  	req, out := c.ListDistributionConfigurationsRequest(input)
  3375  	req.SetContext(ctx)
  3376  	req.ApplyOptions(opts...)
  3377  	return out, req.Send()
  3378  }
  3379  
  3380  // ListDistributionConfigurationsPages iterates over the pages of a ListDistributionConfigurations operation,
  3381  // calling the "fn" function with the response data for each page. To stop
  3382  // iterating, return false from the fn function.
  3383  //
  3384  // See ListDistributionConfigurations method for more information on how to use this operation.
  3385  //
  3386  // Note: This operation can generate multiple requests to a service.
  3387  //
  3388  //    // Example iterating over at most 3 pages of a ListDistributionConfigurations operation.
  3389  //    pageNum := 0
  3390  //    err := client.ListDistributionConfigurationsPages(params,
  3391  //        func(page *imagebuilder.ListDistributionConfigurationsOutput, lastPage bool) bool {
  3392  //            pageNum++
  3393  //            fmt.Println(page)
  3394  //            return pageNum <= 3
  3395  //        })
  3396  //
  3397  func (c *Imagebuilder) ListDistributionConfigurationsPages(input *ListDistributionConfigurationsInput, fn func(*ListDistributionConfigurationsOutput, bool) bool) error {
  3398  	return c.ListDistributionConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  3399  }
  3400  
  3401  // ListDistributionConfigurationsPagesWithContext same as ListDistributionConfigurationsPages except
  3402  // it takes a Context and allows setting request options on the pages.
  3403  //
  3404  // The context must be non-nil and will be used for request cancellation. If
  3405  // the context is nil a panic will occur. In the future the SDK may create
  3406  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3407  // for more information on using Contexts.
  3408  func (c *Imagebuilder) ListDistributionConfigurationsPagesWithContext(ctx aws.Context, input *ListDistributionConfigurationsInput, fn func(*ListDistributionConfigurationsOutput, bool) bool, opts ...request.Option) error {
  3409  	p := request.Pagination{
  3410  		NewRequest: func() (*request.Request, error) {
  3411  			var inCpy *ListDistributionConfigurationsInput
  3412  			if input != nil {
  3413  				tmp := *input
  3414  				inCpy = &tmp
  3415  			}
  3416  			req, _ := c.ListDistributionConfigurationsRequest(inCpy)
  3417  			req.SetContext(ctx)
  3418  			req.ApplyOptions(opts...)
  3419  			return req, nil
  3420  		},
  3421  	}
  3422  
  3423  	for p.Next() {
  3424  		if !fn(p.Page().(*ListDistributionConfigurationsOutput), !p.HasNextPage()) {
  3425  			break
  3426  		}
  3427  	}
  3428  
  3429  	return p.Err()
  3430  }
  3431  
  3432  const opListImageBuildVersions = "ListImageBuildVersions"
  3433  
  3434  // ListImageBuildVersionsRequest generates a "aws/request.Request" representing the
  3435  // client's request for the ListImageBuildVersions operation. The "output" return
  3436  // value will be populated with the request's response once the request completes
  3437  // successfully.
  3438  //
  3439  // Use "Send" method on the returned Request to send the API call to the service.
  3440  // the "output" return value is not valid until after Send returns without error.
  3441  //
  3442  // See ListImageBuildVersions for more information on using the ListImageBuildVersions
  3443  // API call, and error handling.
  3444  //
  3445  // This method is useful when you want to inject custom logic or configuration
  3446  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3447  //
  3448  //
  3449  //    // Example sending a request using the ListImageBuildVersionsRequest method.
  3450  //    req, resp := client.ListImageBuildVersionsRequest(params)
  3451  //
  3452  //    err := req.Send()
  3453  //    if err == nil { // resp is now filled
  3454  //        fmt.Println(resp)
  3455  //    }
  3456  //
  3457  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions
  3458  func (c *Imagebuilder) ListImageBuildVersionsRequest(input *ListImageBuildVersionsInput) (req *request.Request, output *ListImageBuildVersionsOutput) {
  3459  	op := &request.Operation{
  3460  		Name:       opListImageBuildVersions,
  3461  		HTTPMethod: "POST",
  3462  		HTTPPath:   "/ListImageBuildVersions",
  3463  		Paginator: &request.Paginator{
  3464  			InputTokens:     []string{"nextToken"},
  3465  			OutputTokens:    []string{"nextToken"},
  3466  			LimitToken:      "maxResults",
  3467  			TruncationToken: "",
  3468  		},
  3469  	}
  3470  
  3471  	if input == nil {
  3472  		input = &ListImageBuildVersionsInput{}
  3473  	}
  3474  
  3475  	output = &ListImageBuildVersionsOutput{}
  3476  	req = c.newRequest(op, input, output)
  3477  	return
  3478  }
  3479  
  3480  // ListImageBuildVersions API operation for EC2 Image Builder.
  3481  //
  3482  // Returns a list of image build versions.
  3483  //
  3484  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3485  // with awserr.Error's Code and Message methods to get detailed information about
  3486  // the error.
  3487  //
  3488  // See the AWS API reference guide for EC2 Image Builder's
  3489  // API operation ListImageBuildVersions for usage and error information.
  3490  //
  3491  // Returned Error Types:
  3492  //   * ServiceException
  3493  //   This exception is thrown when the service encounters an unrecoverable exception.
  3494  //
  3495  //   * ClientException
  3496  //   These errors are usually caused by a client action, such as using an action
  3497  //   or resource on behalf of a user that doesn't have permissions to use the
  3498  //   action or resource, or specifying an invalid resource identifier.
  3499  //
  3500  //   * ServiceUnavailableException
  3501  //   The service is unable to process your request at this time.
  3502  //
  3503  //   * InvalidRequestException
  3504  //   You have made a request for an action that is not supported by the service.
  3505  //
  3506  //   * InvalidPaginationTokenException
  3507  //   You have provided an invalid pagination token in your request.
  3508  //
  3509  //   * ForbiddenException
  3510  //   You are not authorized to perform the requested operation.
  3511  //
  3512  //   * CallRateLimitExceededException
  3513  //   You have exceeded the permitted request rate for the specific operation.
  3514  //
  3515  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions
  3516  func (c *Imagebuilder) ListImageBuildVersions(input *ListImageBuildVersionsInput) (*ListImageBuildVersionsOutput, error) {
  3517  	req, out := c.ListImageBuildVersionsRequest(input)
  3518  	return out, req.Send()
  3519  }
  3520  
  3521  // ListImageBuildVersionsWithContext is the same as ListImageBuildVersions with the addition of
  3522  // the ability to pass a context and additional request options.
  3523  //
  3524  // See ListImageBuildVersions for details on how to use this API operation.
  3525  //
  3526  // The context must be non-nil and will be used for request cancellation. If
  3527  // the context is nil a panic will occur. In the future the SDK may create
  3528  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3529  // for more information on using Contexts.
  3530  func (c *Imagebuilder) ListImageBuildVersionsWithContext(ctx aws.Context, input *ListImageBuildVersionsInput, opts ...request.Option) (*ListImageBuildVersionsOutput, error) {
  3531  	req, out := c.ListImageBuildVersionsRequest(input)
  3532  	req.SetContext(ctx)
  3533  	req.ApplyOptions(opts...)
  3534  	return out, req.Send()
  3535  }
  3536  
  3537  // ListImageBuildVersionsPages iterates over the pages of a ListImageBuildVersions operation,
  3538  // calling the "fn" function with the response data for each page. To stop
  3539  // iterating, return false from the fn function.
  3540  //
  3541  // See ListImageBuildVersions method for more information on how to use this operation.
  3542  //
  3543  // Note: This operation can generate multiple requests to a service.
  3544  //
  3545  //    // Example iterating over at most 3 pages of a ListImageBuildVersions operation.
  3546  //    pageNum := 0
  3547  //    err := client.ListImageBuildVersionsPages(params,
  3548  //        func(page *imagebuilder.ListImageBuildVersionsOutput, lastPage bool) bool {
  3549  //            pageNum++
  3550  //            fmt.Println(page)
  3551  //            return pageNum <= 3
  3552  //        })
  3553  //
  3554  func (c *Imagebuilder) ListImageBuildVersionsPages(input *ListImageBuildVersionsInput, fn func(*ListImageBuildVersionsOutput, bool) bool) error {
  3555  	return c.ListImageBuildVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3556  }
  3557  
  3558  // ListImageBuildVersionsPagesWithContext same as ListImageBuildVersionsPages except
  3559  // it takes a Context and allows setting request options on the pages.
  3560  //
  3561  // The context must be non-nil and will be used for request cancellation. If
  3562  // the context is nil a panic will occur. In the future the SDK may create
  3563  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3564  // for more information on using Contexts.
  3565  func (c *Imagebuilder) ListImageBuildVersionsPagesWithContext(ctx aws.Context, input *ListImageBuildVersionsInput, fn func(*ListImageBuildVersionsOutput, bool) bool, opts ...request.Option) error {
  3566  	p := request.Pagination{
  3567  		NewRequest: func() (*request.Request, error) {
  3568  			var inCpy *ListImageBuildVersionsInput
  3569  			if input != nil {
  3570  				tmp := *input
  3571  				inCpy = &tmp
  3572  			}
  3573  			req, _ := c.ListImageBuildVersionsRequest(inCpy)
  3574  			req.SetContext(ctx)
  3575  			req.ApplyOptions(opts...)
  3576  			return req, nil
  3577  		},
  3578  	}
  3579  
  3580  	for p.Next() {
  3581  		if !fn(p.Page().(*ListImageBuildVersionsOutput), !p.HasNextPage()) {
  3582  			break
  3583  		}
  3584  	}
  3585  
  3586  	return p.Err()
  3587  }
  3588  
  3589  const opListImagePackages = "ListImagePackages"
  3590  
  3591  // ListImagePackagesRequest generates a "aws/request.Request" representing the
  3592  // client's request for the ListImagePackages operation. The "output" return
  3593  // value will be populated with the request's response once the request completes
  3594  // successfully.
  3595  //
  3596  // Use "Send" method on the returned Request to send the API call to the service.
  3597  // the "output" return value is not valid until after Send returns without error.
  3598  //
  3599  // See ListImagePackages for more information on using the ListImagePackages
  3600  // API call, and error handling.
  3601  //
  3602  // This method is useful when you want to inject custom logic or configuration
  3603  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3604  //
  3605  //
  3606  //    // Example sending a request using the ListImagePackagesRequest method.
  3607  //    req, resp := client.ListImagePackagesRequest(params)
  3608  //
  3609  //    err := req.Send()
  3610  //    if err == nil { // resp is now filled
  3611  //        fmt.Println(resp)
  3612  //    }
  3613  //
  3614  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackages
  3615  func (c *Imagebuilder) ListImagePackagesRequest(input *ListImagePackagesInput) (req *request.Request, output *ListImagePackagesOutput) {
  3616  	op := &request.Operation{
  3617  		Name:       opListImagePackages,
  3618  		HTTPMethod: "POST",
  3619  		HTTPPath:   "/ListImagePackages",
  3620  		Paginator: &request.Paginator{
  3621  			InputTokens:     []string{"nextToken"},
  3622  			OutputTokens:    []string{"nextToken"},
  3623  			LimitToken:      "maxResults",
  3624  			TruncationToken: "",
  3625  		},
  3626  	}
  3627  
  3628  	if input == nil {
  3629  		input = &ListImagePackagesInput{}
  3630  	}
  3631  
  3632  	output = &ListImagePackagesOutput{}
  3633  	req = c.newRequest(op, input, output)
  3634  	return
  3635  }
  3636  
  3637  // ListImagePackages API operation for EC2 Image Builder.
  3638  //
  3639  // List the Packages that are associated with an Image Build Version, as determined
  3640  // by Amazon Web Services Systems Manager Inventory at build time.
  3641  //
  3642  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3643  // with awserr.Error's Code and Message methods to get detailed information about
  3644  // the error.
  3645  //
  3646  // See the AWS API reference guide for EC2 Image Builder's
  3647  // API operation ListImagePackages for usage and error information.
  3648  //
  3649  // Returned Error Types:
  3650  //   * ServiceException
  3651  //   This exception is thrown when the service encounters an unrecoverable exception.
  3652  //
  3653  //   * ClientException
  3654  //   These errors are usually caused by a client action, such as using an action
  3655  //   or resource on behalf of a user that doesn't have permissions to use the
  3656  //   action or resource, or specifying an invalid resource identifier.
  3657  //
  3658  //   * ServiceUnavailableException
  3659  //   The service is unable to process your request at this time.
  3660  //
  3661  //   * InvalidRequestException
  3662  //   You have made a request for an action that is not supported by the service.
  3663  //
  3664  //   * InvalidPaginationTokenException
  3665  //   You have provided an invalid pagination token in your request.
  3666  //
  3667  //   * ResourceNotFoundException
  3668  //   At least one of the resources referenced by your request does not exist.
  3669  //
  3670  //   * ForbiddenException
  3671  //   You are not authorized to perform the requested operation.
  3672  //
  3673  //   * CallRateLimitExceededException
  3674  //   You have exceeded the permitted request rate for the specific operation.
  3675  //
  3676  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackages
  3677  func (c *Imagebuilder) ListImagePackages(input *ListImagePackagesInput) (*ListImagePackagesOutput, error) {
  3678  	req, out := c.ListImagePackagesRequest(input)
  3679  	return out, req.Send()
  3680  }
  3681  
  3682  // ListImagePackagesWithContext is the same as ListImagePackages with the addition of
  3683  // the ability to pass a context and additional request options.
  3684  //
  3685  // See ListImagePackages for details on how to use this API operation.
  3686  //
  3687  // The context must be non-nil and will be used for request cancellation. If
  3688  // the context is nil a panic will occur. In the future the SDK may create
  3689  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3690  // for more information on using Contexts.
  3691  func (c *Imagebuilder) ListImagePackagesWithContext(ctx aws.Context, input *ListImagePackagesInput, opts ...request.Option) (*ListImagePackagesOutput, error) {
  3692  	req, out := c.ListImagePackagesRequest(input)
  3693  	req.SetContext(ctx)
  3694  	req.ApplyOptions(opts...)
  3695  	return out, req.Send()
  3696  }
  3697  
  3698  // ListImagePackagesPages iterates over the pages of a ListImagePackages operation,
  3699  // calling the "fn" function with the response data for each page. To stop
  3700  // iterating, return false from the fn function.
  3701  //
  3702  // See ListImagePackages method for more information on how to use this operation.
  3703  //
  3704  // Note: This operation can generate multiple requests to a service.
  3705  //
  3706  //    // Example iterating over at most 3 pages of a ListImagePackages operation.
  3707  //    pageNum := 0
  3708  //    err := client.ListImagePackagesPages(params,
  3709  //        func(page *imagebuilder.ListImagePackagesOutput, lastPage bool) bool {
  3710  //            pageNum++
  3711  //            fmt.Println(page)
  3712  //            return pageNum <= 3
  3713  //        })
  3714  //
  3715  func (c *Imagebuilder) ListImagePackagesPages(input *ListImagePackagesInput, fn func(*ListImagePackagesOutput, bool) bool) error {
  3716  	return c.ListImagePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
  3717  }
  3718  
  3719  // ListImagePackagesPagesWithContext same as ListImagePackagesPages except
  3720  // it takes a Context and allows setting request options on the pages.
  3721  //
  3722  // The context must be non-nil and will be used for request cancellation. If
  3723  // the context is nil a panic will occur. In the future the SDK may create
  3724  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3725  // for more information on using Contexts.
  3726  func (c *Imagebuilder) ListImagePackagesPagesWithContext(ctx aws.Context, input *ListImagePackagesInput, fn func(*ListImagePackagesOutput, bool) bool, opts ...request.Option) error {
  3727  	p := request.Pagination{
  3728  		NewRequest: func() (*request.Request, error) {
  3729  			var inCpy *ListImagePackagesInput
  3730  			if input != nil {
  3731  				tmp := *input
  3732  				inCpy = &tmp
  3733  			}
  3734  			req, _ := c.ListImagePackagesRequest(inCpy)
  3735  			req.SetContext(ctx)
  3736  			req.ApplyOptions(opts...)
  3737  			return req, nil
  3738  		},
  3739  	}
  3740  
  3741  	for p.Next() {
  3742  		if !fn(p.Page().(*ListImagePackagesOutput), !p.HasNextPage()) {
  3743  			break
  3744  		}
  3745  	}
  3746  
  3747  	return p.Err()
  3748  }
  3749  
  3750  const opListImagePipelineImages = "ListImagePipelineImages"
  3751  
  3752  // ListImagePipelineImagesRequest generates a "aws/request.Request" representing the
  3753  // client's request for the ListImagePipelineImages operation. The "output" return
  3754  // value will be populated with the request's response once the request completes
  3755  // successfully.
  3756  //
  3757  // Use "Send" method on the returned Request to send the API call to the service.
  3758  // the "output" return value is not valid until after Send returns without error.
  3759  //
  3760  // See ListImagePipelineImages for more information on using the ListImagePipelineImages
  3761  // API call, and error handling.
  3762  //
  3763  // This method is useful when you want to inject custom logic or configuration
  3764  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3765  //
  3766  //
  3767  //    // Example sending a request using the ListImagePipelineImagesRequest method.
  3768  //    req, resp := client.ListImagePipelineImagesRequest(params)
  3769  //
  3770  //    err := req.Send()
  3771  //    if err == nil { // resp is now filled
  3772  //        fmt.Println(resp)
  3773  //    }
  3774  //
  3775  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages
  3776  func (c *Imagebuilder) ListImagePipelineImagesRequest(input *ListImagePipelineImagesInput) (req *request.Request, output *ListImagePipelineImagesOutput) {
  3777  	op := &request.Operation{
  3778  		Name:       opListImagePipelineImages,
  3779  		HTTPMethod: "POST",
  3780  		HTTPPath:   "/ListImagePipelineImages",
  3781  		Paginator: &request.Paginator{
  3782  			InputTokens:     []string{"nextToken"},
  3783  			OutputTokens:    []string{"nextToken"},
  3784  			LimitToken:      "maxResults",
  3785  			TruncationToken: "",
  3786  		},
  3787  	}
  3788  
  3789  	if input == nil {
  3790  		input = &ListImagePipelineImagesInput{}
  3791  	}
  3792  
  3793  	output = &ListImagePipelineImagesOutput{}
  3794  	req = c.newRequest(op, input, output)
  3795  	return
  3796  }
  3797  
  3798  // ListImagePipelineImages API operation for EC2 Image Builder.
  3799  //
  3800  // Returns a list of images created by the specified pipeline.
  3801  //
  3802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3803  // with awserr.Error's Code and Message methods to get detailed information about
  3804  // the error.
  3805  //
  3806  // See the AWS API reference guide for EC2 Image Builder's
  3807  // API operation ListImagePipelineImages for usage and error information.
  3808  //
  3809  // Returned Error Types:
  3810  //   * ServiceException
  3811  //   This exception is thrown when the service encounters an unrecoverable exception.
  3812  //
  3813  //   * ClientException
  3814  //   These errors are usually caused by a client action, such as using an action
  3815  //   or resource on behalf of a user that doesn't have permissions to use the
  3816  //   action or resource, or specifying an invalid resource identifier.
  3817  //
  3818  //   * ServiceUnavailableException
  3819  //   The service is unable to process your request at this time.
  3820  //
  3821  //   * InvalidRequestException
  3822  //   You have made a request for an action that is not supported by the service.
  3823  //
  3824  //   * InvalidPaginationTokenException
  3825  //   You have provided an invalid pagination token in your request.
  3826  //
  3827  //   * ResourceNotFoundException
  3828  //   At least one of the resources referenced by your request does not exist.
  3829  //
  3830  //   * ForbiddenException
  3831  //   You are not authorized to perform the requested operation.
  3832  //
  3833  //   * CallRateLimitExceededException
  3834  //   You have exceeded the permitted request rate for the specific operation.
  3835  //
  3836  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages
  3837  func (c *Imagebuilder) ListImagePipelineImages(input *ListImagePipelineImagesInput) (*ListImagePipelineImagesOutput, error) {
  3838  	req, out := c.ListImagePipelineImagesRequest(input)
  3839  	return out, req.Send()
  3840  }
  3841  
  3842  // ListImagePipelineImagesWithContext is the same as ListImagePipelineImages with the addition of
  3843  // the ability to pass a context and additional request options.
  3844  //
  3845  // See ListImagePipelineImages for details on how to use this API operation.
  3846  //
  3847  // The context must be non-nil and will be used for request cancellation. If
  3848  // the context is nil a panic will occur. In the future the SDK may create
  3849  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3850  // for more information on using Contexts.
  3851  func (c *Imagebuilder) ListImagePipelineImagesWithContext(ctx aws.Context, input *ListImagePipelineImagesInput, opts ...request.Option) (*ListImagePipelineImagesOutput, error) {
  3852  	req, out := c.ListImagePipelineImagesRequest(input)
  3853  	req.SetContext(ctx)
  3854  	req.ApplyOptions(opts...)
  3855  	return out, req.Send()
  3856  }
  3857  
  3858  // ListImagePipelineImagesPages iterates over the pages of a ListImagePipelineImages operation,
  3859  // calling the "fn" function with the response data for each page. To stop
  3860  // iterating, return false from the fn function.
  3861  //
  3862  // See ListImagePipelineImages method for more information on how to use this operation.
  3863  //
  3864  // Note: This operation can generate multiple requests to a service.
  3865  //
  3866  //    // Example iterating over at most 3 pages of a ListImagePipelineImages operation.
  3867  //    pageNum := 0
  3868  //    err := client.ListImagePipelineImagesPages(params,
  3869  //        func(page *imagebuilder.ListImagePipelineImagesOutput, lastPage bool) bool {
  3870  //            pageNum++
  3871  //            fmt.Println(page)
  3872  //            return pageNum <= 3
  3873  //        })
  3874  //
  3875  func (c *Imagebuilder) ListImagePipelineImagesPages(input *ListImagePipelineImagesInput, fn func(*ListImagePipelineImagesOutput, bool) bool) error {
  3876  	return c.ListImagePipelineImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  3877  }
  3878  
  3879  // ListImagePipelineImagesPagesWithContext same as ListImagePipelineImagesPages except
  3880  // it takes a Context and allows setting request options on the pages.
  3881  //
  3882  // The context must be non-nil and will be used for request cancellation. If
  3883  // the context is nil a panic will occur. In the future the SDK may create
  3884  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3885  // for more information on using Contexts.
  3886  func (c *Imagebuilder) ListImagePipelineImagesPagesWithContext(ctx aws.Context, input *ListImagePipelineImagesInput, fn func(*ListImagePipelineImagesOutput, bool) bool, opts ...request.Option) error {
  3887  	p := request.Pagination{
  3888  		NewRequest: func() (*request.Request, error) {
  3889  			var inCpy *ListImagePipelineImagesInput
  3890  			if input != nil {
  3891  				tmp := *input
  3892  				inCpy = &tmp
  3893  			}
  3894  			req, _ := c.ListImagePipelineImagesRequest(inCpy)
  3895  			req.SetContext(ctx)
  3896  			req.ApplyOptions(opts...)
  3897  			return req, nil
  3898  		},
  3899  	}
  3900  
  3901  	for p.Next() {
  3902  		if !fn(p.Page().(*ListImagePipelineImagesOutput), !p.HasNextPage()) {
  3903  			break
  3904  		}
  3905  	}
  3906  
  3907  	return p.Err()
  3908  }
  3909  
  3910  const opListImagePipelines = "ListImagePipelines"
  3911  
  3912  // ListImagePipelinesRequest generates a "aws/request.Request" representing the
  3913  // client's request for the ListImagePipelines operation. The "output" return
  3914  // value will be populated with the request's response once the request completes
  3915  // successfully.
  3916  //
  3917  // Use "Send" method on the returned Request to send the API call to the service.
  3918  // the "output" return value is not valid until after Send returns without error.
  3919  //
  3920  // See ListImagePipelines for more information on using the ListImagePipelines
  3921  // API call, and error handling.
  3922  //
  3923  // This method is useful when you want to inject custom logic or configuration
  3924  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3925  //
  3926  //
  3927  //    // Example sending a request using the ListImagePipelinesRequest method.
  3928  //    req, resp := client.ListImagePipelinesRequest(params)
  3929  //
  3930  //    err := req.Send()
  3931  //    if err == nil { // resp is now filled
  3932  //        fmt.Println(resp)
  3933  //    }
  3934  //
  3935  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelines
  3936  func (c *Imagebuilder) ListImagePipelinesRequest(input *ListImagePipelinesInput) (req *request.Request, output *ListImagePipelinesOutput) {
  3937  	op := &request.Operation{
  3938  		Name:       opListImagePipelines,
  3939  		HTTPMethod: "POST",
  3940  		HTTPPath:   "/ListImagePipelines",
  3941  		Paginator: &request.Paginator{
  3942  			InputTokens:     []string{"nextToken"},
  3943  			OutputTokens:    []string{"nextToken"},
  3944  			LimitToken:      "maxResults",
  3945  			TruncationToken: "",
  3946  		},
  3947  	}
  3948  
  3949  	if input == nil {
  3950  		input = &ListImagePipelinesInput{}
  3951  	}
  3952  
  3953  	output = &ListImagePipelinesOutput{}
  3954  	req = c.newRequest(op, input, output)
  3955  	return
  3956  }
  3957  
  3958  // ListImagePipelines API operation for EC2 Image Builder.
  3959  //
  3960  // Returns a list of image pipelines.
  3961  //
  3962  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3963  // with awserr.Error's Code and Message methods to get detailed information about
  3964  // the error.
  3965  //
  3966  // See the AWS API reference guide for EC2 Image Builder's
  3967  // API operation ListImagePipelines for usage and error information.
  3968  //
  3969  // Returned Error Types:
  3970  //   * ServiceException
  3971  //   This exception is thrown when the service encounters an unrecoverable exception.
  3972  //
  3973  //   * ClientException
  3974  //   These errors are usually caused by a client action, such as using an action
  3975  //   or resource on behalf of a user that doesn't have permissions to use the
  3976  //   action or resource, or specifying an invalid resource identifier.
  3977  //
  3978  //   * ServiceUnavailableException
  3979  //   The service is unable to process your request at this time.
  3980  //
  3981  //   * InvalidRequestException
  3982  //   You have made a request for an action that is not supported by the service.
  3983  //
  3984  //   * InvalidPaginationTokenException
  3985  //   You have provided an invalid pagination token in your request.
  3986  //
  3987  //   * ForbiddenException
  3988  //   You are not authorized to perform the requested operation.
  3989  //
  3990  //   * CallRateLimitExceededException
  3991  //   You have exceeded the permitted request rate for the specific operation.
  3992  //
  3993  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelines
  3994  func (c *Imagebuilder) ListImagePipelines(input *ListImagePipelinesInput) (*ListImagePipelinesOutput, error) {
  3995  	req, out := c.ListImagePipelinesRequest(input)
  3996  	return out, req.Send()
  3997  }
  3998  
  3999  // ListImagePipelinesWithContext is the same as ListImagePipelines with the addition of
  4000  // the ability to pass a context and additional request options.
  4001  //
  4002  // See ListImagePipelines for details on how to use this API operation.
  4003  //
  4004  // The context must be non-nil and will be used for request cancellation. If
  4005  // the context is nil a panic will occur. In the future the SDK may create
  4006  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4007  // for more information on using Contexts.
  4008  func (c *Imagebuilder) ListImagePipelinesWithContext(ctx aws.Context, input *ListImagePipelinesInput, opts ...request.Option) (*ListImagePipelinesOutput, error) {
  4009  	req, out := c.ListImagePipelinesRequest(input)
  4010  	req.SetContext(ctx)
  4011  	req.ApplyOptions(opts...)
  4012  	return out, req.Send()
  4013  }
  4014  
  4015  // ListImagePipelinesPages iterates over the pages of a ListImagePipelines operation,
  4016  // calling the "fn" function with the response data for each page. To stop
  4017  // iterating, return false from the fn function.
  4018  //
  4019  // See ListImagePipelines method for more information on how to use this operation.
  4020  //
  4021  // Note: This operation can generate multiple requests to a service.
  4022  //
  4023  //    // Example iterating over at most 3 pages of a ListImagePipelines operation.
  4024  //    pageNum := 0
  4025  //    err := client.ListImagePipelinesPages(params,
  4026  //        func(page *imagebuilder.ListImagePipelinesOutput, lastPage bool) bool {
  4027  //            pageNum++
  4028  //            fmt.Println(page)
  4029  //            return pageNum <= 3
  4030  //        })
  4031  //
  4032  func (c *Imagebuilder) ListImagePipelinesPages(input *ListImagePipelinesInput, fn func(*ListImagePipelinesOutput, bool) bool) error {
  4033  	return c.ListImagePipelinesPagesWithContext(aws.BackgroundContext(), input, fn)
  4034  }
  4035  
  4036  // ListImagePipelinesPagesWithContext same as ListImagePipelinesPages except
  4037  // it takes a Context and allows setting request options on the pages.
  4038  //
  4039  // The context must be non-nil and will be used for request cancellation. If
  4040  // the context is nil a panic will occur. In the future the SDK may create
  4041  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4042  // for more information on using Contexts.
  4043  func (c *Imagebuilder) ListImagePipelinesPagesWithContext(ctx aws.Context, input *ListImagePipelinesInput, fn func(*ListImagePipelinesOutput, bool) bool, opts ...request.Option) error {
  4044  	p := request.Pagination{
  4045  		NewRequest: func() (*request.Request, error) {
  4046  			var inCpy *ListImagePipelinesInput
  4047  			if input != nil {
  4048  				tmp := *input
  4049  				inCpy = &tmp
  4050  			}
  4051  			req, _ := c.ListImagePipelinesRequest(inCpy)
  4052  			req.SetContext(ctx)
  4053  			req.ApplyOptions(opts...)
  4054  			return req, nil
  4055  		},
  4056  	}
  4057  
  4058  	for p.Next() {
  4059  		if !fn(p.Page().(*ListImagePipelinesOutput), !p.HasNextPage()) {
  4060  			break
  4061  		}
  4062  	}
  4063  
  4064  	return p.Err()
  4065  }
  4066  
  4067  const opListImageRecipes = "ListImageRecipes"
  4068  
  4069  // ListImageRecipesRequest generates a "aws/request.Request" representing the
  4070  // client's request for the ListImageRecipes operation. The "output" return
  4071  // value will be populated with the request's response once the request completes
  4072  // successfully.
  4073  //
  4074  // Use "Send" method on the returned Request to send the API call to the service.
  4075  // the "output" return value is not valid until after Send returns without error.
  4076  //
  4077  // See ListImageRecipes for more information on using the ListImageRecipes
  4078  // API call, and error handling.
  4079  //
  4080  // This method is useful when you want to inject custom logic or configuration
  4081  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4082  //
  4083  //
  4084  //    // Example sending a request using the ListImageRecipesRequest method.
  4085  //    req, resp := client.ListImageRecipesRequest(params)
  4086  //
  4087  //    err := req.Send()
  4088  //    if err == nil { // resp is now filled
  4089  //        fmt.Println(resp)
  4090  //    }
  4091  //
  4092  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageRecipes
  4093  func (c *Imagebuilder) ListImageRecipesRequest(input *ListImageRecipesInput) (req *request.Request, output *ListImageRecipesOutput) {
  4094  	op := &request.Operation{
  4095  		Name:       opListImageRecipes,
  4096  		HTTPMethod: "POST",
  4097  		HTTPPath:   "/ListImageRecipes",
  4098  		Paginator: &request.Paginator{
  4099  			InputTokens:     []string{"nextToken"},
  4100  			OutputTokens:    []string{"nextToken"},
  4101  			LimitToken:      "maxResults",
  4102  			TruncationToken: "",
  4103  		},
  4104  	}
  4105  
  4106  	if input == nil {
  4107  		input = &ListImageRecipesInput{}
  4108  	}
  4109  
  4110  	output = &ListImageRecipesOutput{}
  4111  	req = c.newRequest(op, input, output)
  4112  	return
  4113  }
  4114  
  4115  // ListImageRecipes API operation for EC2 Image Builder.
  4116  //
  4117  // Returns a list of image recipes.
  4118  //
  4119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4120  // with awserr.Error's Code and Message methods to get detailed information about
  4121  // the error.
  4122  //
  4123  // See the AWS API reference guide for EC2 Image Builder's
  4124  // API operation ListImageRecipes for usage and error information.
  4125  //
  4126  // Returned Error Types:
  4127  //   * ServiceException
  4128  //   This exception is thrown when the service encounters an unrecoverable exception.
  4129  //
  4130  //   * ClientException
  4131  //   These errors are usually caused by a client action, such as using an action
  4132  //   or resource on behalf of a user that doesn't have permissions to use the
  4133  //   action or resource, or specifying an invalid resource identifier.
  4134  //
  4135  //   * ServiceUnavailableException
  4136  //   The service is unable to process your request at this time.
  4137  //
  4138  //   * InvalidRequestException
  4139  //   You have made a request for an action that is not supported by the service.
  4140  //
  4141  //   * InvalidPaginationTokenException
  4142  //   You have provided an invalid pagination token in your request.
  4143  //
  4144  //   * ForbiddenException
  4145  //   You are not authorized to perform the requested operation.
  4146  //
  4147  //   * CallRateLimitExceededException
  4148  //   You have exceeded the permitted request rate for the specific operation.
  4149  //
  4150  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageRecipes
  4151  func (c *Imagebuilder) ListImageRecipes(input *ListImageRecipesInput) (*ListImageRecipesOutput, error) {
  4152  	req, out := c.ListImageRecipesRequest(input)
  4153  	return out, req.Send()
  4154  }
  4155  
  4156  // ListImageRecipesWithContext is the same as ListImageRecipes with the addition of
  4157  // the ability to pass a context and additional request options.
  4158  //
  4159  // See ListImageRecipes for details on how to use this API operation.
  4160  //
  4161  // The context must be non-nil and will be used for request cancellation. If
  4162  // the context is nil a panic will occur. In the future the SDK may create
  4163  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4164  // for more information on using Contexts.
  4165  func (c *Imagebuilder) ListImageRecipesWithContext(ctx aws.Context, input *ListImageRecipesInput, opts ...request.Option) (*ListImageRecipesOutput, error) {
  4166  	req, out := c.ListImageRecipesRequest(input)
  4167  	req.SetContext(ctx)
  4168  	req.ApplyOptions(opts...)
  4169  	return out, req.Send()
  4170  }
  4171  
  4172  // ListImageRecipesPages iterates over the pages of a ListImageRecipes operation,
  4173  // calling the "fn" function with the response data for each page. To stop
  4174  // iterating, return false from the fn function.
  4175  //
  4176  // See ListImageRecipes method for more information on how to use this operation.
  4177  //
  4178  // Note: This operation can generate multiple requests to a service.
  4179  //
  4180  //    // Example iterating over at most 3 pages of a ListImageRecipes operation.
  4181  //    pageNum := 0
  4182  //    err := client.ListImageRecipesPages(params,
  4183  //        func(page *imagebuilder.ListImageRecipesOutput, lastPage bool) bool {
  4184  //            pageNum++
  4185  //            fmt.Println(page)
  4186  //            return pageNum <= 3
  4187  //        })
  4188  //
  4189  func (c *Imagebuilder) ListImageRecipesPages(input *ListImageRecipesInput, fn func(*ListImageRecipesOutput, bool) bool) error {
  4190  	return c.ListImageRecipesPagesWithContext(aws.BackgroundContext(), input, fn)
  4191  }
  4192  
  4193  // ListImageRecipesPagesWithContext same as ListImageRecipesPages except
  4194  // it takes a Context and allows setting request options on the pages.
  4195  //
  4196  // The context must be non-nil and will be used for request cancellation. If
  4197  // the context is nil a panic will occur. In the future the SDK may create
  4198  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4199  // for more information on using Contexts.
  4200  func (c *Imagebuilder) ListImageRecipesPagesWithContext(ctx aws.Context, input *ListImageRecipesInput, fn func(*ListImageRecipesOutput, bool) bool, opts ...request.Option) error {
  4201  	p := request.Pagination{
  4202  		NewRequest: func() (*request.Request, error) {
  4203  			var inCpy *ListImageRecipesInput
  4204  			if input != nil {
  4205  				tmp := *input
  4206  				inCpy = &tmp
  4207  			}
  4208  			req, _ := c.ListImageRecipesRequest(inCpy)
  4209  			req.SetContext(ctx)
  4210  			req.ApplyOptions(opts...)
  4211  			return req, nil
  4212  		},
  4213  	}
  4214  
  4215  	for p.Next() {
  4216  		if !fn(p.Page().(*ListImageRecipesOutput), !p.HasNextPage()) {
  4217  			break
  4218  		}
  4219  	}
  4220  
  4221  	return p.Err()
  4222  }
  4223  
  4224  const opListImages = "ListImages"
  4225  
  4226  // ListImagesRequest generates a "aws/request.Request" representing the
  4227  // client's request for the ListImages operation. The "output" return
  4228  // value will be populated with the request's response once the request completes
  4229  // successfully.
  4230  //
  4231  // Use "Send" method on the returned Request to send the API call to the service.
  4232  // the "output" return value is not valid until after Send returns without error.
  4233  //
  4234  // See ListImages for more information on using the ListImages
  4235  // API call, and error handling.
  4236  //
  4237  // This method is useful when you want to inject custom logic or configuration
  4238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4239  //
  4240  //
  4241  //    // Example sending a request using the ListImagesRequest method.
  4242  //    req, resp := client.ListImagesRequest(params)
  4243  //
  4244  //    err := req.Send()
  4245  //    if err == nil { // resp is now filled
  4246  //        fmt.Println(resp)
  4247  //    }
  4248  //
  4249  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages
  4250  func (c *Imagebuilder) ListImagesRequest(input *ListImagesInput) (req *request.Request, output *ListImagesOutput) {
  4251  	op := &request.Operation{
  4252  		Name:       opListImages,
  4253  		HTTPMethod: "POST",
  4254  		HTTPPath:   "/ListImages",
  4255  		Paginator: &request.Paginator{
  4256  			InputTokens:     []string{"nextToken"},
  4257  			OutputTokens:    []string{"nextToken"},
  4258  			LimitToken:      "maxResults",
  4259  			TruncationToken: "",
  4260  		},
  4261  	}
  4262  
  4263  	if input == nil {
  4264  		input = &ListImagesInput{}
  4265  	}
  4266  
  4267  	output = &ListImagesOutput{}
  4268  	req = c.newRequest(op, input, output)
  4269  	return
  4270  }
  4271  
  4272  // ListImages API operation for EC2 Image Builder.
  4273  //
  4274  // Returns the list of images that you have access to.
  4275  //
  4276  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4277  // with awserr.Error's Code and Message methods to get detailed information about
  4278  // the error.
  4279  //
  4280  // See the AWS API reference guide for EC2 Image Builder's
  4281  // API operation ListImages for usage and error information.
  4282  //
  4283  // Returned Error Types:
  4284  //   * ServiceException
  4285  //   This exception is thrown when the service encounters an unrecoverable exception.
  4286  //
  4287  //   * ClientException
  4288  //   These errors are usually caused by a client action, such as using an action
  4289  //   or resource on behalf of a user that doesn't have permissions to use the
  4290  //   action or resource, or specifying an invalid resource identifier.
  4291  //
  4292  //   * ServiceUnavailableException
  4293  //   The service is unable to process your request at this time.
  4294  //
  4295  //   * InvalidRequestException
  4296  //   You have made a request for an action that is not supported by the service.
  4297  //
  4298  //   * InvalidPaginationTokenException
  4299  //   You have provided an invalid pagination token in your request.
  4300  //
  4301  //   * ForbiddenException
  4302  //   You are not authorized to perform the requested operation.
  4303  //
  4304  //   * CallRateLimitExceededException
  4305  //   You have exceeded the permitted request rate for the specific operation.
  4306  //
  4307  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages
  4308  func (c *Imagebuilder) ListImages(input *ListImagesInput) (*ListImagesOutput, error) {
  4309  	req, out := c.ListImagesRequest(input)
  4310  	return out, req.Send()
  4311  }
  4312  
  4313  // ListImagesWithContext is the same as ListImages with the addition of
  4314  // the ability to pass a context and additional request options.
  4315  //
  4316  // See ListImages for details on how to use this API operation.
  4317  //
  4318  // The context must be non-nil and will be used for request cancellation. If
  4319  // the context is nil a panic will occur. In the future the SDK may create
  4320  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4321  // for more information on using Contexts.
  4322  func (c *Imagebuilder) ListImagesWithContext(ctx aws.Context, input *ListImagesInput, opts ...request.Option) (*ListImagesOutput, error) {
  4323  	req, out := c.ListImagesRequest(input)
  4324  	req.SetContext(ctx)
  4325  	req.ApplyOptions(opts...)
  4326  	return out, req.Send()
  4327  }
  4328  
  4329  // ListImagesPages iterates over the pages of a ListImages operation,
  4330  // calling the "fn" function with the response data for each page. To stop
  4331  // iterating, return false from the fn function.
  4332  //
  4333  // See ListImages method for more information on how to use this operation.
  4334  //
  4335  // Note: This operation can generate multiple requests to a service.
  4336  //
  4337  //    // Example iterating over at most 3 pages of a ListImages operation.
  4338  //    pageNum := 0
  4339  //    err := client.ListImagesPages(params,
  4340  //        func(page *imagebuilder.ListImagesOutput, lastPage bool) bool {
  4341  //            pageNum++
  4342  //            fmt.Println(page)
  4343  //            return pageNum <= 3
  4344  //        })
  4345  //
  4346  func (c *Imagebuilder) ListImagesPages(input *ListImagesInput, fn func(*ListImagesOutput, bool) bool) error {
  4347  	return c.ListImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  4348  }
  4349  
  4350  // ListImagesPagesWithContext same as ListImagesPages except
  4351  // it takes a Context and allows setting request options on the pages.
  4352  //
  4353  // The context must be non-nil and will be used for request cancellation. If
  4354  // the context is nil a panic will occur. In the future the SDK may create
  4355  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4356  // for more information on using Contexts.
  4357  func (c *Imagebuilder) ListImagesPagesWithContext(ctx aws.Context, input *ListImagesInput, fn func(*ListImagesOutput, bool) bool, opts ...request.Option) error {
  4358  	p := request.Pagination{
  4359  		NewRequest: func() (*request.Request, error) {
  4360  			var inCpy *ListImagesInput
  4361  			if input != nil {
  4362  				tmp := *input
  4363  				inCpy = &tmp
  4364  			}
  4365  			req, _ := c.ListImagesRequest(inCpy)
  4366  			req.SetContext(ctx)
  4367  			req.ApplyOptions(opts...)
  4368  			return req, nil
  4369  		},
  4370  	}
  4371  
  4372  	for p.Next() {
  4373  		if !fn(p.Page().(*ListImagesOutput), !p.HasNextPage()) {
  4374  			break
  4375  		}
  4376  	}
  4377  
  4378  	return p.Err()
  4379  }
  4380  
  4381  const opListInfrastructureConfigurations = "ListInfrastructureConfigurations"
  4382  
  4383  // ListInfrastructureConfigurationsRequest generates a "aws/request.Request" representing the
  4384  // client's request for the ListInfrastructureConfigurations operation. The "output" return
  4385  // value will be populated with the request's response once the request completes
  4386  // successfully.
  4387  //
  4388  // Use "Send" method on the returned Request to send the API call to the service.
  4389  // the "output" return value is not valid until after Send returns without error.
  4390  //
  4391  // See ListInfrastructureConfigurations for more information on using the ListInfrastructureConfigurations
  4392  // API call, and error handling.
  4393  //
  4394  // This method is useful when you want to inject custom logic or configuration
  4395  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4396  //
  4397  //
  4398  //    // Example sending a request using the ListInfrastructureConfigurationsRequest method.
  4399  //    req, resp := client.ListInfrastructureConfigurationsRequest(params)
  4400  //
  4401  //    err := req.Send()
  4402  //    if err == nil { // resp is now filled
  4403  //        fmt.Println(resp)
  4404  //    }
  4405  //
  4406  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurations
  4407  func (c *Imagebuilder) ListInfrastructureConfigurationsRequest(input *ListInfrastructureConfigurationsInput) (req *request.Request, output *ListInfrastructureConfigurationsOutput) {
  4408  	op := &request.Operation{
  4409  		Name:       opListInfrastructureConfigurations,
  4410  		HTTPMethod: "POST",
  4411  		HTTPPath:   "/ListInfrastructureConfigurations",
  4412  		Paginator: &request.Paginator{
  4413  			InputTokens:     []string{"nextToken"},
  4414  			OutputTokens:    []string{"nextToken"},
  4415  			LimitToken:      "maxResults",
  4416  			TruncationToken: "",
  4417  		},
  4418  	}
  4419  
  4420  	if input == nil {
  4421  		input = &ListInfrastructureConfigurationsInput{}
  4422  	}
  4423  
  4424  	output = &ListInfrastructureConfigurationsOutput{}
  4425  	req = c.newRequest(op, input, output)
  4426  	return
  4427  }
  4428  
  4429  // ListInfrastructureConfigurations API operation for EC2 Image Builder.
  4430  //
  4431  // Returns a list of infrastructure configurations.
  4432  //
  4433  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4434  // with awserr.Error's Code and Message methods to get detailed information about
  4435  // the error.
  4436  //
  4437  // See the AWS API reference guide for EC2 Image Builder's
  4438  // API operation ListInfrastructureConfigurations for usage and error information.
  4439  //
  4440  // Returned Error Types:
  4441  //   * ServiceException
  4442  //   This exception is thrown when the service encounters an unrecoverable exception.
  4443  //
  4444  //   * ClientException
  4445  //   These errors are usually caused by a client action, such as using an action
  4446  //   or resource on behalf of a user that doesn't have permissions to use the
  4447  //   action or resource, or specifying an invalid resource identifier.
  4448  //
  4449  //   * ServiceUnavailableException
  4450  //   The service is unable to process your request at this time.
  4451  //
  4452  //   * InvalidRequestException
  4453  //   You have made a request for an action that is not supported by the service.
  4454  //
  4455  //   * InvalidPaginationTokenException
  4456  //   You have provided an invalid pagination token in your request.
  4457  //
  4458  //   * ForbiddenException
  4459  //   You are not authorized to perform the requested operation.
  4460  //
  4461  //   * CallRateLimitExceededException
  4462  //   You have exceeded the permitted request rate for the specific operation.
  4463  //
  4464  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurations
  4465  func (c *Imagebuilder) ListInfrastructureConfigurations(input *ListInfrastructureConfigurationsInput) (*ListInfrastructureConfigurationsOutput, error) {
  4466  	req, out := c.ListInfrastructureConfigurationsRequest(input)
  4467  	return out, req.Send()
  4468  }
  4469  
  4470  // ListInfrastructureConfigurationsWithContext is the same as ListInfrastructureConfigurations with the addition of
  4471  // the ability to pass a context and additional request options.
  4472  //
  4473  // See ListInfrastructureConfigurations for details on how to use this API operation.
  4474  //
  4475  // The context must be non-nil and will be used for request cancellation. If
  4476  // the context is nil a panic will occur. In the future the SDK may create
  4477  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4478  // for more information on using Contexts.
  4479  func (c *Imagebuilder) ListInfrastructureConfigurationsWithContext(ctx aws.Context, input *ListInfrastructureConfigurationsInput, opts ...request.Option) (*ListInfrastructureConfigurationsOutput, error) {
  4480  	req, out := c.ListInfrastructureConfigurationsRequest(input)
  4481  	req.SetContext(ctx)
  4482  	req.ApplyOptions(opts...)
  4483  	return out, req.Send()
  4484  }
  4485  
  4486  // ListInfrastructureConfigurationsPages iterates over the pages of a ListInfrastructureConfigurations operation,
  4487  // calling the "fn" function with the response data for each page. To stop
  4488  // iterating, return false from the fn function.
  4489  //
  4490  // See ListInfrastructureConfigurations method for more information on how to use this operation.
  4491  //
  4492  // Note: This operation can generate multiple requests to a service.
  4493  //
  4494  //    // Example iterating over at most 3 pages of a ListInfrastructureConfigurations operation.
  4495  //    pageNum := 0
  4496  //    err := client.ListInfrastructureConfigurationsPages(params,
  4497  //        func(page *imagebuilder.ListInfrastructureConfigurationsOutput, lastPage bool) bool {
  4498  //            pageNum++
  4499  //            fmt.Println(page)
  4500  //            return pageNum <= 3
  4501  //        })
  4502  //
  4503  func (c *Imagebuilder) ListInfrastructureConfigurationsPages(input *ListInfrastructureConfigurationsInput, fn func(*ListInfrastructureConfigurationsOutput, bool) bool) error {
  4504  	return c.ListInfrastructureConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  4505  }
  4506  
  4507  // ListInfrastructureConfigurationsPagesWithContext same as ListInfrastructureConfigurationsPages except
  4508  // it takes a Context and allows setting request options on the pages.
  4509  //
  4510  // The context must be non-nil and will be used for request cancellation. If
  4511  // the context is nil a panic will occur. In the future the SDK may create
  4512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4513  // for more information on using Contexts.
  4514  func (c *Imagebuilder) ListInfrastructureConfigurationsPagesWithContext(ctx aws.Context, input *ListInfrastructureConfigurationsInput, fn func(*ListInfrastructureConfigurationsOutput, bool) bool, opts ...request.Option) error {
  4515  	p := request.Pagination{
  4516  		NewRequest: func() (*request.Request, error) {
  4517  			var inCpy *ListInfrastructureConfigurationsInput
  4518  			if input != nil {
  4519  				tmp := *input
  4520  				inCpy = &tmp
  4521  			}
  4522  			req, _ := c.ListInfrastructureConfigurationsRequest(inCpy)
  4523  			req.SetContext(ctx)
  4524  			req.ApplyOptions(opts...)
  4525  			return req, nil
  4526  		},
  4527  	}
  4528  
  4529  	for p.Next() {
  4530  		if !fn(p.Page().(*ListInfrastructureConfigurationsOutput), !p.HasNextPage()) {
  4531  			break
  4532  		}
  4533  	}
  4534  
  4535  	return p.Err()
  4536  }
  4537  
  4538  const opListTagsForResource = "ListTagsForResource"
  4539  
  4540  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4541  // client's request for the ListTagsForResource operation. The "output" return
  4542  // value will be populated with the request's response once the request completes
  4543  // successfully.
  4544  //
  4545  // Use "Send" method on the returned Request to send the API call to the service.
  4546  // the "output" return value is not valid until after Send returns without error.
  4547  //
  4548  // See ListTagsForResource for more information on using the ListTagsForResource
  4549  // API call, and error handling.
  4550  //
  4551  // This method is useful when you want to inject custom logic or configuration
  4552  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4553  //
  4554  //
  4555  //    // Example sending a request using the ListTagsForResourceRequest method.
  4556  //    req, resp := client.ListTagsForResourceRequest(params)
  4557  //
  4558  //    err := req.Send()
  4559  //    if err == nil { // resp is now filled
  4560  //        fmt.Println(resp)
  4561  //    }
  4562  //
  4563  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResource
  4564  func (c *Imagebuilder) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4565  	op := &request.Operation{
  4566  		Name:       opListTagsForResource,
  4567  		HTTPMethod: "GET",
  4568  		HTTPPath:   "/tags/{resourceArn}",
  4569  	}
  4570  
  4571  	if input == nil {
  4572  		input = &ListTagsForResourceInput{}
  4573  	}
  4574  
  4575  	output = &ListTagsForResourceOutput{}
  4576  	req = c.newRequest(op, input, output)
  4577  	return
  4578  }
  4579  
  4580  // ListTagsForResource API operation for EC2 Image Builder.
  4581  //
  4582  // Returns the list of tags for the specified resource.
  4583  //
  4584  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4585  // with awserr.Error's Code and Message methods to get detailed information about
  4586  // the error.
  4587  //
  4588  // See the AWS API reference guide for EC2 Image Builder's
  4589  // API operation ListTagsForResource for usage and error information.
  4590  //
  4591  // Returned Error Types:
  4592  //   * ServiceException
  4593  //   This exception is thrown when the service encounters an unrecoverable exception.
  4594  //
  4595  //   * InvalidParameterException
  4596  //   The specified parameter is invalid. Review the available parameters for the
  4597  //   API request.
  4598  //
  4599  //   * ResourceNotFoundException
  4600  //   At least one of the resources referenced by your request does not exist.
  4601  //
  4602  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResource
  4603  func (c *Imagebuilder) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4604  	req, out := c.ListTagsForResourceRequest(input)
  4605  	return out, req.Send()
  4606  }
  4607  
  4608  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4609  // the ability to pass a context and additional request options.
  4610  //
  4611  // See ListTagsForResource for details on how to use this API operation.
  4612  //
  4613  // The context must be non-nil and will be used for request cancellation. If
  4614  // the context is nil a panic will occur. In the future the SDK may create
  4615  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4616  // for more information on using Contexts.
  4617  func (c *Imagebuilder) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4618  	req, out := c.ListTagsForResourceRequest(input)
  4619  	req.SetContext(ctx)
  4620  	req.ApplyOptions(opts...)
  4621  	return out, req.Send()
  4622  }
  4623  
  4624  const opPutComponentPolicy = "PutComponentPolicy"
  4625  
  4626  // PutComponentPolicyRequest generates a "aws/request.Request" representing the
  4627  // client's request for the PutComponentPolicy operation. The "output" return
  4628  // value will be populated with the request's response once the request completes
  4629  // successfully.
  4630  //
  4631  // Use "Send" method on the returned Request to send the API call to the service.
  4632  // the "output" return value is not valid until after Send returns without error.
  4633  //
  4634  // See PutComponentPolicy for more information on using the PutComponentPolicy
  4635  // API call, and error handling.
  4636  //
  4637  // This method is useful when you want to inject custom logic or configuration
  4638  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4639  //
  4640  //
  4641  //    // Example sending a request using the PutComponentPolicyRequest method.
  4642  //    req, resp := client.PutComponentPolicyRequest(params)
  4643  //
  4644  //    err := req.Send()
  4645  //    if err == nil { // resp is now filled
  4646  //        fmt.Println(resp)
  4647  //    }
  4648  //
  4649  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy
  4650  func (c *Imagebuilder) PutComponentPolicyRequest(input *PutComponentPolicyInput) (req *request.Request, output *PutComponentPolicyOutput) {
  4651  	op := &request.Operation{
  4652  		Name:       opPutComponentPolicy,
  4653  		HTTPMethod: "PUT",
  4654  		HTTPPath:   "/PutComponentPolicy",
  4655  	}
  4656  
  4657  	if input == nil {
  4658  		input = &PutComponentPolicyInput{}
  4659  	}
  4660  
  4661  	output = &PutComponentPolicyOutput{}
  4662  	req = c.newRequest(op, input, output)
  4663  	return
  4664  }
  4665  
  4666  // PutComponentPolicy API operation for EC2 Image Builder.
  4667  //
  4668  // Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare
  4669  // (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html)
  4670  // to share resources. If you call the Image Builder API PutComponentPolicy,
  4671  // you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html)
  4672  // in order for the resource to be visible to all principals with whom the resource
  4673  // is shared.
  4674  //
  4675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4676  // with awserr.Error's Code and Message methods to get detailed information about
  4677  // the error.
  4678  //
  4679  // See the AWS API reference guide for EC2 Image Builder's
  4680  // API operation PutComponentPolicy for usage and error information.
  4681  //
  4682  // Returned Error Types:
  4683  //   * ServiceException
  4684  //   This exception is thrown when the service encounters an unrecoverable exception.
  4685  //
  4686  //   * ClientException
  4687  //   These errors are usually caused by a client action, such as using an action
  4688  //   or resource on behalf of a user that doesn't have permissions to use the
  4689  //   action or resource, or specifying an invalid resource identifier.
  4690  //
  4691  //   * ServiceUnavailableException
  4692  //   The service is unable to process your request at this time.
  4693  //
  4694  //   * InvalidRequestException
  4695  //   You have made a request for an action that is not supported by the service.
  4696  //
  4697  //   * InvalidParameterValueException
  4698  //   The value that you provided for the specified parameter is invalid.
  4699  //
  4700  //   * ResourceNotFoundException
  4701  //   At least one of the resources referenced by your request does not exist.
  4702  //
  4703  //   * ForbiddenException
  4704  //   You are not authorized to perform the requested operation.
  4705  //
  4706  //   * CallRateLimitExceededException
  4707  //   You have exceeded the permitted request rate for the specific operation.
  4708  //
  4709  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy
  4710  func (c *Imagebuilder) PutComponentPolicy(input *PutComponentPolicyInput) (*PutComponentPolicyOutput, error) {
  4711  	req, out := c.PutComponentPolicyRequest(input)
  4712  	return out, req.Send()
  4713  }
  4714  
  4715  // PutComponentPolicyWithContext is the same as PutComponentPolicy with the addition of
  4716  // the ability to pass a context and additional request options.
  4717  //
  4718  // See PutComponentPolicy for details on how to use this API operation.
  4719  //
  4720  // The context must be non-nil and will be used for request cancellation. If
  4721  // the context is nil a panic will occur. In the future the SDK may create
  4722  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4723  // for more information on using Contexts.
  4724  func (c *Imagebuilder) PutComponentPolicyWithContext(ctx aws.Context, input *PutComponentPolicyInput, opts ...request.Option) (*PutComponentPolicyOutput, error) {
  4725  	req, out := c.PutComponentPolicyRequest(input)
  4726  	req.SetContext(ctx)
  4727  	req.ApplyOptions(opts...)
  4728  	return out, req.Send()
  4729  }
  4730  
  4731  const opPutContainerRecipePolicy = "PutContainerRecipePolicy"
  4732  
  4733  // PutContainerRecipePolicyRequest generates a "aws/request.Request" representing the
  4734  // client's request for the PutContainerRecipePolicy operation. The "output" return
  4735  // value will be populated with the request's response once the request completes
  4736  // successfully.
  4737  //
  4738  // Use "Send" method on the returned Request to send the API call to the service.
  4739  // the "output" return value is not valid until after Send returns without error.
  4740  //
  4741  // See PutContainerRecipePolicy for more information on using the PutContainerRecipePolicy
  4742  // API call, and error handling.
  4743  //
  4744  // This method is useful when you want to inject custom logic or configuration
  4745  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4746  //
  4747  //
  4748  //    // Example sending a request using the PutContainerRecipePolicyRequest method.
  4749  //    req, resp := client.PutContainerRecipePolicyRequest(params)
  4750  //
  4751  //    err := req.Send()
  4752  //    if err == nil { // resp is now filled
  4753  //        fmt.Println(resp)
  4754  //    }
  4755  //
  4756  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy
  4757  func (c *Imagebuilder) PutContainerRecipePolicyRequest(input *PutContainerRecipePolicyInput) (req *request.Request, output *PutContainerRecipePolicyOutput) {
  4758  	op := &request.Operation{
  4759  		Name:       opPutContainerRecipePolicy,
  4760  		HTTPMethod: "PUT",
  4761  		HTTPPath:   "/PutContainerRecipePolicy",
  4762  	}
  4763  
  4764  	if input == nil {
  4765  		input = &PutContainerRecipePolicyInput{}
  4766  	}
  4767  
  4768  	output = &PutContainerRecipePolicyOutput{}
  4769  	req = c.newRequest(op, input, output)
  4770  	return
  4771  }
  4772  
  4773  // PutContainerRecipePolicy API operation for EC2 Image Builder.
  4774  //
  4775  // Applies a policy to a container image. We recommend that you call the RAM
  4776  // API CreateResourceShare (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html)
  4777  // to share resources. If you call the Image Builder API PutContainerImagePolicy,
  4778  // you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html)
  4779  // in order for the resource to be visible to all principals with whom the resource
  4780  // is shared.
  4781  //
  4782  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4783  // with awserr.Error's Code and Message methods to get detailed information about
  4784  // the error.
  4785  //
  4786  // See the AWS API reference guide for EC2 Image Builder's
  4787  // API operation PutContainerRecipePolicy for usage and error information.
  4788  //
  4789  // Returned Error Types:
  4790  //   * ServiceException
  4791  //   This exception is thrown when the service encounters an unrecoverable exception.
  4792  //
  4793  //   * ClientException
  4794  //   These errors are usually caused by a client action, such as using an action
  4795  //   or resource on behalf of a user that doesn't have permissions to use the
  4796  //   action or resource, or specifying an invalid resource identifier.
  4797  //
  4798  //   * ServiceUnavailableException
  4799  //   The service is unable to process your request at this time.
  4800  //
  4801  //   * InvalidRequestException
  4802  //   You have made a request for an action that is not supported by the service.
  4803  //
  4804  //   * InvalidParameterValueException
  4805  //   The value that you provided for the specified parameter is invalid.
  4806  //
  4807  //   * ResourceNotFoundException
  4808  //   At least one of the resources referenced by your request does not exist.
  4809  //
  4810  //   * ForbiddenException
  4811  //   You are not authorized to perform the requested operation.
  4812  //
  4813  //   * CallRateLimitExceededException
  4814  //   You have exceeded the permitted request rate for the specific operation.
  4815  //
  4816  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy
  4817  func (c *Imagebuilder) PutContainerRecipePolicy(input *PutContainerRecipePolicyInput) (*PutContainerRecipePolicyOutput, error) {
  4818  	req, out := c.PutContainerRecipePolicyRequest(input)
  4819  	return out, req.Send()
  4820  }
  4821  
  4822  // PutContainerRecipePolicyWithContext is the same as PutContainerRecipePolicy with the addition of
  4823  // the ability to pass a context and additional request options.
  4824  //
  4825  // See PutContainerRecipePolicy for details on how to use this API operation.
  4826  //
  4827  // The context must be non-nil and will be used for request cancellation. If
  4828  // the context is nil a panic will occur. In the future the SDK may create
  4829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4830  // for more information on using Contexts.
  4831  func (c *Imagebuilder) PutContainerRecipePolicyWithContext(ctx aws.Context, input *PutContainerRecipePolicyInput, opts ...request.Option) (*PutContainerRecipePolicyOutput, error) {
  4832  	req, out := c.PutContainerRecipePolicyRequest(input)
  4833  	req.SetContext(ctx)
  4834  	req.ApplyOptions(opts...)
  4835  	return out, req.Send()
  4836  }
  4837  
  4838  const opPutImagePolicy = "PutImagePolicy"
  4839  
  4840  // PutImagePolicyRequest generates a "aws/request.Request" representing the
  4841  // client's request for the PutImagePolicy operation. The "output" return
  4842  // value will be populated with the request's response once the request completes
  4843  // successfully.
  4844  //
  4845  // Use "Send" method on the returned Request to send the API call to the service.
  4846  // the "output" return value is not valid until after Send returns without error.
  4847  //
  4848  // See PutImagePolicy for more information on using the PutImagePolicy
  4849  // API call, and error handling.
  4850  //
  4851  // This method is useful when you want to inject custom logic or configuration
  4852  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4853  //
  4854  //
  4855  //    // Example sending a request using the PutImagePolicyRequest method.
  4856  //    req, resp := client.PutImagePolicyRequest(params)
  4857  //
  4858  //    err := req.Send()
  4859  //    if err == nil { // resp is now filled
  4860  //        fmt.Println(resp)
  4861  //    }
  4862  //
  4863  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy
  4864  func (c *Imagebuilder) PutImagePolicyRequest(input *PutImagePolicyInput) (req *request.Request, output *PutImagePolicyOutput) {
  4865  	op := &request.Operation{
  4866  		Name:       opPutImagePolicy,
  4867  		HTTPMethod: "PUT",
  4868  		HTTPPath:   "/PutImagePolicy",
  4869  	}
  4870  
  4871  	if input == nil {
  4872  		input = &PutImagePolicyInput{}
  4873  	}
  4874  
  4875  	output = &PutImagePolicyOutput{}
  4876  	req = c.newRequest(op, input, output)
  4877  	return
  4878  }
  4879  
  4880  // PutImagePolicy API operation for EC2 Image Builder.
  4881  //
  4882  // Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare
  4883  // (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html)
  4884  // to share resources. If you call the Image Builder API PutImagePolicy, you
  4885  // must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html)
  4886  // in order for the resource to be visible to all principals with whom the resource
  4887  // is shared.
  4888  //
  4889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4890  // with awserr.Error's Code and Message methods to get detailed information about
  4891  // the error.
  4892  //
  4893  // See the AWS API reference guide for EC2 Image Builder's
  4894  // API operation PutImagePolicy for usage and error information.
  4895  //
  4896  // Returned Error Types:
  4897  //   * ServiceException
  4898  //   This exception is thrown when the service encounters an unrecoverable exception.
  4899  //
  4900  //   * ClientException
  4901  //   These errors are usually caused by a client action, such as using an action
  4902  //   or resource on behalf of a user that doesn't have permissions to use the
  4903  //   action or resource, or specifying an invalid resource identifier.
  4904  //
  4905  //   * ServiceUnavailableException
  4906  //   The service is unable to process your request at this time.
  4907  //
  4908  //   * InvalidRequestException
  4909  //   You have made a request for an action that is not supported by the service.
  4910  //
  4911  //   * InvalidParameterValueException
  4912  //   The value that you provided for the specified parameter is invalid.
  4913  //
  4914  //   * ResourceNotFoundException
  4915  //   At least one of the resources referenced by your request does not exist.
  4916  //
  4917  //   * ForbiddenException
  4918  //   You are not authorized to perform the requested operation.
  4919  //
  4920  //   * CallRateLimitExceededException
  4921  //   You have exceeded the permitted request rate for the specific operation.
  4922  //
  4923  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy
  4924  func (c *Imagebuilder) PutImagePolicy(input *PutImagePolicyInput) (*PutImagePolicyOutput, error) {
  4925  	req, out := c.PutImagePolicyRequest(input)
  4926  	return out, req.Send()
  4927  }
  4928  
  4929  // PutImagePolicyWithContext is the same as PutImagePolicy with the addition of
  4930  // the ability to pass a context and additional request options.
  4931  //
  4932  // See PutImagePolicy for details on how to use this API operation.
  4933  //
  4934  // The context must be non-nil and will be used for request cancellation. If
  4935  // the context is nil a panic will occur. In the future the SDK may create
  4936  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4937  // for more information on using Contexts.
  4938  func (c *Imagebuilder) PutImagePolicyWithContext(ctx aws.Context, input *PutImagePolicyInput, opts ...request.Option) (*PutImagePolicyOutput, error) {
  4939  	req, out := c.PutImagePolicyRequest(input)
  4940  	req.SetContext(ctx)
  4941  	req.ApplyOptions(opts...)
  4942  	return out, req.Send()
  4943  }
  4944  
  4945  const opPutImageRecipePolicy = "PutImageRecipePolicy"
  4946  
  4947  // PutImageRecipePolicyRequest generates a "aws/request.Request" representing the
  4948  // client's request for the PutImageRecipePolicy operation. The "output" return
  4949  // value will be populated with the request's response once the request completes
  4950  // successfully.
  4951  //
  4952  // Use "Send" method on the returned Request to send the API call to the service.
  4953  // the "output" return value is not valid until after Send returns without error.
  4954  //
  4955  // See PutImageRecipePolicy for more information on using the PutImageRecipePolicy
  4956  // API call, and error handling.
  4957  //
  4958  // This method is useful when you want to inject custom logic or configuration
  4959  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4960  //
  4961  //
  4962  //    // Example sending a request using the PutImageRecipePolicyRequest method.
  4963  //    req, resp := client.PutImageRecipePolicyRequest(params)
  4964  //
  4965  //    err := req.Send()
  4966  //    if err == nil { // resp is now filled
  4967  //        fmt.Println(resp)
  4968  //    }
  4969  //
  4970  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy
  4971  func (c *Imagebuilder) PutImageRecipePolicyRequest(input *PutImageRecipePolicyInput) (req *request.Request, output *PutImageRecipePolicyOutput) {
  4972  	op := &request.Operation{
  4973  		Name:       opPutImageRecipePolicy,
  4974  		HTTPMethod: "PUT",
  4975  		HTTPPath:   "/PutImageRecipePolicy",
  4976  	}
  4977  
  4978  	if input == nil {
  4979  		input = &PutImageRecipePolicyInput{}
  4980  	}
  4981  
  4982  	output = &PutImageRecipePolicyOutput{}
  4983  	req = c.newRequest(op, input, output)
  4984  	return
  4985  }
  4986  
  4987  // PutImageRecipePolicy API operation for EC2 Image Builder.
  4988  //
  4989  // Applies a policy to an image recipe. We recommend that you call the RAM API
  4990  // CreateResourceShare (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html)
  4991  // to share resources. If you call the Image Builder API PutImageRecipePolicy,
  4992  // you must also call the RAM API PromoteResourceShareCreatedFromPolicy (https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html)
  4993  // in order for the resource to be visible to all principals with whom the resource
  4994  // is shared.
  4995  //
  4996  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4997  // with awserr.Error's Code and Message methods to get detailed information about
  4998  // the error.
  4999  //
  5000  // See the AWS API reference guide for EC2 Image Builder's
  5001  // API operation PutImageRecipePolicy for usage and error information.
  5002  //
  5003  // Returned Error Types:
  5004  //   * ServiceException
  5005  //   This exception is thrown when the service encounters an unrecoverable exception.
  5006  //
  5007  //   * ClientException
  5008  //   These errors are usually caused by a client action, such as using an action
  5009  //   or resource on behalf of a user that doesn't have permissions to use the
  5010  //   action or resource, or specifying an invalid resource identifier.
  5011  //
  5012  //   * ServiceUnavailableException
  5013  //   The service is unable to process your request at this time.
  5014  //
  5015  //   * InvalidRequestException
  5016  //   You have made a request for an action that is not supported by the service.
  5017  //
  5018  //   * InvalidParameterValueException
  5019  //   The value that you provided for the specified parameter is invalid.
  5020  //
  5021  //   * ResourceNotFoundException
  5022  //   At least one of the resources referenced by your request does not exist.
  5023  //
  5024  //   * ForbiddenException
  5025  //   You are not authorized to perform the requested operation.
  5026  //
  5027  //   * CallRateLimitExceededException
  5028  //   You have exceeded the permitted request rate for the specific operation.
  5029  //
  5030  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy
  5031  func (c *Imagebuilder) PutImageRecipePolicy(input *PutImageRecipePolicyInput) (*PutImageRecipePolicyOutput, error) {
  5032  	req, out := c.PutImageRecipePolicyRequest(input)
  5033  	return out, req.Send()
  5034  }
  5035  
  5036  // PutImageRecipePolicyWithContext is the same as PutImageRecipePolicy with the addition of
  5037  // the ability to pass a context and additional request options.
  5038  //
  5039  // See PutImageRecipePolicy for details on how to use this API operation.
  5040  //
  5041  // The context must be non-nil and will be used for request cancellation. If
  5042  // the context is nil a panic will occur. In the future the SDK may create
  5043  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5044  // for more information on using Contexts.
  5045  func (c *Imagebuilder) PutImageRecipePolicyWithContext(ctx aws.Context, input *PutImageRecipePolicyInput, opts ...request.Option) (*PutImageRecipePolicyOutput, error) {
  5046  	req, out := c.PutImageRecipePolicyRequest(input)
  5047  	req.SetContext(ctx)
  5048  	req.ApplyOptions(opts...)
  5049  	return out, req.Send()
  5050  }
  5051  
  5052  const opStartImagePipelineExecution = "StartImagePipelineExecution"
  5053  
  5054  // StartImagePipelineExecutionRequest generates a "aws/request.Request" representing the
  5055  // client's request for the StartImagePipelineExecution operation. The "output" return
  5056  // value will be populated with the request's response once the request completes
  5057  // successfully.
  5058  //
  5059  // Use "Send" method on the returned Request to send the API call to the service.
  5060  // the "output" return value is not valid until after Send returns without error.
  5061  //
  5062  // See StartImagePipelineExecution for more information on using the StartImagePipelineExecution
  5063  // API call, and error handling.
  5064  //
  5065  // This method is useful when you want to inject custom logic or configuration
  5066  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5067  //
  5068  //
  5069  //    // Example sending a request using the StartImagePipelineExecutionRequest method.
  5070  //    req, resp := client.StartImagePipelineExecutionRequest(params)
  5071  //
  5072  //    err := req.Send()
  5073  //    if err == nil { // resp is now filled
  5074  //        fmt.Println(resp)
  5075  //    }
  5076  //
  5077  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution
  5078  func (c *Imagebuilder) StartImagePipelineExecutionRequest(input *StartImagePipelineExecutionInput) (req *request.Request, output *StartImagePipelineExecutionOutput) {
  5079  	op := &request.Operation{
  5080  		Name:       opStartImagePipelineExecution,
  5081  		HTTPMethod: "PUT",
  5082  		HTTPPath:   "/StartImagePipelineExecution",
  5083  	}
  5084  
  5085  	if input == nil {
  5086  		input = &StartImagePipelineExecutionInput{}
  5087  	}
  5088  
  5089  	output = &StartImagePipelineExecutionOutput{}
  5090  	req = c.newRequest(op, input, output)
  5091  	return
  5092  }
  5093  
  5094  // StartImagePipelineExecution API operation for EC2 Image Builder.
  5095  //
  5096  // Manually triggers a pipeline to create an image.
  5097  //
  5098  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5099  // with awserr.Error's Code and Message methods to get detailed information about
  5100  // the error.
  5101  //
  5102  // See the AWS API reference guide for EC2 Image Builder's
  5103  // API operation StartImagePipelineExecution for usage and error information.
  5104  //
  5105  // Returned Error Types:
  5106  //   * ServiceException
  5107  //   This exception is thrown when the service encounters an unrecoverable exception.
  5108  //
  5109  //   * ClientException
  5110  //   These errors are usually caused by a client action, such as using an action
  5111  //   or resource on behalf of a user that doesn't have permissions to use the
  5112  //   action or resource, or specifying an invalid resource identifier.
  5113  //
  5114  //   * ServiceUnavailableException
  5115  //   The service is unable to process your request at this time.
  5116  //
  5117  //   * InvalidRequestException
  5118  //   You have made a request for an action that is not supported by the service.
  5119  //
  5120  //   * ResourceNotFoundException
  5121  //   At least one of the resources referenced by your request does not exist.
  5122  //
  5123  //   * IdempotentParameterMismatchException
  5124  //   You have specified a client token for an operation using parameter values
  5125  //   that differ from a previous request that used the same client token.
  5126  //
  5127  //   * ForbiddenException
  5128  //   You are not authorized to perform the requested operation.
  5129  //
  5130  //   * CallRateLimitExceededException
  5131  //   You have exceeded the permitted request rate for the specific operation.
  5132  //
  5133  //   * ResourceInUseException
  5134  //   The resource that you are trying to operate on is currently in use. Review
  5135  //   the message details and retry later.
  5136  //
  5137  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution
  5138  func (c *Imagebuilder) StartImagePipelineExecution(input *StartImagePipelineExecutionInput) (*StartImagePipelineExecutionOutput, error) {
  5139  	req, out := c.StartImagePipelineExecutionRequest(input)
  5140  	return out, req.Send()
  5141  }
  5142  
  5143  // StartImagePipelineExecutionWithContext is the same as StartImagePipelineExecution with the addition of
  5144  // the ability to pass a context and additional request options.
  5145  //
  5146  // See StartImagePipelineExecution for details on how to use this API operation.
  5147  //
  5148  // The context must be non-nil and will be used for request cancellation. If
  5149  // the context is nil a panic will occur. In the future the SDK may create
  5150  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5151  // for more information on using Contexts.
  5152  func (c *Imagebuilder) StartImagePipelineExecutionWithContext(ctx aws.Context, input *StartImagePipelineExecutionInput, opts ...request.Option) (*StartImagePipelineExecutionOutput, error) {
  5153  	req, out := c.StartImagePipelineExecutionRequest(input)
  5154  	req.SetContext(ctx)
  5155  	req.ApplyOptions(opts...)
  5156  	return out, req.Send()
  5157  }
  5158  
  5159  const opTagResource = "TagResource"
  5160  
  5161  // TagResourceRequest generates a "aws/request.Request" representing the
  5162  // client's request for the TagResource operation. The "output" return
  5163  // value will be populated with the request's response once the request completes
  5164  // successfully.
  5165  //
  5166  // Use "Send" method on the returned Request to send the API call to the service.
  5167  // the "output" return value is not valid until after Send returns without error.
  5168  //
  5169  // See TagResource for more information on using the TagResource
  5170  // API call, and error handling.
  5171  //
  5172  // This method is useful when you want to inject custom logic or configuration
  5173  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5174  //
  5175  //
  5176  //    // Example sending a request using the TagResourceRequest method.
  5177  //    req, resp := client.TagResourceRequest(params)
  5178  //
  5179  //    err := req.Send()
  5180  //    if err == nil { // resp is now filled
  5181  //        fmt.Println(resp)
  5182  //    }
  5183  //
  5184  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource
  5185  func (c *Imagebuilder) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5186  	op := &request.Operation{
  5187  		Name:       opTagResource,
  5188  		HTTPMethod: "POST",
  5189  		HTTPPath:   "/tags/{resourceArn}",
  5190  	}
  5191  
  5192  	if input == nil {
  5193  		input = &TagResourceInput{}
  5194  	}
  5195  
  5196  	output = &TagResourceOutput{}
  5197  	req = c.newRequest(op, input, output)
  5198  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5199  	return
  5200  }
  5201  
  5202  // TagResource API operation for EC2 Image Builder.
  5203  //
  5204  // Adds a tag to a resource.
  5205  //
  5206  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5207  // with awserr.Error's Code and Message methods to get detailed information about
  5208  // the error.
  5209  //
  5210  // See the AWS API reference guide for EC2 Image Builder's
  5211  // API operation TagResource for usage and error information.
  5212  //
  5213  // Returned Error Types:
  5214  //   * ServiceException
  5215  //   This exception is thrown when the service encounters an unrecoverable exception.
  5216  //
  5217  //   * InvalidParameterException
  5218  //   The specified parameter is invalid. Review the available parameters for the
  5219  //   API request.
  5220  //
  5221  //   * ResourceNotFoundException
  5222  //   At least one of the resources referenced by your request does not exist.
  5223  //
  5224  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource
  5225  func (c *Imagebuilder) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5226  	req, out := c.TagResourceRequest(input)
  5227  	return out, req.Send()
  5228  }
  5229  
  5230  // TagResourceWithContext is the same as TagResource with the addition of
  5231  // the ability to pass a context and additional request options.
  5232  //
  5233  // See TagResource for details on how to use this API operation.
  5234  //
  5235  // The context must be non-nil and will be used for request cancellation. If
  5236  // the context is nil a panic will occur. In the future the SDK may create
  5237  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5238  // for more information on using Contexts.
  5239  func (c *Imagebuilder) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5240  	req, out := c.TagResourceRequest(input)
  5241  	req.SetContext(ctx)
  5242  	req.ApplyOptions(opts...)
  5243  	return out, req.Send()
  5244  }
  5245  
  5246  const opUntagResource = "UntagResource"
  5247  
  5248  // UntagResourceRequest generates a "aws/request.Request" representing the
  5249  // client's request for the UntagResource operation. The "output" return
  5250  // value will be populated with the request's response once the request completes
  5251  // successfully.
  5252  //
  5253  // Use "Send" method on the returned Request to send the API call to the service.
  5254  // the "output" return value is not valid until after Send returns without error.
  5255  //
  5256  // See UntagResource for more information on using the UntagResource
  5257  // API call, and error handling.
  5258  //
  5259  // This method is useful when you want to inject custom logic or configuration
  5260  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5261  //
  5262  //
  5263  //    // Example sending a request using the UntagResourceRequest method.
  5264  //    req, resp := client.UntagResourceRequest(params)
  5265  //
  5266  //    err := req.Send()
  5267  //    if err == nil { // resp is now filled
  5268  //        fmt.Println(resp)
  5269  //    }
  5270  //
  5271  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource
  5272  func (c *Imagebuilder) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5273  	op := &request.Operation{
  5274  		Name:       opUntagResource,
  5275  		HTTPMethod: "DELETE",
  5276  		HTTPPath:   "/tags/{resourceArn}",
  5277  	}
  5278  
  5279  	if input == nil {
  5280  		input = &UntagResourceInput{}
  5281  	}
  5282  
  5283  	output = &UntagResourceOutput{}
  5284  	req = c.newRequest(op, input, output)
  5285  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5286  	return
  5287  }
  5288  
  5289  // UntagResource API operation for EC2 Image Builder.
  5290  //
  5291  // Removes a tag from a resource.
  5292  //
  5293  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5294  // with awserr.Error's Code and Message methods to get detailed information about
  5295  // the error.
  5296  //
  5297  // See the AWS API reference guide for EC2 Image Builder's
  5298  // API operation UntagResource for usage and error information.
  5299  //
  5300  // Returned Error Types:
  5301  //   * ServiceException
  5302  //   This exception is thrown when the service encounters an unrecoverable exception.
  5303  //
  5304  //   * InvalidParameterException
  5305  //   The specified parameter is invalid. Review the available parameters for the
  5306  //   API request.
  5307  //
  5308  //   * ResourceNotFoundException
  5309  //   At least one of the resources referenced by your request does not exist.
  5310  //
  5311  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource
  5312  func (c *Imagebuilder) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5313  	req, out := c.UntagResourceRequest(input)
  5314  	return out, req.Send()
  5315  }
  5316  
  5317  // UntagResourceWithContext is the same as UntagResource with the addition of
  5318  // the ability to pass a context and additional request options.
  5319  //
  5320  // See UntagResource for details on how to use this API operation.
  5321  //
  5322  // The context must be non-nil and will be used for request cancellation. If
  5323  // the context is nil a panic will occur. In the future the SDK may create
  5324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5325  // for more information on using Contexts.
  5326  func (c *Imagebuilder) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5327  	req, out := c.UntagResourceRequest(input)
  5328  	req.SetContext(ctx)
  5329  	req.ApplyOptions(opts...)
  5330  	return out, req.Send()
  5331  }
  5332  
  5333  const opUpdateDistributionConfiguration = "UpdateDistributionConfiguration"
  5334  
  5335  // UpdateDistributionConfigurationRequest generates a "aws/request.Request" representing the
  5336  // client's request for the UpdateDistributionConfiguration operation. The "output" return
  5337  // value will be populated with the request's response once the request completes
  5338  // successfully.
  5339  //
  5340  // Use "Send" method on the returned Request to send the API call to the service.
  5341  // the "output" return value is not valid until after Send returns without error.
  5342  //
  5343  // See UpdateDistributionConfiguration for more information on using the UpdateDistributionConfiguration
  5344  // API call, and error handling.
  5345  //
  5346  // This method is useful when you want to inject custom logic or configuration
  5347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5348  //
  5349  //
  5350  //    // Example sending a request using the UpdateDistributionConfigurationRequest method.
  5351  //    req, resp := client.UpdateDistributionConfigurationRequest(params)
  5352  //
  5353  //    err := req.Send()
  5354  //    if err == nil { // resp is now filled
  5355  //        fmt.Println(resp)
  5356  //    }
  5357  //
  5358  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration
  5359  func (c *Imagebuilder) UpdateDistributionConfigurationRequest(input *UpdateDistributionConfigurationInput) (req *request.Request, output *UpdateDistributionConfigurationOutput) {
  5360  	op := &request.Operation{
  5361  		Name:       opUpdateDistributionConfiguration,
  5362  		HTTPMethod: "PUT",
  5363  		HTTPPath:   "/UpdateDistributionConfiguration",
  5364  	}
  5365  
  5366  	if input == nil {
  5367  		input = &UpdateDistributionConfigurationInput{}
  5368  	}
  5369  
  5370  	output = &UpdateDistributionConfigurationOutput{}
  5371  	req = c.newRequest(op, input, output)
  5372  	return
  5373  }
  5374  
  5375  // UpdateDistributionConfiguration API operation for EC2 Image Builder.
  5376  //
  5377  // Updates a new distribution configuration. Distribution configurations define
  5378  // and configure the outputs of your pipeline.
  5379  //
  5380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5381  // with awserr.Error's Code and Message methods to get detailed information about
  5382  // the error.
  5383  //
  5384  // See the AWS API reference guide for EC2 Image Builder's
  5385  // API operation UpdateDistributionConfiguration for usage and error information.
  5386  //
  5387  // Returned Error Types:
  5388  //   * ServiceException
  5389  //   This exception is thrown when the service encounters an unrecoverable exception.
  5390  //
  5391  //   * ClientException
  5392  //   These errors are usually caused by a client action, such as using an action
  5393  //   or resource on behalf of a user that doesn't have permissions to use the
  5394  //   action or resource, or specifying an invalid resource identifier.
  5395  //
  5396  //   * ServiceUnavailableException
  5397  //   The service is unable to process your request at this time.
  5398  //
  5399  //   * InvalidRequestException
  5400  //   You have made a request for an action that is not supported by the service.
  5401  //
  5402  //   * IdempotentParameterMismatchException
  5403  //   You have specified a client token for an operation using parameter values
  5404  //   that differ from a previous request that used the same client token.
  5405  //
  5406  //   * ForbiddenException
  5407  //   You are not authorized to perform the requested operation.
  5408  //
  5409  //   * CallRateLimitExceededException
  5410  //   You have exceeded the permitted request rate for the specific operation.
  5411  //
  5412  //   * ResourceInUseException
  5413  //   The resource that you are trying to operate on is currently in use. Review
  5414  //   the message details and retry later.
  5415  //
  5416  //   * InvalidParameterCombinationException
  5417  //   You have specified two or more mutually exclusive parameters. Review the
  5418  //   error message for details.
  5419  //
  5420  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration
  5421  func (c *Imagebuilder) UpdateDistributionConfiguration(input *UpdateDistributionConfigurationInput) (*UpdateDistributionConfigurationOutput, error) {
  5422  	req, out := c.UpdateDistributionConfigurationRequest(input)
  5423  	return out, req.Send()
  5424  }
  5425  
  5426  // UpdateDistributionConfigurationWithContext is the same as UpdateDistributionConfiguration with the addition of
  5427  // the ability to pass a context and additional request options.
  5428  //
  5429  // See UpdateDistributionConfiguration for details on how to use this API operation.
  5430  //
  5431  // The context must be non-nil and will be used for request cancellation. If
  5432  // the context is nil a panic will occur. In the future the SDK may create
  5433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5434  // for more information on using Contexts.
  5435  func (c *Imagebuilder) UpdateDistributionConfigurationWithContext(ctx aws.Context, input *UpdateDistributionConfigurationInput, opts ...request.Option) (*UpdateDistributionConfigurationOutput, error) {
  5436  	req, out := c.UpdateDistributionConfigurationRequest(input)
  5437  	req.SetContext(ctx)
  5438  	req.ApplyOptions(opts...)
  5439  	return out, req.Send()
  5440  }
  5441  
  5442  const opUpdateImagePipeline = "UpdateImagePipeline"
  5443  
  5444  // UpdateImagePipelineRequest generates a "aws/request.Request" representing the
  5445  // client's request for the UpdateImagePipeline operation. The "output" return
  5446  // value will be populated with the request's response once the request completes
  5447  // successfully.
  5448  //
  5449  // Use "Send" method on the returned Request to send the API call to the service.
  5450  // the "output" return value is not valid until after Send returns without error.
  5451  //
  5452  // See UpdateImagePipeline for more information on using the UpdateImagePipeline
  5453  // API call, and error handling.
  5454  //
  5455  // This method is useful when you want to inject custom logic or configuration
  5456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5457  //
  5458  //
  5459  //    // Example sending a request using the UpdateImagePipelineRequest method.
  5460  //    req, resp := client.UpdateImagePipelineRequest(params)
  5461  //
  5462  //    err := req.Send()
  5463  //    if err == nil { // resp is now filled
  5464  //        fmt.Println(resp)
  5465  //    }
  5466  //
  5467  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline
  5468  func (c *Imagebuilder) UpdateImagePipelineRequest(input *UpdateImagePipelineInput) (req *request.Request, output *UpdateImagePipelineOutput) {
  5469  	op := &request.Operation{
  5470  		Name:       opUpdateImagePipeline,
  5471  		HTTPMethod: "PUT",
  5472  		HTTPPath:   "/UpdateImagePipeline",
  5473  	}
  5474  
  5475  	if input == nil {
  5476  		input = &UpdateImagePipelineInput{}
  5477  	}
  5478  
  5479  	output = &UpdateImagePipelineOutput{}
  5480  	req = c.newRequest(op, input, output)
  5481  	return
  5482  }
  5483  
  5484  // UpdateImagePipeline API operation for EC2 Image Builder.
  5485  //
  5486  // Updates an image pipeline. Image pipelines enable you to automate the creation
  5487  // and distribution of images.
  5488  //
  5489  // UpdateImagePipeline does not support selective updates for the pipeline.
  5490  // You must specify all of the required properties in the update request, not
  5491  // just the properties that have changed.
  5492  //
  5493  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5494  // with awserr.Error's Code and Message methods to get detailed information about
  5495  // the error.
  5496  //
  5497  // See the AWS API reference guide for EC2 Image Builder's
  5498  // API operation UpdateImagePipeline for usage and error information.
  5499  //
  5500  // Returned Error Types:
  5501  //   * ServiceException
  5502  //   This exception is thrown when the service encounters an unrecoverable exception.
  5503  //
  5504  //   * ClientException
  5505  //   These errors are usually caused by a client action, such as using an action
  5506  //   or resource on behalf of a user that doesn't have permissions to use the
  5507  //   action or resource, or specifying an invalid resource identifier.
  5508  //
  5509  //   * ServiceUnavailableException
  5510  //   The service is unable to process your request at this time.
  5511  //
  5512  //   * InvalidRequestException
  5513  //   You have made a request for an action that is not supported by the service.
  5514  //
  5515  //   * IdempotentParameterMismatchException
  5516  //   You have specified a client token for an operation using parameter values
  5517  //   that differ from a previous request that used the same client token.
  5518  //
  5519  //   * ForbiddenException
  5520  //   You are not authorized to perform the requested operation.
  5521  //
  5522  //   * CallRateLimitExceededException
  5523  //   You have exceeded the permitted request rate for the specific operation.
  5524  //
  5525  //   * ResourceInUseException
  5526  //   The resource that you are trying to operate on is currently in use. Review
  5527  //   the message details and retry later.
  5528  //
  5529  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline
  5530  func (c *Imagebuilder) UpdateImagePipeline(input *UpdateImagePipelineInput) (*UpdateImagePipelineOutput, error) {
  5531  	req, out := c.UpdateImagePipelineRequest(input)
  5532  	return out, req.Send()
  5533  }
  5534  
  5535  // UpdateImagePipelineWithContext is the same as UpdateImagePipeline with the addition of
  5536  // the ability to pass a context and additional request options.
  5537  //
  5538  // See UpdateImagePipeline for details on how to use this API operation.
  5539  //
  5540  // The context must be non-nil and will be used for request cancellation. If
  5541  // the context is nil a panic will occur. In the future the SDK may create
  5542  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5543  // for more information on using Contexts.
  5544  func (c *Imagebuilder) UpdateImagePipelineWithContext(ctx aws.Context, input *UpdateImagePipelineInput, opts ...request.Option) (*UpdateImagePipelineOutput, error) {
  5545  	req, out := c.UpdateImagePipelineRequest(input)
  5546  	req.SetContext(ctx)
  5547  	req.ApplyOptions(opts...)
  5548  	return out, req.Send()
  5549  }
  5550  
  5551  const opUpdateInfrastructureConfiguration = "UpdateInfrastructureConfiguration"
  5552  
  5553  // UpdateInfrastructureConfigurationRequest generates a "aws/request.Request" representing the
  5554  // client's request for the UpdateInfrastructureConfiguration operation. The "output" return
  5555  // value will be populated with the request's response once the request completes
  5556  // successfully.
  5557  //
  5558  // Use "Send" method on the returned Request to send the API call to the service.
  5559  // the "output" return value is not valid until after Send returns without error.
  5560  //
  5561  // See UpdateInfrastructureConfiguration for more information on using the UpdateInfrastructureConfiguration
  5562  // API call, and error handling.
  5563  //
  5564  // This method is useful when you want to inject custom logic or configuration
  5565  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5566  //
  5567  //
  5568  //    // Example sending a request using the UpdateInfrastructureConfigurationRequest method.
  5569  //    req, resp := client.UpdateInfrastructureConfigurationRequest(params)
  5570  //
  5571  //    err := req.Send()
  5572  //    if err == nil { // resp is now filled
  5573  //        fmt.Println(resp)
  5574  //    }
  5575  //
  5576  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration
  5577  func (c *Imagebuilder) UpdateInfrastructureConfigurationRequest(input *UpdateInfrastructureConfigurationInput) (req *request.Request, output *UpdateInfrastructureConfigurationOutput) {
  5578  	op := &request.Operation{
  5579  		Name:       opUpdateInfrastructureConfiguration,
  5580  		HTTPMethod: "PUT",
  5581  		HTTPPath:   "/UpdateInfrastructureConfiguration",
  5582  	}
  5583  
  5584  	if input == nil {
  5585  		input = &UpdateInfrastructureConfigurationInput{}
  5586  	}
  5587  
  5588  	output = &UpdateInfrastructureConfigurationOutput{}
  5589  	req = c.newRequest(op, input, output)
  5590  	return
  5591  }
  5592  
  5593  // UpdateInfrastructureConfiguration API operation for EC2 Image Builder.
  5594  //
  5595  // Updates a new infrastructure configuration. An infrastructure configuration
  5596  // defines the environment in which your image will be built and tested.
  5597  //
  5598  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5599  // with awserr.Error's Code and Message methods to get detailed information about
  5600  // the error.
  5601  //
  5602  // See the AWS API reference guide for EC2 Image Builder's
  5603  // API operation UpdateInfrastructureConfiguration for usage and error information.
  5604  //
  5605  // Returned Error Types:
  5606  //   * ServiceException
  5607  //   This exception is thrown when the service encounters an unrecoverable exception.
  5608  //
  5609  //   * ClientException
  5610  //   These errors are usually caused by a client action, such as using an action
  5611  //   or resource on behalf of a user that doesn't have permissions to use the
  5612  //   action or resource, or specifying an invalid resource identifier.
  5613  //
  5614  //   * ServiceUnavailableException
  5615  //   The service is unable to process your request at this time.
  5616  //
  5617  //   * InvalidRequestException
  5618  //   You have made a request for an action that is not supported by the service.
  5619  //
  5620  //   * IdempotentParameterMismatchException
  5621  //   You have specified a client token for an operation using parameter values
  5622  //   that differ from a previous request that used the same client token.
  5623  //
  5624  //   * ForbiddenException
  5625  //   You are not authorized to perform the requested operation.
  5626  //
  5627  //   * CallRateLimitExceededException
  5628  //   You have exceeded the permitted request rate for the specific operation.
  5629  //
  5630  //   * ResourceInUseException
  5631  //   The resource that you are trying to operate on is currently in use. Review
  5632  //   the message details and retry later.
  5633  //
  5634  // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration
  5635  func (c *Imagebuilder) UpdateInfrastructureConfiguration(input *UpdateInfrastructureConfigurationInput) (*UpdateInfrastructureConfigurationOutput, error) {
  5636  	req, out := c.UpdateInfrastructureConfigurationRequest(input)
  5637  	return out, req.Send()
  5638  }
  5639  
  5640  // UpdateInfrastructureConfigurationWithContext is the same as UpdateInfrastructureConfiguration with the addition of
  5641  // the ability to pass a context and additional request options.
  5642  //
  5643  // See UpdateInfrastructureConfiguration for details on how to use this API operation.
  5644  //
  5645  // The context must be non-nil and will be used for request cancellation. If
  5646  // the context is nil a panic will occur. In the future the SDK may create
  5647  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5648  // for more information on using Contexts.
  5649  func (c *Imagebuilder) UpdateInfrastructureConfigurationWithContext(ctx aws.Context, input *UpdateInfrastructureConfigurationInput, opts ...request.Option) (*UpdateInfrastructureConfigurationOutput, error) {
  5650  	req, out := c.UpdateInfrastructureConfigurationRequest(input)
  5651  	req.SetContext(ctx)
  5652  	req.ApplyOptions(opts...)
  5653  	return out, req.Send()
  5654  }
  5655  
  5656  // In addition to your infrastruction configuration, these settings provide
  5657  // an extra layer of control over your build instances. For instances where
  5658  // Image Builder installs the Systems Manager agent, you can choose whether
  5659  // to keep it for the AMI that you create. You can also specify commands to
  5660  // run on launch for all of your build instances.
  5661  type AdditionalInstanceConfiguration struct {
  5662  	_ struct{} `type:"structure"`
  5663  
  5664  	// Contains settings for the Systems Manager agent on your build instance.
  5665  	SystemsManagerAgent *SystemsManagerAgent `locationName:"systemsManagerAgent" type:"structure"`
  5666  
  5667  	// Use this property to provide commands or a command script to run when you
  5668  	// launch your build instance.
  5669  	//
  5670  	// The userDataOverride property replaces any commands that Image Builder might
  5671  	// have added to ensure that Systems Manager is installed on your Linux build
  5672  	// instance. If you override the user data, make sure that you add commands
  5673  	// to install Systems Manager, if it is not pre-installed on your base image.
  5674  	UserDataOverride *string `locationName:"userDataOverride" min:"1" type:"string"`
  5675  }
  5676  
  5677  // String returns the string representation.
  5678  //
  5679  // API parameter values that are decorated as "sensitive" in the API will not
  5680  // be included in the string output. The member name will be present, but the
  5681  // value will be replaced with "sensitive".
  5682  func (s AdditionalInstanceConfiguration) String() string {
  5683  	return awsutil.Prettify(s)
  5684  }
  5685  
  5686  // GoString returns the string representation.
  5687  //
  5688  // API parameter values that are decorated as "sensitive" in the API will not
  5689  // be included in the string output. The member name will be present, but the
  5690  // value will be replaced with "sensitive".
  5691  func (s AdditionalInstanceConfiguration) GoString() string {
  5692  	return s.String()
  5693  }
  5694  
  5695  // Validate inspects the fields of the type to determine if they are valid.
  5696  func (s *AdditionalInstanceConfiguration) Validate() error {
  5697  	invalidParams := request.ErrInvalidParams{Context: "AdditionalInstanceConfiguration"}
  5698  	if s.UserDataOverride != nil && len(*s.UserDataOverride) < 1 {
  5699  		invalidParams.Add(request.NewErrParamMinLen("UserDataOverride", 1))
  5700  	}
  5701  
  5702  	if invalidParams.Len() > 0 {
  5703  		return invalidParams
  5704  	}
  5705  	return nil
  5706  }
  5707  
  5708  // SetSystemsManagerAgent sets the SystemsManagerAgent field's value.
  5709  func (s *AdditionalInstanceConfiguration) SetSystemsManagerAgent(v *SystemsManagerAgent) *AdditionalInstanceConfiguration {
  5710  	s.SystemsManagerAgent = v
  5711  	return s
  5712  }
  5713  
  5714  // SetUserDataOverride sets the UserDataOverride field's value.
  5715  func (s *AdditionalInstanceConfiguration) SetUserDataOverride(v string) *AdditionalInstanceConfiguration {
  5716  	s.UserDataOverride = &v
  5717  	return s
  5718  }
  5719  
  5720  // Details of an Amazon EC2 AMI.
  5721  type Ami struct {
  5722  	_ struct{} `type:"structure"`
  5723  
  5724  	// The account ID of the owner of the AMI.
  5725  	AccountId *string `locationName:"accountId" min:"1" type:"string"`
  5726  
  5727  	// The description of the Amazon EC2 AMI. Minimum and maximum length are in
  5728  	// characters.
  5729  	Description *string `locationName:"description" min:"1" type:"string"`
  5730  
  5731  	// The AMI ID of the Amazon EC2 AMI.
  5732  	Image *string `locationName:"image" min:"1" type:"string"`
  5733  
  5734  	// The name of the Amazon EC2 AMI.
  5735  	Name *string `locationName:"name" min:"1" type:"string"`
  5736  
  5737  	// The Amazon Web Services Region of the Amazon EC2 AMI.
  5738  	Region *string `locationName:"region" min:"1" type:"string"`
  5739  
  5740  	// Image state shows the image status and the reason for that status.
  5741  	State *ImageState `locationName:"state" type:"structure"`
  5742  }
  5743  
  5744  // String returns the string representation.
  5745  //
  5746  // API parameter values that are decorated as "sensitive" in the API will not
  5747  // be included in the string output. The member name will be present, but the
  5748  // value will be replaced with "sensitive".
  5749  func (s Ami) String() string {
  5750  	return awsutil.Prettify(s)
  5751  }
  5752  
  5753  // GoString returns the string representation.
  5754  //
  5755  // API parameter values that are decorated as "sensitive" in the API will not
  5756  // be included in the string output. The member name will be present, but the
  5757  // value will be replaced with "sensitive".
  5758  func (s Ami) GoString() string {
  5759  	return s.String()
  5760  }
  5761  
  5762  // SetAccountId sets the AccountId field's value.
  5763  func (s *Ami) SetAccountId(v string) *Ami {
  5764  	s.AccountId = &v
  5765  	return s
  5766  }
  5767  
  5768  // SetDescription sets the Description field's value.
  5769  func (s *Ami) SetDescription(v string) *Ami {
  5770  	s.Description = &v
  5771  	return s
  5772  }
  5773  
  5774  // SetImage sets the Image field's value.
  5775  func (s *Ami) SetImage(v string) *Ami {
  5776  	s.Image = &v
  5777  	return s
  5778  }
  5779  
  5780  // SetName sets the Name field's value.
  5781  func (s *Ami) SetName(v string) *Ami {
  5782  	s.Name = &v
  5783  	return s
  5784  }
  5785  
  5786  // SetRegion sets the Region field's value.
  5787  func (s *Ami) SetRegion(v string) *Ami {
  5788  	s.Region = &v
  5789  	return s
  5790  }
  5791  
  5792  // SetState sets the State field's value.
  5793  func (s *Ami) SetState(v *ImageState) *Ami {
  5794  	s.State = v
  5795  	return s
  5796  }
  5797  
  5798  // Define and configure the output AMIs of the pipeline.
  5799  type AmiDistributionConfiguration struct {
  5800  	_ struct{} `type:"structure"`
  5801  
  5802  	// The tags to apply to AMIs distributed to this Region.
  5803  	AmiTags map[string]*string `locationName:"amiTags" min:"1" type:"map"`
  5804  
  5805  	// The description of the distribution configuration. Minimum and maximum length
  5806  	// are in characters.
  5807  	Description *string `locationName:"description" min:"1" type:"string"`
  5808  
  5809  	// The KMS key identifier used to encrypt the distributed image.
  5810  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  5811  
  5812  	// Launch permissions can be used to configure which Amazon Web Services accounts
  5813  	// can use the AMI to launch instances.
  5814  	LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"`
  5815  
  5816  	// The name of the output AMI.
  5817  	Name *string `locationName:"name" min:"1" type:"string"`
  5818  
  5819  	// The ID of an account to which you want to distribute an image.
  5820  	TargetAccountIds []*string `locationName:"targetAccountIds" min:"1" type:"list"`
  5821  }
  5822  
  5823  // String returns the string representation.
  5824  //
  5825  // API parameter values that are decorated as "sensitive" in the API will not
  5826  // be included in the string output. The member name will be present, but the
  5827  // value will be replaced with "sensitive".
  5828  func (s AmiDistributionConfiguration) String() string {
  5829  	return awsutil.Prettify(s)
  5830  }
  5831  
  5832  // GoString returns the string representation.
  5833  //
  5834  // API parameter values that are decorated as "sensitive" in the API will not
  5835  // be included in the string output. The member name will be present, but the
  5836  // value will be replaced with "sensitive".
  5837  func (s AmiDistributionConfiguration) GoString() string {
  5838  	return s.String()
  5839  }
  5840  
  5841  // Validate inspects the fields of the type to determine if they are valid.
  5842  func (s *AmiDistributionConfiguration) Validate() error {
  5843  	invalidParams := request.ErrInvalidParams{Context: "AmiDistributionConfiguration"}
  5844  	if s.AmiTags != nil && len(s.AmiTags) < 1 {
  5845  		invalidParams.Add(request.NewErrParamMinLen("AmiTags", 1))
  5846  	}
  5847  	if s.Description != nil && len(*s.Description) < 1 {
  5848  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  5849  	}
  5850  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  5851  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  5852  	}
  5853  	if s.Name != nil && len(*s.Name) < 1 {
  5854  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5855  	}
  5856  	if s.TargetAccountIds != nil && len(s.TargetAccountIds) < 1 {
  5857  		invalidParams.Add(request.NewErrParamMinLen("TargetAccountIds", 1))
  5858  	}
  5859  	if s.LaunchPermission != nil {
  5860  		if err := s.LaunchPermission.Validate(); err != nil {
  5861  			invalidParams.AddNested("LaunchPermission", err.(request.ErrInvalidParams))
  5862  		}
  5863  	}
  5864  
  5865  	if invalidParams.Len() > 0 {
  5866  		return invalidParams
  5867  	}
  5868  	return nil
  5869  }
  5870  
  5871  // SetAmiTags sets the AmiTags field's value.
  5872  func (s *AmiDistributionConfiguration) SetAmiTags(v map[string]*string) *AmiDistributionConfiguration {
  5873  	s.AmiTags = v
  5874  	return s
  5875  }
  5876  
  5877  // SetDescription sets the Description field's value.
  5878  func (s *AmiDistributionConfiguration) SetDescription(v string) *AmiDistributionConfiguration {
  5879  	s.Description = &v
  5880  	return s
  5881  }
  5882  
  5883  // SetKmsKeyId sets the KmsKeyId field's value.
  5884  func (s *AmiDistributionConfiguration) SetKmsKeyId(v string) *AmiDistributionConfiguration {
  5885  	s.KmsKeyId = &v
  5886  	return s
  5887  }
  5888  
  5889  // SetLaunchPermission sets the LaunchPermission field's value.
  5890  func (s *AmiDistributionConfiguration) SetLaunchPermission(v *LaunchPermissionConfiguration) *AmiDistributionConfiguration {
  5891  	s.LaunchPermission = v
  5892  	return s
  5893  }
  5894  
  5895  // SetName sets the Name field's value.
  5896  func (s *AmiDistributionConfiguration) SetName(v string) *AmiDistributionConfiguration {
  5897  	s.Name = &v
  5898  	return s
  5899  }
  5900  
  5901  // SetTargetAccountIds sets the TargetAccountIds field's value.
  5902  func (s *AmiDistributionConfiguration) SetTargetAccountIds(v []*string) *AmiDistributionConfiguration {
  5903  	s.TargetAccountIds = v
  5904  	return s
  5905  }
  5906  
  5907  // You have exceeded the permitted request rate for the specific operation.
  5908  type CallRateLimitExceededException struct {
  5909  	_            struct{}                  `type:"structure"`
  5910  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5911  
  5912  	Message_ *string `locationName:"message" type:"string"`
  5913  }
  5914  
  5915  // String returns the string representation.
  5916  //
  5917  // API parameter values that are decorated as "sensitive" in the API will not
  5918  // be included in the string output. The member name will be present, but the
  5919  // value will be replaced with "sensitive".
  5920  func (s CallRateLimitExceededException) String() string {
  5921  	return awsutil.Prettify(s)
  5922  }
  5923  
  5924  // GoString returns the string representation.
  5925  //
  5926  // API parameter values that are decorated as "sensitive" in the API will not
  5927  // be included in the string output. The member name will be present, but the
  5928  // value will be replaced with "sensitive".
  5929  func (s CallRateLimitExceededException) GoString() string {
  5930  	return s.String()
  5931  }
  5932  
  5933  func newErrorCallRateLimitExceededException(v protocol.ResponseMetadata) error {
  5934  	return &CallRateLimitExceededException{
  5935  		RespMetadata: v,
  5936  	}
  5937  }
  5938  
  5939  // Code returns the exception type name.
  5940  func (s *CallRateLimitExceededException) Code() string {
  5941  	return "CallRateLimitExceededException"
  5942  }
  5943  
  5944  // Message returns the exception's message.
  5945  func (s *CallRateLimitExceededException) Message() string {
  5946  	if s.Message_ != nil {
  5947  		return *s.Message_
  5948  	}
  5949  	return ""
  5950  }
  5951  
  5952  // OrigErr always returns nil, satisfies awserr.Error interface.
  5953  func (s *CallRateLimitExceededException) OrigErr() error {
  5954  	return nil
  5955  }
  5956  
  5957  func (s *CallRateLimitExceededException) Error() string {
  5958  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5959  }
  5960  
  5961  // Status code returns the HTTP status code for the request's response error.
  5962  func (s *CallRateLimitExceededException) StatusCode() int {
  5963  	return s.RespMetadata.StatusCode
  5964  }
  5965  
  5966  // RequestID returns the service's response RequestID for request.
  5967  func (s *CallRateLimitExceededException) RequestID() string {
  5968  	return s.RespMetadata.RequestID
  5969  }
  5970  
  5971  type CancelImageCreationInput struct {
  5972  	_ struct{} `type:"structure"`
  5973  
  5974  	// The idempotency token used to make this request idempotent.
  5975  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  5976  
  5977  	// The Amazon Resource Name (ARN) of the image whose creation you want to cancel.
  5978  	//
  5979  	// ImageBuildVersionArn is a required field
  5980  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"`
  5981  }
  5982  
  5983  // String returns the string representation.
  5984  //
  5985  // API parameter values that are decorated as "sensitive" in the API will not
  5986  // be included in the string output. The member name will be present, but the
  5987  // value will be replaced with "sensitive".
  5988  func (s CancelImageCreationInput) String() string {
  5989  	return awsutil.Prettify(s)
  5990  }
  5991  
  5992  // GoString returns the string representation.
  5993  //
  5994  // API parameter values that are decorated as "sensitive" in the API will not
  5995  // be included in the string output. The member name will be present, but the
  5996  // value will be replaced with "sensitive".
  5997  func (s CancelImageCreationInput) GoString() string {
  5998  	return s.String()
  5999  }
  6000  
  6001  // Validate inspects the fields of the type to determine if they are valid.
  6002  func (s *CancelImageCreationInput) Validate() error {
  6003  	invalidParams := request.ErrInvalidParams{Context: "CancelImageCreationInput"}
  6004  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  6005  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  6006  	}
  6007  	if s.ImageBuildVersionArn == nil {
  6008  		invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn"))
  6009  	}
  6010  
  6011  	if invalidParams.Len() > 0 {
  6012  		return invalidParams
  6013  	}
  6014  	return nil
  6015  }
  6016  
  6017  // SetClientToken sets the ClientToken field's value.
  6018  func (s *CancelImageCreationInput) SetClientToken(v string) *CancelImageCreationInput {
  6019  	s.ClientToken = &v
  6020  	return s
  6021  }
  6022  
  6023  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
  6024  func (s *CancelImageCreationInput) SetImageBuildVersionArn(v string) *CancelImageCreationInput {
  6025  	s.ImageBuildVersionArn = &v
  6026  	return s
  6027  }
  6028  
  6029  type CancelImageCreationOutput struct {
  6030  	_ struct{} `type:"structure"`
  6031  
  6032  	// The idempotency token used to make this request idempotent.
  6033  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  6034  
  6035  	// The Amazon Resource Name (ARN) of the image whose creation has been cancelled.
  6036  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"`
  6037  
  6038  	// The request ID that uniquely identifies this request.
  6039  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  6040  }
  6041  
  6042  // String returns the string representation.
  6043  //
  6044  // API parameter values that are decorated as "sensitive" in the API will not
  6045  // be included in the string output. The member name will be present, but the
  6046  // value will be replaced with "sensitive".
  6047  func (s CancelImageCreationOutput) String() string {
  6048  	return awsutil.Prettify(s)
  6049  }
  6050  
  6051  // GoString returns the string representation.
  6052  //
  6053  // API parameter values that are decorated as "sensitive" in the API will not
  6054  // be included in the string output. The member name will be present, but the
  6055  // value will be replaced with "sensitive".
  6056  func (s CancelImageCreationOutput) GoString() string {
  6057  	return s.String()
  6058  }
  6059  
  6060  // SetClientToken sets the ClientToken field's value.
  6061  func (s *CancelImageCreationOutput) SetClientToken(v string) *CancelImageCreationOutput {
  6062  	s.ClientToken = &v
  6063  	return s
  6064  }
  6065  
  6066  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
  6067  func (s *CancelImageCreationOutput) SetImageBuildVersionArn(v string) *CancelImageCreationOutput {
  6068  	s.ImageBuildVersionArn = &v
  6069  	return s
  6070  }
  6071  
  6072  // SetRequestId sets the RequestId field's value.
  6073  func (s *CancelImageCreationOutput) SetRequestId(v string) *CancelImageCreationOutput {
  6074  	s.RequestId = &v
  6075  	return s
  6076  }
  6077  
  6078  // These errors are usually caused by a client action, such as using an action
  6079  // or resource on behalf of a user that doesn't have permissions to use the
  6080  // action or resource, or specifying an invalid resource identifier.
  6081  type ClientException struct {
  6082  	_            struct{}                  `type:"structure"`
  6083  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6084  
  6085  	Message_ *string `locationName:"message" type:"string"`
  6086  }
  6087  
  6088  // String returns the string representation.
  6089  //
  6090  // API parameter values that are decorated as "sensitive" in the API will not
  6091  // be included in the string output. The member name will be present, but the
  6092  // value will be replaced with "sensitive".
  6093  func (s ClientException) String() string {
  6094  	return awsutil.Prettify(s)
  6095  }
  6096  
  6097  // GoString returns the string representation.
  6098  //
  6099  // API parameter values that are decorated as "sensitive" in the API will not
  6100  // be included in the string output. The member name will be present, but the
  6101  // value will be replaced with "sensitive".
  6102  func (s ClientException) GoString() string {
  6103  	return s.String()
  6104  }
  6105  
  6106  func newErrorClientException(v protocol.ResponseMetadata) error {
  6107  	return &ClientException{
  6108  		RespMetadata: v,
  6109  	}
  6110  }
  6111  
  6112  // Code returns the exception type name.
  6113  func (s *ClientException) Code() string {
  6114  	return "ClientException"
  6115  }
  6116  
  6117  // Message returns the exception's message.
  6118  func (s *ClientException) Message() string {
  6119  	if s.Message_ != nil {
  6120  		return *s.Message_
  6121  	}
  6122  	return ""
  6123  }
  6124  
  6125  // OrigErr always returns nil, satisfies awserr.Error interface.
  6126  func (s *ClientException) OrigErr() error {
  6127  	return nil
  6128  }
  6129  
  6130  func (s *ClientException) Error() string {
  6131  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6132  }
  6133  
  6134  // Status code returns the HTTP status code for the request's response error.
  6135  func (s *ClientException) StatusCode() int {
  6136  	return s.RespMetadata.StatusCode
  6137  }
  6138  
  6139  // RequestID returns the service's response RequestID for request.
  6140  func (s *ClientException) RequestID() string {
  6141  	return s.RespMetadata.RequestID
  6142  }
  6143  
  6144  // A detailed view of a component.
  6145  type Component struct {
  6146  	_ struct{} `type:"structure"`
  6147  
  6148  	// The Amazon Resource Name (ARN) of the component.
  6149  	Arn *string `locationName:"arn" type:"string"`
  6150  
  6151  	// The change description of the component.
  6152  	ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"`
  6153  
  6154  	// The data of the component.
  6155  	Data *string `locationName:"data" type:"string"`
  6156  
  6157  	// The date that the component was created.
  6158  	DateCreated *string `locationName:"dateCreated" type:"string"`
  6159  
  6160  	// The description of the component.
  6161  	Description *string `locationName:"description" min:"1" type:"string"`
  6162  
  6163  	// The encryption status of the component.
  6164  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  6165  
  6166  	// The KMS key identifier used to encrypt the component.
  6167  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  6168  
  6169  	// The name of the component.
  6170  	Name *string `locationName:"name" type:"string"`
  6171  
  6172  	// The owner of the component.
  6173  	Owner *string `locationName:"owner" min:"1" type:"string"`
  6174  
  6175  	// Contains parameter details for each of the parameters that are defined for
  6176  	// the component.
  6177  	Parameters []*ComponentParameterDetail `locationName:"parameters" type:"list"`
  6178  
  6179  	// The platform of the component.
  6180  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
  6181  
  6182  	// Describes the current status of the component. This is used for components
  6183  	// that are no longer active.
  6184  	State *ComponentState `locationName:"state" type:"structure"`
  6185  
  6186  	// The operating system (OS) version supported by the component. If the OS information
  6187  	// is available, a prefix match is performed against the base image OS version
  6188  	// during image recipe creation.
  6189  	SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"`
  6190  
  6191  	// The tags associated with the component.
  6192  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6193  
  6194  	// The type of the component denotes whether the component is used to build
  6195  	// the image or only to test it.
  6196  	Type *string `locationName:"type" type:"string" enum:"ComponentType"`
  6197  
  6198  	// The version of the component.
  6199  	Version *string `locationName:"version" type:"string"`
  6200  }
  6201  
  6202  // String returns the string representation.
  6203  //
  6204  // API parameter values that are decorated as "sensitive" in the API will not
  6205  // be included in the string output. The member name will be present, but the
  6206  // value will be replaced with "sensitive".
  6207  func (s Component) String() string {
  6208  	return awsutil.Prettify(s)
  6209  }
  6210  
  6211  // GoString returns the string representation.
  6212  //
  6213  // API parameter values that are decorated as "sensitive" in the API will not
  6214  // be included in the string output. The member name will be present, but the
  6215  // value will be replaced with "sensitive".
  6216  func (s Component) GoString() string {
  6217  	return s.String()
  6218  }
  6219  
  6220  // SetArn sets the Arn field's value.
  6221  func (s *Component) SetArn(v string) *Component {
  6222  	s.Arn = &v
  6223  	return s
  6224  }
  6225  
  6226  // SetChangeDescription sets the ChangeDescription field's value.
  6227  func (s *Component) SetChangeDescription(v string) *Component {
  6228  	s.ChangeDescription = &v
  6229  	return s
  6230  }
  6231  
  6232  // SetData sets the Data field's value.
  6233  func (s *Component) SetData(v string) *Component {
  6234  	s.Data = &v
  6235  	return s
  6236  }
  6237  
  6238  // SetDateCreated sets the DateCreated field's value.
  6239  func (s *Component) SetDateCreated(v string) *Component {
  6240  	s.DateCreated = &v
  6241  	return s
  6242  }
  6243  
  6244  // SetDescription sets the Description field's value.
  6245  func (s *Component) SetDescription(v string) *Component {
  6246  	s.Description = &v
  6247  	return s
  6248  }
  6249  
  6250  // SetEncrypted sets the Encrypted field's value.
  6251  func (s *Component) SetEncrypted(v bool) *Component {
  6252  	s.Encrypted = &v
  6253  	return s
  6254  }
  6255  
  6256  // SetKmsKeyId sets the KmsKeyId field's value.
  6257  func (s *Component) SetKmsKeyId(v string) *Component {
  6258  	s.KmsKeyId = &v
  6259  	return s
  6260  }
  6261  
  6262  // SetName sets the Name field's value.
  6263  func (s *Component) SetName(v string) *Component {
  6264  	s.Name = &v
  6265  	return s
  6266  }
  6267  
  6268  // SetOwner sets the Owner field's value.
  6269  func (s *Component) SetOwner(v string) *Component {
  6270  	s.Owner = &v
  6271  	return s
  6272  }
  6273  
  6274  // SetParameters sets the Parameters field's value.
  6275  func (s *Component) SetParameters(v []*ComponentParameterDetail) *Component {
  6276  	s.Parameters = v
  6277  	return s
  6278  }
  6279  
  6280  // SetPlatform sets the Platform field's value.
  6281  func (s *Component) SetPlatform(v string) *Component {
  6282  	s.Platform = &v
  6283  	return s
  6284  }
  6285  
  6286  // SetState sets the State field's value.
  6287  func (s *Component) SetState(v *ComponentState) *Component {
  6288  	s.State = v
  6289  	return s
  6290  }
  6291  
  6292  // SetSupportedOsVersions sets the SupportedOsVersions field's value.
  6293  func (s *Component) SetSupportedOsVersions(v []*string) *Component {
  6294  	s.SupportedOsVersions = v
  6295  	return s
  6296  }
  6297  
  6298  // SetTags sets the Tags field's value.
  6299  func (s *Component) SetTags(v map[string]*string) *Component {
  6300  	s.Tags = v
  6301  	return s
  6302  }
  6303  
  6304  // SetType sets the Type field's value.
  6305  func (s *Component) SetType(v string) *Component {
  6306  	s.Type = &v
  6307  	return s
  6308  }
  6309  
  6310  // SetVersion sets the Version field's value.
  6311  func (s *Component) SetVersion(v string) *Component {
  6312  	s.Version = &v
  6313  	return s
  6314  }
  6315  
  6316  // Configuration details of the component.
  6317  type ComponentConfiguration struct {
  6318  	_ struct{} `type:"structure"`
  6319  
  6320  	// The Amazon Resource Name (ARN) of the component.
  6321  	//
  6322  	// ComponentArn is a required field
  6323  	ComponentArn *string `locationName:"componentArn" type:"string" required:"true"`
  6324  
  6325  	// A group of parameter settings that are used to configure the component for
  6326  	// a specific recipe.
  6327  	Parameters []*ComponentParameter `locationName:"parameters" min:"1" type:"list"`
  6328  }
  6329  
  6330  // String returns the string representation.
  6331  //
  6332  // API parameter values that are decorated as "sensitive" in the API will not
  6333  // be included in the string output. The member name will be present, but the
  6334  // value will be replaced with "sensitive".
  6335  func (s ComponentConfiguration) String() string {
  6336  	return awsutil.Prettify(s)
  6337  }
  6338  
  6339  // GoString returns the string representation.
  6340  //
  6341  // API parameter values that are decorated as "sensitive" in the API will not
  6342  // be included in the string output. The member name will be present, but the
  6343  // value will be replaced with "sensitive".
  6344  func (s ComponentConfiguration) GoString() string {
  6345  	return s.String()
  6346  }
  6347  
  6348  // Validate inspects the fields of the type to determine if they are valid.
  6349  func (s *ComponentConfiguration) Validate() error {
  6350  	invalidParams := request.ErrInvalidParams{Context: "ComponentConfiguration"}
  6351  	if s.ComponentArn == nil {
  6352  		invalidParams.Add(request.NewErrParamRequired("ComponentArn"))
  6353  	}
  6354  	if s.Parameters != nil && len(s.Parameters) < 1 {
  6355  		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
  6356  	}
  6357  	if s.Parameters != nil {
  6358  		for i, v := range s.Parameters {
  6359  			if v == nil {
  6360  				continue
  6361  			}
  6362  			if err := v.Validate(); err != nil {
  6363  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
  6364  			}
  6365  		}
  6366  	}
  6367  
  6368  	if invalidParams.Len() > 0 {
  6369  		return invalidParams
  6370  	}
  6371  	return nil
  6372  }
  6373  
  6374  // SetComponentArn sets the ComponentArn field's value.
  6375  func (s *ComponentConfiguration) SetComponentArn(v string) *ComponentConfiguration {
  6376  	s.ComponentArn = &v
  6377  	return s
  6378  }
  6379  
  6380  // SetParameters sets the Parameters field's value.
  6381  func (s *ComponentConfiguration) SetParameters(v []*ComponentParameter) *ComponentConfiguration {
  6382  	s.Parameters = v
  6383  	return s
  6384  }
  6385  
  6386  // Contains a key/value pair that sets the named component parameter.
  6387  type ComponentParameter struct {
  6388  	_ struct{} `type:"structure"`
  6389  
  6390  	// The name of the component parameter to set.
  6391  	//
  6392  	// Name is a required field
  6393  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6394  
  6395  	// Sets the value for the named component parameter.
  6396  	//
  6397  	// Value is a required field
  6398  	Value []*string `locationName:"value" type:"list" required:"true"`
  6399  }
  6400  
  6401  // String returns the string representation.
  6402  //
  6403  // API parameter values that are decorated as "sensitive" in the API will not
  6404  // be included in the string output. The member name will be present, but the
  6405  // value will be replaced with "sensitive".
  6406  func (s ComponentParameter) String() string {
  6407  	return awsutil.Prettify(s)
  6408  }
  6409  
  6410  // GoString returns the string representation.
  6411  //
  6412  // API parameter values that are decorated as "sensitive" in the API will not
  6413  // be included in the string output. The member name will be present, but the
  6414  // value will be replaced with "sensitive".
  6415  func (s ComponentParameter) GoString() string {
  6416  	return s.String()
  6417  }
  6418  
  6419  // Validate inspects the fields of the type to determine if they are valid.
  6420  func (s *ComponentParameter) Validate() error {
  6421  	invalidParams := request.ErrInvalidParams{Context: "ComponentParameter"}
  6422  	if s.Name == nil {
  6423  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6424  	}
  6425  	if s.Name != nil && len(*s.Name) < 1 {
  6426  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6427  	}
  6428  	if s.Value == nil {
  6429  		invalidParams.Add(request.NewErrParamRequired("Value"))
  6430  	}
  6431  
  6432  	if invalidParams.Len() > 0 {
  6433  		return invalidParams
  6434  	}
  6435  	return nil
  6436  }
  6437  
  6438  // SetName sets the Name field's value.
  6439  func (s *ComponentParameter) SetName(v string) *ComponentParameter {
  6440  	s.Name = &v
  6441  	return s
  6442  }
  6443  
  6444  // SetValue sets the Value field's value.
  6445  func (s *ComponentParameter) SetValue(v []*string) *ComponentParameter {
  6446  	s.Value = v
  6447  	return s
  6448  }
  6449  
  6450  // Defines a parameter that is used to provide configuration details for the
  6451  // component.
  6452  type ComponentParameterDetail struct {
  6453  	_ struct{} `type:"structure"`
  6454  
  6455  	// The default value of this parameter if no input is provided.
  6456  	DefaultValue []*string `locationName:"defaultValue" type:"list"`
  6457  
  6458  	// Describes this parameter.
  6459  	Description *string `locationName:"description" min:"1" type:"string"`
  6460  
  6461  	// The name of this input parameter.
  6462  	//
  6463  	// Name is a required field
  6464  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6465  
  6466  	// The type of input this parameter provides. The currently supported value
  6467  	// is "string".
  6468  	//
  6469  	// Type is a required field
  6470  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  6471  }
  6472  
  6473  // String returns the string representation.
  6474  //
  6475  // API parameter values that are decorated as "sensitive" in the API will not
  6476  // be included in the string output. The member name will be present, but the
  6477  // value will be replaced with "sensitive".
  6478  func (s ComponentParameterDetail) String() string {
  6479  	return awsutil.Prettify(s)
  6480  }
  6481  
  6482  // GoString returns the string representation.
  6483  //
  6484  // API parameter values that are decorated as "sensitive" in the API will not
  6485  // be included in the string output. The member name will be present, but the
  6486  // value will be replaced with "sensitive".
  6487  func (s ComponentParameterDetail) GoString() string {
  6488  	return s.String()
  6489  }
  6490  
  6491  // SetDefaultValue sets the DefaultValue field's value.
  6492  func (s *ComponentParameterDetail) SetDefaultValue(v []*string) *ComponentParameterDetail {
  6493  	s.DefaultValue = v
  6494  	return s
  6495  }
  6496  
  6497  // SetDescription sets the Description field's value.
  6498  func (s *ComponentParameterDetail) SetDescription(v string) *ComponentParameterDetail {
  6499  	s.Description = &v
  6500  	return s
  6501  }
  6502  
  6503  // SetName sets the Name field's value.
  6504  func (s *ComponentParameterDetail) SetName(v string) *ComponentParameterDetail {
  6505  	s.Name = &v
  6506  	return s
  6507  }
  6508  
  6509  // SetType sets the Type field's value.
  6510  func (s *ComponentParameterDetail) SetType(v string) *ComponentParameterDetail {
  6511  	s.Type = &v
  6512  	return s
  6513  }
  6514  
  6515  // A group of fields that describe the current status of components that are
  6516  // no longer active.
  6517  type ComponentState struct {
  6518  	_ struct{} `type:"structure"`
  6519  
  6520  	// Describes how or why the component changed state.
  6521  	Reason *string `locationName:"reason" min:"1" type:"string"`
  6522  
  6523  	// The current state of the component.
  6524  	Status *string `locationName:"status" type:"string" enum:"ComponentStatus"`
  6525  }
  6526  
  6527  // String returns the string representation.
  6528  //
  6529  // API parameter values that are decorated as "sensitive" in the API will not
  6530  // be included in the string output. The member name will be present, but the
  6531  // value will be replaced with "sensitive".
  6532  func (s ComponentState) String() string {
  6533  	return awsutil.Prettify(s)
  6534  }
  6535  
  6536  // GoString returns the string representation.
  6537  //
  6538  // API parameter values that are decorated as "sensitive" in the API will not
  6539  // be included in the string output. The member name will be present, but the
  6540  // value will be replaced with "sensitive".
  6541  func (s ComponentState) GoString() string {
  6542  	return s.String()
  6543  }
  6544  
  6545  // SetReason sets the Reason field's value.
  6546  func (s *ComponentState) SetReason(v string) *ComponentState {
  6547  	s.Reason = &v
  6548  	return s
  6549  }
  6550  
  6551  // SetStatus sets the Status field's value.
  6552  func (s *ComponentState) SetStatus(v string) *ComponentState {
  6553  	s.Status = &v
  6554  	return s
  6555  }
  6556  
  6557  // A high-level summary of a component.
  6558  type ComponentSummary struct {
  6559  	_ struct{} `type:"structure"`
  6560  
  6561  	// The Amazon Resource Name (ARN) of the component.
  6562  	Arn *string `locationName:"arn" type:"string"`
  6563  
  6564  	// The change description of the component.
  6565  	ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"`
  6566  
  6567  	// The date that the component was created.
  6568  	DateCreated *string `locationName:"dateCreated" type:"string"`
  6569  
  6570  	// The description of the component.
  6571  	Description *string `locationName:"description" min:"1" type:"string"`
  6572  
  6573  	// The name of the component.
  6574  	Name *string `locationName:"name" type:"string"`
  6575  
  6576  	// The owner of the component.
  6577  	Owner *string `locationName:"owner" min:"1" type:"string"`
  6578  
  6579  	// The platform of the component.
  6580  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
  6581  
  6582  	// Describes the current status of the component.
  6583  	State *ComponentState `locationName:"state" type:"structure"`
  6584  
  6585  	// The operating system (OS) version supported by the component. If the OS information
  6586  	// is available, a prefix match is performed against the base image OS version
  6587  	// during image recipe creation.
  6588  	SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"`
  6589  
  6590  	// The tags associated with the component.
  6591  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6592  
  6593  	// The type of the component denotes whether the component is used to build
  6594  	// the image or only to test it.
  6595  	Type *string `locationName:"type" type:"string" enum:"ComponentType"`
  6596  
  6597  	// The version of the component.
  6598  	Version *string `locationName:"version" type:"string"`
  6599  }
  6600  
  6601  // String returns the string representation.
  6602  //
  6603  // API parameter values that are decorated as "sensitive" in the API will not
  6604  // be included in the string output. The member name will be present, but the
  6605  // value will be replaced with "sensitive".
  6606  func (s ComponentSummary) String() string {
  6607  	return awsutil.Prettify(s)
  6608  }
  6609  
  6610  // GoString returns the string representation.
  6611  //
  6612  // API parameter values that are decorated as "sensitive" in the API will not
  6613  // be included in the string output. The member name will be present, but the
  6614  // value will be replaced with "sensitive".
  6615  func (s ComponentSummary) GoString() string {
  6616  	return s.String()
  6617  }
  6618  
  6619  // SetArn sets the Arn field's value.
  6620  func (s *ComponentSummary) SetArn(v string) *ComponentSummary {
  6621  	s.Arn = &v
  6622  	return s
  6623  }
  6624  
  6625  // SetChangeDescription sets the ChangeDescription field's value.
  6626  func (s *ComponentSummary) SetChangeDescription(v string) *ComponentSummary {
  6627  	s.ChangeDescription = &v
  6628  	return s
  6629  }
  6630  
  6631  // SetDateCreated sets the DateCreated field's value.
  6632  func (s *ComponentSummary) SetDateCreated(v string) *ComponentSummary {
  6633  	s.DateCreated = &v
  6634  	return s
  6635  }
  6636  
  6637  // SetDescription sets the Description field's value.
  6638  func (s *ComponentSummary) SetDescription(v string) *ComponentSummary {
  6639  	s.Description = &v
  6640  	return s
  6641  }
  6642  
  6643  // SetName sets the Name field's value.
  6644  func (s *ComponentSummary) SetName(v string) *ComponentSummary {
  6645  	s.Name = &v
  6646  	return s
  6647  }
  6648  
  6649  // SetOwner sets the Owner field's value.
  6650  func (s *ComponentSummary) SetOwner(v string) *ComponentSummary {
  6651  	s.Owner = &v
  6652  	return s
  6653  }
  6654  
  6655  // SetPlatform sets the Platform field's value.
  6656  func (s *ComponentSummary) SetPlatform(v string) *ComponentSummary {
  6657  	s.Platform = &v
  6658  	return s
  6659  }
  6660  
  6661  // SetState sets the State field's value.
  6662  func (s *ComponentSummary) SetState(v *ComponentState) *ComponentSummary {
  6663  	s.State = v
  6664  	return s
  6665  }
  6666  
  6667  // SetSupportedOsVersions sets the SupportedOsVersions field's value.
  6668  func (s *ComponentSummary) SetSupportedOsVersions(v []*string) *ComponentSummary {
  6669  	s.SupportedOsVersions = v
  6670  	return s
  6671  }
  6672  
  6673  // SetTags sets the Tags field's value.
  6674  func (s *ComponentSummary) SetTags(v map[string]*string) *ComponentSummary {
  6675  	s.Tags = v
  6676  	return s
  6677  }
  6678  
  6679  // SetType sets the Type field's value.
  6680  func (s *ComponentSummary) SetType(v string) *ComponentSummary {
  6681  	s.Type = &v
  6682  	return s
  6683  }
  6684  
  6685  // SetVersion sets the Version field's value.
  6686  func (s *ComponentSummary) SetVersion(v string) *ComponentSummary {
  6687  	s.Version = &v
  6688  	return s
  6689  }
  6690  
  6691  // The defining characteristics of a specific version of an Amazon Web Services
  6692  // TOE component.
  6693  type ComponentVersion struct {
  6694  	_ struct{} `type:"structure"`
  6695  
  6696  	// The Amazon Resource Name (ARN) of the component.
  6697  	//
  6698  	// Semantic versioning is included in each object's Amazon Resource Name (ARN),
  6699  	// at the level that applies to that object as follows:
  6700  	//
  6701  	// Versionless ARNs and Name ARNs do not include specific values in any of the
  6702  	// nodes. The nodes are either left off entirely, or they are specified as wildcards,
  6703  	// for example: x.x.x.
  6704  	//
  6705  	// Version ARNs have only the first three nodes: <major>.<minor>.<patch>
  6706  	//
  6707  	// Build version ARNs have all four nodes, and point to a specific build for
  6708  	// a specific version of an object.
  6709  	Arn *string `locationName:"arn" type:"string"`
  6710  
  6711  	// The date that the component was created.
  6712  	DateCreated *string `locationName:"dateCreated" type:"string"`
  6713  
  6714  	// The description of the component.
  6715  	Description *string `locationName:"description" min:"1" type:"string"`
  6716  
  6717  	// The name of the component.
  6718  	Name *string `locationName:"name" type:"string"`
  6719  
  6720  	// The owner of the component.
  6721  	Owner *string `locationName:"owner" min:"1" type:"string"`
  6722  
  6723  	// The platform of the component.
  6724  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
  6725  
  6726  	// he operating system (OS) version supported by the component. If the OS information
  6727  	// is available, a prefix match is performed against the base image OS version
  6728  	// during image recipe creation.
  6729  	SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"`
  6730  
  6731  	// The type of the component denotes whether the component is used to build
  6732  	// the image or only to test it.
  6733  	Type *string `locationName:"type" type:"string" enum:"ComponentType"`
  6734  
  6735  	// The semantic version of the component.
  6736  	//
  6737  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  6738  	// can assign values for the first three, and can filter on all of them.
  6739  	//
  6740  	// Assignment: For the first three nodes you can assign any positive integer
  6741  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
  6742  	// node. Image Builder automatically assigns the build number to the fourth
  6743  	// node.
  6744  	//
  6745  	// Patterns: You can use any numeric pattern that adheres to the assignment
  6746  	// requirements for the nodes that you can assign. For example, you might choose
  6747  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
  6748  	//
  6749  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
  6750  	// (x) to specify the most recent versions or nodes when selecting the base
  6751  	// image or components for your recipe. When you use a wildcard in any node,
  6752  	// all nodes to the right of the first wildcard must also be wildcards.
  6753  	Version *string `locationName:"version" type:"string"`
  6754  }
  6755  
  6756  // String returns the string representation.
  6757  //
  6758  // API parameter values that are decorated as "sensitive" in the API will not
  6759  // be included in the string output. The member name will be present, but the
  6760  // value will be replaced with "sensitive".
  6761  func (s ComponentVersion) String() string {
  6762  	return awsutil.Prettify(s)
  6763  }
  6764  
  6765  // GoString returns the string representation.
  6766  //
  6767  // API parameter values that are decorated as "sensitive" in the API will not
  6768  // be included in the string output. The member name will be present, but the
  6769  // value will be replaced with "sensitive".
  6770  func (s ComponentVersion) GoString() string {
  6771  	return s.String()
  6772  }
  6773  
  6774  // SetArn sets the Arn field's value.
  6775  func (s *ComponentVersion) SetArn(v string) *ComponentVersion {
  6776  	s.Arn = &v
  6777  	return s
  6778  }
  6779  
  6780  // SetDateCreated sets the DateCreated field's value.
  6781  func (s *ComponentVersion) SetDateCreated(v string) *ComponentVersion {
  6782  	s.DateCreated = &v
  6783  	return s
  6784  }
  6785  
  6786  // SetDescription sets the Description field's value.
  6787  func (s *ComponentVersion) SetDescription(v string) *ComponentVersion {
  6788  	s.Description = &v
  6789  	return s
  6790  }
  6791  
  6792  // SetName sets the Name field's value.
  6793  func (s *ComponentVersion) SetName(v string) *ComponentVersion {
  6794  	s.Name = &v
  6795  	return s
  6796  }
  6797  
  6798  // SetOwner sets the Owner field's value.
  6799  func (s *ComponentVersion) SetOwner(v string) *ComponentVersion {
  6800  	s.Owner = &v
  6801  	return s
  6802  }
  6803  
  6804  // SetPlatform sets the Platform field's value.
  6805  func (s *ComponentVersion) SetPlatform(v string) *ComponentVersion {
  6806  	s.Platform = &v
  6807  	return s
  6808  }
  6809  
  6810  // SetSupportedOsVersions sets the SupportedOsVersions field's value.
  6811  func (s *ComponentVersion) SetSupportedOsVersions(v []*string) *ComponentVersion {
  6812  	s.SupportedOsVersions = v
  6813  	return s
  6814  }
  6815  
  6816  // SetType sets the Type field's value.
  6817  func (s *ComponentVersion) SetType(v string) *ComponentVersion {
  6818  	s.Type = &v
  6819  	return s
  6820  }
  6821  
  6822  // SetVersion sets the Version field's value.
  6823  func (s *ComponentVersion) SetVersion(v string) *ComponentVersion {
  6824  	s.Version = &v
  6825  	return s
  6826  }
  6827  
  6828  // A container encapsulates the runtime environment for an application.
  6829  type Container struct {
  6830  	_ struct{} `type:"structure"`
  6831  
  6832  	// A list of URIs for containers created in the context Region.
  6833  	ImageUris []*string `locationName:"imageUris" type:"list"`
  6834  
  6835  	// Containers and container images are Region-specific. This is the Region context
  6836  	// for the container.
  6837  	Region *string `locationName:"region" min:"1" type:"string"`
  6838  }
  6839  
  6840  // String returns the string representation.
  6841  //
  6842  // API parameter values that are decorated as "sensitive" in the API will not
  6843  // be included in the string output. The member name will be present, but the
  6844  // value will be replaced with "sensitive".
  6845  func (s Container) String() string {
  6846  	return awsutil.Prettify(s)
  6847  }
  6848  
  6849  // GoString returns the string representation.
  6850  //
  6851  // API parameter values that are decorated as "sensitive" in the API will not
  6852  // be included in the string output. The member name will be present, but the
  6853  // value will be replaced with "sensitive".
  6854  func (s Container) GoString() string {
  6855  	return s.String()
  6856  }
  6857  
  6858  // SetImageUris sets the ImageUris field's value.
  6859  func (s *Container) SetImageUris(v []*string) *Container {
  6860  	s.ImageUris = v
  6861  	return s
  6862  }
  6863  
  6864  // SetRegion sets the Region field's value.
  6865  func (s *Container) SetRegion(v string) *Container {
  6866  	s.Region = &v
  6867  	return s
  6868  }
  6869  
  6870  // Container distribution settings for encryption, licensing, and sharing in
  6871  // a specific Region.
  6872  type ContainerDistributionConfiguration struct {
  6873  	_ struct{} `type:"structure"`
  6874  
  6875  	// Tags that are attached to the container distribution configuration.
  6876  	ContainerTags []*string `locationName:"containerTags" type:"list"`
  6877  
  6878  	// The description of the container distribution configuration.
  6879  	Description *string `locationName:"description" min:"1" type:"string"`
  6880  
  6881  	// The destination repository for the container distribution configuration.
  6882  	//
  6883  	// TargetRepository is a required field
  6884  	TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure" required:"true"`
  6885  }
  6886  
  6887  // String returns the string representation.
  6888  //
  6889  // API parameter values that are decorated as "sensitive" in the API will not
  6890  // be included in the string output. The member name will be present, but the
  6891  // value will be replaced with "sensitive".
  6892  func (s ContainerDistributionConfiguration) String() string {
  6893  	return awsutil.Prettify(s)
  6894  }
  6895  
  6896  // GoString returns the string representation.
  6897  //
  6898  // API parameter values that are decorated as "sensitive" in the API will not
  6899  // be included in the string output. The member name will be present, but the
  6900  // value will be replaced with "sensitive".
  6901  func (s ContainerDistributionConfiguration) GoString() string {
  6902  	return s.String()
  6903  }
  6904  
  6905  // Validate inspects the fields of the type to determine if they are valid.
  6906  func (s *ContainerDistributionConfiguration) Validate() error {
  6907  	invalidParams := request.ErrInvalidParams{Context: "ContainerDistributionConfiguration"}
  6908  	if s.Description != nil && len(*s.Description) < 1 {
  6909  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  6910  	}
  6911  	if s.TargetRepository == nil {
  6912  		invalidParams.Add(request.NewErrParamRequired("TargetRepository"))
  6913  	}
  6914  	if s.TargetRepository != nil {
  6915  		if err := s.TargetRepository.Validate(); err != nil {
  6916  			invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams))
  6917  		}
  6918  	}
  6919  
  6920  	if invalidParams.Len() > 0 {
  6921  		return invalidParams
  6922  	}
  6923  	return nil
  6924  }
  6925  
  6926  // SetContainerTags sets the ContainerTags field's value.
  6927  func (s *ContainerDistributionConfiguration) SetContainerTags(v []*string) *ContainerDistributionConfiguration {
  6928  	s.ContainerTags = v
  6929  	return s
  6930  }
  6931  
  6932  // SetDescription sets the Description field's value.
  6933  func (s *ContainerDistributionConfiguration) SetDescription(v string) *ContainerDistributionConfiguration {
  6934  	s.Description = &v
  6935  	return s
  6936  }
  6937  
  6938  // SetTargetRepository sets the TargetRepository field's value.
  6939  func (s *ContainerDistributionConfiguration) SetTargetRepository(v *TargetContainerRepository) *ContainerDistributionConfiguration {
  6940  	s.TargetRepository = v
  6941  	return s
  6942  }
  6943  
  6944  // A container recipe.
  6945  type ContainerRecipe struct {
  6946  	_ struct{} `type:"structure"`
  6947  
  6948  	// The Amazon Resource Name (ARN) of the container recipe.
  6949  	//
  6950  	// Semantic versioning is included in each object's Amazon Resource Name (ARN),
  6951  	// at the level that applies to that object as follows:
  6952  	//
  6953  	// Versionless ARNs and Name ARNs do not include specific values in any of the
  6954  	// nodes. The nodes are either left off entirely, or they are specified as wildcards,
  6955  	// for example: x.x.x.
  6956  	//
  6957  	// Version ARNs have only the first three nodes: <major>.<minor>.<patch>
  6958  	//
  6959  	// Build version ARNs have all four nodes, and point to a specific build for
  6960  	// a specific version of an object.
  6961  	Arn *string `locationName:"arn" type:"string"`
  6962  
  6963  	// Components for build and test that are included in the container recipe.
  6964  	Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"`
  6965  
  6966  	// Specifies the type of container, such as Docker.
  6967  	ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"`
  6968  
  6969  	// The date when this container recipe was created.
  6970  	DateCreated *string `locationName:"dateCreated" type:"string"`
  6971  
  6972  	// The description of the container recipe.
  6973  	Description *string `locationName:"description" min:"1" type:"string"`
  6974  
  6975  	// Dockerfiles are text documents that are used to build Docker containers,
  6976  	// and ensure that they contain all of the elements required by the application
  6977  	// running inside. The template data consists of contextual variables where
  6978  	// Image Builder places build information or scripts, based on your container
  6979  	// image recipe.
  6980  	DockerfileTemplateData *string `locationName:"dockerfileTemplateData" type:"string"`
  6981  
  6982  	// A flag that indicates if the target container is encrypted.
  6983  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  6984  
  6985  	// A group of options that can be used to configure an instance for building
  6986  	// and testing container images.
  6987  	InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"`
  6988  
  6989  	// Identifies which KMS key is used to encrypt the container image for distribution
  6990  	// to the target Region.
  6991  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  6992  
  6993  	// The name of the container recipe.
  6994  	Name *string `locationName:"name" type:"string"`
  6995  
  6996  	// The owner of the container recipe.
  6997  	Owner *string `locationName:"owner" min:"1" type:"string"`
  6998  
  6999  	// The base image for the container recipe.
  7000  	ParentImage *string `locationName:"parentImage" min:"1" type:"string"`
  7001  
  7002  	// The system platform for the container, such as Windows or Linux.
  7003  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
  7004  
  7005  	// Tags that are attached to the container recipe.
  7006  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7007  
  7008  	// The destination repository for the container image.
  7009  	TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure"`
  7010  
  7011  	// The semantic version of the container recipe.
  7012  	//
  7013  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  7014  	// can assign values for the first three, and can filter on all of them.
  7015  	//
  7016  	// Assignment: For the first three nodes you can assign any positive integer
  7017  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
  7018  	// node. Image Builder automatically assigns the build number to the fourth
  7019  	// node.
  7020  	//
  7021  	// Patterns: You can use any numeric pattern that adheres to the assignment
  7022  	// requirements for the nodes that you can assign. For example, you might choose
  7023  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
  7024  	//
  7025  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
  7026  	// (x) to specify the most recent versions or nodes when selecting the base
  7027  	// image or components for your recipe. When you use a wildcard in any node,
  7028  	// all nodes to the right of the first wildcard must also be wildcards.
  7029  	Version *string `locationName:"version" type:"string"`
  7030  
  7031  	// The working directory for use during build and test workflows.
  7032  	WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"`
  7033  }
  7034  
  7035  // String returns the string representation.
  7036  //
  7037  // API parameter values that are decorated as "sensitive" in the API will not
  7038  // be included in the string output. The member name will be present, but the
  7039  // value will be replaced with "sensitive".
  7040  func (s ContainerRecipe) String() string {
  7041  	return awsutil.Prettify(s)
  7042  }
  7043  
  7044  // GoString returns the string representation.
  7045  //
  7046  // API parameter values that are decorated as "sensitive" in the API will not
  7047  // be included in the string output. The member name will be present, but the
  7048  // value will be replaced with "sensitive".
  7049  func (s ContainerRecipe) GoString() string {
  7050  	return s.String()
  7051  }
  7052  
  7053  // SetArn sets the Arn field's value.
  7054  func (s *ContainerRecipe) SetArn(v string) *ContainerRecipe {
  7055  	s.Arn = &v
  7056  	return s
  7057  }
  7058  
  7059  // SetComponents sets the Components field's value.
  7060  func (s *ContainerRecipe) SetComponents(v []*ComponentConfiguration) *ContainerRecipe {
  7061  	s.Components = v
  7062  	return s
  7063  }
  7064  
  7065  // SetContainerType sets the ContainerType field's value.
  7066  func (s *ContainerRecipe) SetContainerType(v string) *ContainerRecipe {
  7067  	s.ContainerType = &v
  7068  	return s
  7069  }
  7070  
  7071  // SetDateCreated sets the DateCreated field's value.
  7072  func (s *ContainerRecipe) SetDateCreated(v string) *ContainerRecipe {
  7073  	s.DateCreated = &v
  7074  	return s
  7075  }
  7076  
  7077  // SetDescription sets the Description field's value.
  7078  func (s *ContainerRecipe) SetDescription(v string) *ContainerRecipe {
  7079  	s.Description = &v
  7080  	return s
  7081  }
  7082  
  7083  // SetDockerfileTemplateData sets the DockerfileTemplateData field's value.
  7084  func (s *ContainerRecipe) SetDockerfileTemplateData(v string) *ContainerRecipe {
  7085  	s.DockerfileTemplateData = &v
  7086  	return s
  7087  }
  7088  
  7089  // SetEncrypted sets the Encrypted field's value.
  7090  func (s *ContainerRecipe) SetEncrypted(v bool) *ContainerRecipe {
  7091  	s.Encrypted = &v
  7092  	return s
  7093  }
  7094  
  7095  // SetInstanceConfiguration sets the InstanceConfiguration field's value.
  7096  func (s *ContainerRecipe) SetInstanceConfiguration(v *InstanceConfiguration) *ContainerRecipe {
  7097  	s.InstanceConfiguration = v
  7098  	return s
  7099  }
  7100  
  7101  // SetKmsKeyId sets the KmsKeyId field's value.
  7102  func (s *ContainerRecipe) SetKmsKeyId(v string) *ContainerRecipe {
  7103  	s.KmsKeyId = &v
  7104  	return s
  7105  }
  7106  
  7107  // SetName sets the Name field's value.
  7108  func (s *ContainerRecipe) SetName(v string) *ContainerRecipe {
  7109  	s.Name = &v
  7110  	return s
  7111  }
  7112  
  7113  // SetOwner sets the Owner field's value.
  7114  func (s *ContainerRecipe) SetOwner(v string) *ContainerRecipe {
  7115  	s.Owner = &v
  7116  	return s
  7117  }
  7118  
  7119  // SetParentImage sets the ParentImage field's value.
  7120  func (s *ContainerRecipe) SetParentImage(v string) *ContainerRecipe {
  7121  	s.ParentImage = &v
  7122  	return s
  7123  }
  7124  
  7125  // SetPlatform sets the Platform field's value.
  7126  func (s *ContainerRecipe) SetPlatform(v string) *ContainerRecipe {
  7127  	s.Platform = &v
  7128  	return s
  7129  }
  7130  
  7131  // SetTags sets the Tags field's value.
  7132  func (s *ContainerRecipe) SetTags(v map[string]*string) *ContainerRecipe {
  7133  	s.Tags = v
  7134  	return s
  7135  }
  7136  
  7137  // SetTargetRepository sets the TargetRepository field's value.
  7138  func (s *ContainerRecipe) SetTargetRepository(v *TargetContainerRepository) *ContainerRecipe {
  7139  	s.TargetRepository = v
  7140  	return s
  7141  }
  7142  
  7143  // SetVersion sets the Version field's value.
  7144  func (s *ContainerRecipe) SetVersion(v string) *ContainerRecipe {
  7145  	s.Version = &v
  7146  	return s
  7147  }
  7148  
  7149  // SetWorkingDirectory sets the WorkingDirectory field's value.
  7150  func (s *ContainerRecipe) SetWorkingDirectory(v string) *ContainerRecipe {
  7151  	s.WorkingDirectory = &v
  7152  	return s
  7153  }
  7154  
  7155  // A summary of a container recipe
  7156  type ContainerRecipeSummary struct {
  7157  	_ struct{} `type:"structure"`
  7158  
  7159  	// The Amazon Resource Name (ARN) of the container recipe.
  7160  	Arn *string `locationName:"arn" type:"string"`
  7161  
  7162  	// Specifies the type of container, such as "Docker".
  7163  	ContainerType *string `locationName:"containerType" type:"string" enum:"ContainerType"`
  7164  
  7165  	// The date when this container recipe was created.
  7166  	DateCreated *string `locationName:"dateCreated" type:"string"`
  7167  
  7168  	// The name of the container recipe.
  7169  	Name *string `locationName:"name" type:"string"`
  7170  
  7171  	// The owner of the container recipe.
  7172  	Owner *string `locationName:"owner" min:"1" type:"string"`
  7173  
  7174  	// The base image for the container recipe.
  7175  	ParentImage *string `locationName:"parentImage" min:"1" type:"string"`
  7176  
  7177  	// The system platform for the container, such as Windows or Linux.
  7178  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
  7179  
  7180  	// Tags that are attached to the container recipe.
  7181  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7182  }
  7183  
  7184  // String returns the string representation.
  7185  //
  7186  // API parameter values that are decorated as "sensitive" in the API will not
  7187  // be included in the string output. The member name will be present, but the
  7188  // value will be replaced with "sensitive".
  7189  func (s ContainerRecipeSummary) String() string {
  7190  	return awsutil.Prettify(s)
  7191  }
  7192  
  7193  // GoString returns the string representation.
  7194  //
  7195  // API parameter values that are decorated as "sensitive" in the API will not
  7196  // be included in the string output. The member name will be present, but the
  7197  // value will be replaced with "sensitive".
  7198  func (s ContainerRecipeSummary) GoString() string {
  7199  	return s.String()
  7200  }
  7201  
  7202  // SetArn sets the Arn field's value.
  7203  func (s *ContainerRecipeSummary) SetArn(v string) *ContainerRecipeSummary {
  7204  	s.Arn = &v
  7205  	return s
  7206  }
  7207  
  7208  // SetContainerType sets the ContainerType field's value.
  7209  func (s *ContainerRecipeSummary) SetContainerType(v string) *ContainerRecipeSummary {
  7210  	s.ContainerType = &v
  7211  	return s
  7212  }
  7213  
  7214  // SetDateCreated sets the DateCreated field's value.
  7215  func (s *ContainerRecipeSummary) SetDateCreated(v string) *ContainerRecipeSummary {
  7216  	s.DateCreated = &v
  7217  	return s
  7218  }
  7219  
  7220  // SetName sets the Name field's value.
  7221  func (s *ContainerRecipeSummary) SetName(v string) *ContainerRecipeSummary {
  7222  	s.Name = &v
  7223  	return s
  7224  }
  7225  
  7226  // SetOwner sets the Owner field's value.
  7227  func (s *ContainerRecipeSummary) SetOwner(v string) *ContainerRecipeSummary {
  7228  	s.Owner = &v
  7229  	return s
  7230  }
  7231  
  7232  // SetParentImage sets the ParentImage field's value.
  7233  func (s *ContainerRecipeSummary) SetParentImage(v string) *ContainerRecipeSummary {
  7234  	s.ParentImage = &v
  7235  	return s
  7236  }
  7237  
  7238  // SetPlatform sets the Platform field's value.
  7239  func (s *ContainerRecipeSummary) SetPlatform(v string) *ContainerRecipeSummary {
  7240  	s.Platform = &v
  7241  	return s
  7242  }
  7243  
  7244  // SetTags sets the Tags field's value.
  7245  func (s *ContainerRecipeSummary) SetTags(v map[string]*string) *ContainerRecipeSummary {
  7246  	s.Tags = v
  7247  	return s
  7248  }
  7249  
  7250  type CreateComponentInput struct {
  7251  	_ struct{} `type:"structure"`
  7252  
  7253  	// The change description of the component. Describes what change has been made
  7254  	// in this version, or what makes this version different from other versions
  7255  	// of this component.
  7256  	ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"`
  7257  
  7258  	// The idempotency token of the component.
  7259  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  7260  
  7261  	// The data of the component. Used to specify the data inline. Either data or
  7262  	// uri can be used to specify the data within the component.
  7263  	Data *string `locationName:"data" min:"1" type:"string"`
  7264  
  7265  	// The description of the component. Describes the contents of the component.
  7266  	Description *string `locationName:"description" min:"1" type:"string"`
  7267  
  7268  	// The ID of the KMS key that should be used to encrypt this component.
  7269  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  7270  
  7271  	// The name of the component.
  7272  	//
  7273  	// Name is a required field
  7274  	Name *string `locationName:"name" type:"string" required:"true"`
  7275  
  7276  	// The platform of the component.
  7277  	//
  7278  	// Platform is a required field
  7279  	Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"`
  7280  
  7281  	// The semantic version of the component. This version follows the semantic
  7282  	// version syntax.
  7283  	//
  7284  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  7285  	// can assign values for the first three, and can filter on all of them.
  7286  	//
  7287  	// Assignment: For the first three nodes you can assign any positive integer
  7288  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
  7289  	// node. Image Builder automatically assigns the build number to the fourth
  7290  	// node.
  7291  	//
  7292  	// Patterns: You can use any numeric pattern that adheres to the assignment
  7293  	// requirements for the nodes that you can assign. For example, you might choose
  7294  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
  7295  	//
  7296  	// SemanticVersion is a required field
  7297  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  7298  
  7299  	// The operating system (OS) version supported by the component. If the OS information
  7300  	// is available, a prefix match is performed against the base image OS version
  7301  	// during image recipe creation.
  7302  	SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"`
  7303  
  7304  	// The tags of the component.
  7305  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7306  
  7307  	// The uri of the component. Must be an Amazon S3 URL and the requester must
  7308  	// have permission to access the Amazon S3 bucket. If you use Amazon S3, you
  7309  	// can specify component content up to your service quota. Either data or uri
  7310  	// can be used to specify the data within the component.
  7311  	Uri *string `locationName:"uri" type:"string"`
  7312  }
  7313  
  7314  // String returns the string representation.
  7315  //
  7316  // API parameter values that are decorated as "sensitive" in the API will not
  7317  // be included in the string output. The member name will be present, but the
  7318  // value will be replaced with "sensitive".
  7319  func (s CreateComponentInput) String() string {
  7320  	return awsutil.Prettify(s)
  7321  }
  7322  
  7323  // GoString returns the string representation.
  7324  //
  7325  // API parameter values that are decorated as "sensitive" in the API will not
  7326  // be included in the string output. The member name will be present, but the
  7327  // value will be replaced with "sensitive".
  7328  func (s CreateComponentInput) GoString() string {
  7329  	return s.String()
  7330  }
  7331  
  7332  // Validate inspects the fields of the type to determine if they are valid.
  7333  func (s *CreateComponentInput) Validate() error {
  7334  	invalidParams := request.ErrInvalidParams{Context: "CreateComponentInput"}
  7335  	if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 {
  7336  		invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1))
  7337  	}
  7338  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  7339  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  7340  	}
  7341  	if s.Data != nil && len(*s.Data) < 1 {
  7342  		invalidParams.Add(request.NewErrParamMinLen("Data", 1))
  7343  	}
  7344  	if s.Description != nil && len(*s.Description) < 1 {
  7345  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7346  	}
  7347  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  7348  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  7349  	}
  7350  	if s.Name == nil {
  7351  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7352  	}
  7353  	if s.Platform == nil {
  7354  		invalidParams.Add(request.NewErrParamRequired("Platform"))
  7355  	}
  7356  	if s.SemanticVersion == nil {
  7357  		invalidParams.Add(request.NewErrParamRequired("SemanticVersion"))
  7358  	}
  7359  	if s.SupportedOsVersions != nil && len(s.SupportedOsVersions) < 1 {
  7360  		invalidParams.Add(request.NewErrParamMinLen("SupportedOsVersions", 1))
  7361  	}
  7362  	if s.Tags != nil && len(s.Tags) < 1 {
  7363  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7364  	}
  7365  
  7366  	if invalidParams.Len() > 0 {
  7367  		return invalidParams
  7368  	}
  7369  	return nil
  7370  }
  7371  
  7372  // SetChangeDescription sets the ChangeDescription field's value.
  7373  func (s *CreateComponentInput) SetChangeDescription(v string) *CreateComponentInput {
  7374  	s.ChangeDescription = &v
  7375  	return s
  7376  }
  7377  
  7378  // SetClientToken sets the ClientToken field's value.
  7379  func (s *CreateComponentInput) SetClientToken(v string) *CreateComponentInput {
  7380  	s.ClientToken = &v
  7381  	return s
  7382  }
  7383  
  7384  // SetData sets the Data field's value.
  7385  func (s *CreateComponentInput) SetData(v string) *CreateComponentInput {
  7386  	s.Data = &v
  7387  	return s
  7388  }
  7389  
  7390  // SetDescription sets the Description field's value.
  7391  func (s *CreateComponentInput) SetDescription(v string) *CreateComponentInput {
  7392  	s.Description = &v
  7393  	return s
  7394  }
  7395  
  7396  // SetKmsKeyId sets the KmsKeyId field's value.
  7397  func (s *CreateComponentInput) SetKmsKeyId(v string) *CreateComponentInput {
  7398  	s.KmsKeyId = &v
  7399  	return s
  7400  }
  7401  
  7402  // SetName sets the Name field's value.
  7403  func (s *CreateComponentInput) SetName(v string) *CreateComponentInput {
  7404  	s.Name = &v
  7405  	return s
  7406  }
  7407  
  7408  // SetPlatform sets the Platform field's value.
  7409  func (s *CreateComponentInput) SetPlatform(v string) *CreateComponentInput {
  7410  	s.Platform = &v
  7411  	return s
  7412  }
  7413  
  7414  // SetSemanticVersion sets the SemanticVersion field's value.
  7415  func (s *CreateComponentInput) SetSemanticVersion(v string) *CreateComponentInput {
  7416  	s.SemanticVersion = &v
  7417  	return s
  7418  }
  7419  
  7420  // SetSupportedOsVersions sets the SupportedOsVersions field's value.
  7421  func (s *CreateComponentInput) SetSupportedOsVersions(v []*string) *CreateComponentInput {
  7422  	s.SupportedOsVersions = v
  7423  	return s
  7424  }
  7425  
  7426  // SetTags sets the Tags field's value.
  7427  func (s *CreateComponentInput) SetTags(v map[string]*string) *CreateComponentInput {
  7428  	s.Tags = v
  7429  	return s
  7430  }
  7431  
  7432  // SetUri sets the Uri field's value.
  7433  func (s *CreateComponentInput) SetUri(v string) *CreateComponentInput {
  7434  	s.Uri = &v
  7435  	return s
  7436  }
  7437  
  7438  type CreateComponentOutput struct {
  7439  	_ struct{} `type:"structure"`
  7440  
  7441  	// The idempotency token used to make this request idempotent.
  7442  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  7443  
  7444  	// The Amazon Resource Name (ARN) of the component that was created by this
  7445  	// request.
  7446  	ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"`
  7447  
  7448  	// The request ID that uniquely identifies this request.
  7449  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  7450  }
  7451  
  7452  // String returns the string representation.
  7453  //
  7454  // API parameter values that are decorated as "sensitive" in the API will not
  7455  // be included in the string output. The member name will be present, but the
  7456  // value will be replaced with "sensitive".
  7457  func (s CreateComponentOutput) String() string {
  7458  	return awsutil.Prettify(s)
  7459  }
  7460  
  7461  // GoString returns the string representation.
  7462  //
  7463  // API parameter values that are decorated as "sensitive" in the API will not
  7464  // be included in the string output. The member name will be present, but the
  7465  // value will be replaced with "sensitive".
  7466  func (s CreateComponentOutput) GoString() string {
  7467  	return s.String()
  7468  }
  7469  
  7470  // SetClientToken sets the ClientToken field's value.
  7471  func (s *CreateComponentOutput) SetClientToken(v string) *CreateComponentOutput {
  7472  	s.ClientToken = &v
  7473  	return s
  7474  }
  7475  
  7476  // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value.
  7477  func (s *CreateComponentOutput) SetComponentBuildVersionArn(v string) *CreateComponentOutput {
  7478  	s.ComponentBuildVersionArn = &v
  7479  	return s
  7480  }
  7481  
  7482  // SetRequestId sets the RequestId field's value.
  7483  func (s *CreateComponentOutput) SetRequestId(v string) *CreateComponentOutput {
  7484  	s.RequestId = &v
  7485  	return s
  7486  }
  7487  
  7488  type CreateContainerRecipeInput struct {
  7489  	_ struct{} `type:"structure"`
  7490  
  7491  	// The client token used to make this request idempotent.
  7492  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  7493  
  7494  	// Components for build and test that are included in the container recipe.
  7495  	//
  7496  	// Components is a required field
  7497  	Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"`
  7498  
  7499  	// The type of container to create.
  7500  	//
  7501  	// ContainerType is a required field
  7502  	ContainerType *string `locationName:"containerType" type:"string" required:"true" enum:"ContainerType"`
  7503  
  7504  	// The description of the container recipe.
  7505  	Description *string `locationName:"description" min:"1" type:"string"`
  7506  
  7507  	// The Dockerfile template used to build your image as an inline data blob.
  7508  	DockerfileTemplateData *string `locationName:"dockerfileTemplateData" min:"1" type:"string"`
  7509  
  7510  	// The Amazon S3 URI for the Dockerfile that will be used to build your container
  7511  	// image.
  7512  	DockerfileTemplateUri *string `locationName:"dockerfileTemplateUri" type:"string"`
  7513  
  7514  	// Specifies the operating system version for the base image.
  7515  	ImageOsVersionOverride *string `locationName:"imageOsVersionOverride" min:"1" type:"string"`
  7516  
  7517  	// A group of options that can be used to configure an instance for building
  7518  	// and testing container images.
  7519  	InstanceConfiguration *InstanceConfiguration `locationName:"instanceConfiguration" type:"structure"`
  7520  
  7521  	// Identifies which KMS key is used to encrypt the container image.
  7522  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  7523  
  7524  	// The name of the container recipe.
  7525  	//
  7526  	// Name is a required field
  7527  	Name *string `locationName:"name" type:"string" required:"true"`
  7528  
  7529  	// The base image for the container recipe.
  7530  	//
  7531  	// ParentImage is a required field
  7532  	ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"`
  7533  
  7534  	// Specifies the operating system platform when you use a custom base image.
  7535  	PlatformOverride *string `locationName:"platformOverride" type:"string" enum:"Platform"`
  7536  
  7537  	// The semantic version of the container recipe. This version follows the semantic
  7538  	// version syntax.
  7539  	//
  7540  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  7541  	// can assign values for the first three, and can filter on all of them.
  7542  	//
  7543  	// Assignment: For the first three nodes you can assign any positive integer
  7544  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
  7545  	// node. Image Builder automatically assigns the build number to the fourth
  7546  	// node.
  7547  	//
  7548  	// Patterns: You can use any numeric pattern that adheres to the assignment
  7549  	// requirements for the nodes that you can assign. For example, you might choose
  7550  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
  7551  	//
  7552  	// SemanticVersion is a required field
  7553  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  7554  
  7555  	// Tags that are attached to the container recipe.
  7556  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7557  
  7558  	// The destination repository for the container image.
  7559  	//
  7560  	// TargetRepository is a required field
  7561  	TargetRepository *TargetContainerRepository `locationName:"targetRepository" type:"structure" required:"true"`
  7562  
  7563  	// The working directory for use during build and test workflows.
  7564  	WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"`
  7565  }
  7566  
  7567  // String returns the string representation.
  7568  //
  7569  // API parameter values that are decorated as "sensitive" in the API will not
  7570  // be included in the string output. The member name will be present, but the
  7571  // value will be replaced with "sensitive".
  7572  func (s CreateContainerRecipeInput) String() string {
  7573  	return awsutil.Prettify(s)
  7574  }
  7575  
  7576  // GoString returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s CreateContainerRecipeInput) GoString() string {
  7582  	return s.String()
  7583  }
  7584  
  7585  // Validate inspects the fields of the type to determine if they are valid.
  7586  func (s *CreateContainerRecipeInput) Validate() error {
  7587  	invalidParams := request.ErrInvalidParams{Context: "CreateContainerRecipeInput"}
  7588  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  7589  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  7590  	}
  7591  	if s.Components == nil {
  7592  		invalidParams.Add(request.NewErrParamRequired("Components"))
  7593  	}
  7594  	if s.Components != nil && len(s.Components) < 1 {
  7595  		invalidParams.Add(request.NewErrParamMinLen("Components", 1))
  7596  	}
  7597  	if s.ContainerType == nil {
  7598  		invalidParams.Add(request.NewErrParamRequired("ContainerType"))
  7599  	}
  7600  	if s.Description != nil && len(*s.Description) < 1 {
  7601  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7602  	}
  7603  	if s.DockerfileTemplateData != nil && len(*s.DockerfileTemplateData) < 1 {
  7604  		invalidParams.Add(request.NewErrParamMinLen("DockerfileTemplateData", 1))
  7605  	}
  7606  	if s.ImageOsVersionOverride != nil && len(*s.ImageOsVersionOverride) < 1 {
  7607  		invalidParams.Add(request.NewErrParamMinLen("ImageOsVersionOverride", 1))
  7608  	}
  7609  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  7610  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  7611  	}
  7612  	if s.Name == nil {
  7613  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7614  	}
  7615  	if s.ParentImage == nil {
  7616  		invalidParams.Add(request.NewErrParamRequired("ParentImage"))
  7617  	}
  7618  	if s.ParentImage != nil && len(*s.ParentImage) < 1 {
  7619  		invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1))
  7620  	}
  7621  	if s.SemanticVersion == nil {
  7622  		invalidParams.Add(request.NewErrParamRequired("SemanticVersion"))
  7623  	}
  7624  	if s.Tags != nil && len(s.Tags) < 1 {
  7625  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7626  	}
  7627  	if s.TargetRepository == nil {
  7628  		invalidParams.Add(request.NewErrParamRequired("TargetRepository"))
  7629  	}
  7630  	if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 {
  7631  		invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1))
  7632  	}
  7633  	if s.Components != nil {
  7634  		for i, v := range s.Components {
  7635  			if v == nil {
  7636  				continue
  7637  			}
  7638  			if err := v.Validate(); err != nil {
  7639  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams))
  7640  			}
  7641  		}
  7642  	}
  7643  	if s.InstanceConfiguration != nil {
  7644  		if err := s.InstanceConfiguration.Validate(); err != nil {
  7645  			invalidParams.AddNested("InstanceConfiguration", err.(request.ErrInvalidParams))
  7646  		}
  7647  	}
  7648  	if s.TargetRepository != nil {
  7649  		if err := s.TargetRepository.Validate(); err != nil {
  7650  			invalidParams.AddNested("TargetRepository", err.(request.ErrInvalidParams))
  7651  		}
  7652  	}
  7653  
  7654  	if invalidParams.Len() > 0 {
  7655  		return invalidParams
  7656  	}
  7657  	return nil
  7658  }
  7659  
  7660  // SetClientToken sets the ClientToken field's value.
  7661  func (s *CreateContainerRecipeInput) SetClientToken(v string) *CreateContainerRecipeInput {
  7662  	s.ClientToken = &v
  7663  	return s
  7664  }
  7665  
  7666  // SetComponents sets the Components field's value.
  7667  func (s *CreateContainerRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateContainerRecipeInput {
  7668  	s.Components = v
  7669  	return s
  7670  }
  7671  
  7672  // SetContainerType sets the ContainerType field's value.
  7673  func (s *CreateContainerRecipeInput) SetContainerType(v string) *CreateContainerRecipeInput {
  7674  	s.ContainerType = &v
  7675  	return s
  7676  }
  7677  
  7678  // SetDescription sets the Description field's value.
  7679  func (s *CreateContainerRecipeInput) SetDescription(v string) *CreateContainerRecipeInput {
  7680  	s.Description = &v
  7681  	return s
  7682  }
  7683  
  7684  // SetDockerfileTemplateData sets the DockerfileTemplateData field's value.
  7685  func (s *CreateContainerRecipeInput) SetDockerfileTemplateData(v string) *CreateContainerRecipeInput {
  7686  	s.DockerfileTemplateData = &v
  7687  	return s
  7688  }
  7689  
  7690  // SetDockerfileTemplateUri sets the DockerfileTemplateUri field's value.
  7691  func (s *CreateContainerRecipeInput) SetDockerfileTemplateUri(v string) *CreateContainerRecipeInput {
  7692  	s.DockerfileTemplateUri = &v
  7693  	return s
  7694  }
  7695  
  7696  // SetImageOsVersionOverride sets the ImageOsVersionOverride field's value.
  7697  func (s *CreateContainerRecipeInput) SetImageOsVersionOverride(v string) *CreateContainerRecipeInput {
  7698  	s.ImageOsVersionOverride = &v
  7699  	return s
  7700  }
  7701  
  7702  // SetInstanceConfiguration sets the InstanceConfiguration field's value.
  7703  func (s *CreateContainerRecipeInput) SetInstanceConfiguration(v *InstanceConfiguration) *CreateContainerRecipeInput {
  7704  	s.InstanceConfiguration = v
  7705  	return s
  7706  }
  7707  
  7708  // SetKmsKeyId sets the KmsKeyId field's value.
  7709  func (s *CreateContainerRecipeInput) SetKmsKeyId(v string) *CreateContainerRecipeInput {
  7710  	s.KmsKeyId = &v
  7711  	return s
  7712  }
  7713  
  7714  // SetName sets the Name field's value.
  7715  func (s *CreateContainerRecipeInput) SetName(v string) *CreateContainerRecipeInput {
  7716  	s.Name = &v
  7717  	return s
  7718  }
  7719  
  7720  // SetParentImage sets the ParentImage field's value.
  7721  func (s *CreateContainerRecipeInput) SetParentImage(v string) *CreateContainerRecipeInput {
  7722  	s.ParentImage = &v
  7723  	return s
  7724  }
  7725  
  7726  // SetPlatformOverride sets the PlatformOverride field's value.
  7727  func (s *CreateContainerRecipeInput) SetPlatformOverride(v string) *CreateContainerRecipeInput {
  7728  	s.PlatformOverride = &v
  7729  	return s
  7730  }
  7731  
  7732  // SetSemanticVersion sets the SemanticVersion field's value.
  7733  func (s *CreateContainerRecipeInput) SetSemanticVersion(v string) *CreateContainerRecipeInput {
  7734  	s.SemanticVersion = &v
  7735  	return s
  7736  }
  7737  
  7738  // SetTags sets the Tags field's value.
  7739  func (s *CreateContainerRecipeInput) SetTags(v map[string]*string) *CreateContainerRecipeInput {
  7740  	s.Tags = v
  7741  	return s
  7742  }
  7743  
  7744  // SetTargetRepository sets the TargetRepository field's value.
  7745  func (s *CreateContainerRecipeInput) SetTargetRepository(v *TargetContainerRepository) *CreateContainerRecipeInput {
  7746  	s.TargetRepository = v
  7747  	return s
  7748  }
  7749  
  7750  // SetWorkingDirectory sets the WorkingDirectory field's value.
  7751  func (s *CreateContainerRecipeInput) SetWorkingDirectory(v string) *CreateContainerRecipeInput {
  7752  	s.WorkingDirectory = &v
  7753  	return s
  7754  }
  7755  
  7756  type CreateContainerRecipeOutput struct {
  7757  	_ struct{} `type:"structure"`
  7758  
  7759  	// The client token used to make this request idempotent.
  7760  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  7761  
  7762  	// Returns the Amazon Resource Name (ARN) of the container recipe that the request
  7763  	// created.
  7764  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
  7765  
  7766  	// The request ID that uniquely identifies this request.
  7767  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  7768  }
  7769  
  7770  // String returns the string representation.
  7771  //
  7772  // API parameter values that are decorated as "sensitive" in the API will not
  7773  // be included in the string output. The member name will be present, but the
  7774  // value will be replaced with "sensitive".
  7775  func (s CreateContainerRecipeOutput) String() string {
  7776  	return awsutil.Prettify(s)
  7777  }
  7778  
  7779  // GoString returns the string representation.
  7780  //
  7781  // API parameter values that are decorated as "sensitive" in the API will not
  7782  // be included in the string output. The member name will be present, but the
  7783  // value will be replaced with "sensitive".
  7784  func (s CreateContainerRecipeOutput) GoString() string {
  7785  	return s.String()
  7786  }
  7787  
  7788  // SetClientToken sets the ClientToken field's value.
  7789  func (s *CreateContainerRecipeOutput) SetClientToken(v string) *CreateContainerRecipeOutput {
  7790  	s.ClientToken = &v
  7791  	return s
  7792  }
  7793  
  7794  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
  7795  func (s *CreateContainerRecipeOutput) SetContainerRecipeArn(v string) *CreateContainerRecipeOutput {
  7796  	s.ContainerRecipeArn = &v
  7797  	return s
  7798  }
  7799  
  7800  // SetRequestId sets the RequestId field's value.
  7801  func (s *CreateContainerRecipeOutput) SetRequestId(v string) *CreateContainerRecipeOutput {
  7802  	s.RequestId = &v
  7803  	return s
  7804  }
  7805  
  7806  type CreateDistributionConfigurationInput struct {
  7807  	_ struct{} `type:"structure"`
  7808  
  7809  	// The idempotency token of the distribution configuration.
  7810  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  7811  
  7812  	// The description of the distribution configuration.
  7813  	Description *string `locationName:"description" min:"1" type:"string"`
  7814  
  7815  	// The distributions of the distribution configuration.
  7816  	//
  7817  	// Distributions is a required field
  7818  	Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"`
  7819  
  7820  	// The name of the distribution configuration.
  7821  	//
  7822  	// Name is a required field
  7823  	Name *string `locationName:"name" type:"string" required:"true"`
  7824  
  7825  	// The tags of the distribution configuration.
  7826  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7827  }
  7828  
  7829  // String returns the string representation.
  7830  //
  7831  // API parameter values that are decorated as "sensitive" in the API will not
  7832  // be included in the string output. The member name will be present, but the
  7833  // value will be replaced with "sensitive".
  7834  func (s CreateDistributionConfigurationInput) String() string {
  7835  	return awsutil.Prettify(s)
  7836  }
  7837  
  7838  // GoString returns the string representation.
  7839  //
  7840  // API parameter values that are decorated as "sensitive" in the API will not
  7841  // be included in the string output. The member name will be present, but the
  7842  // value will be replaced with "sensitive".
  7843  func (s CreateDistributionConfigurationInput) GoString() string {
  7844  	return s.String()
  7845  }
  7846  
  7847  // Validate inspects the fields of the type to determine if they are valid.
  7848  func (s *CreateDistributionConfigurationInput) Validate() error {
  7849  	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionConfigurationInput"}
  7850  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  7851  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  7852  	}
  7853  	if s.Description != nil && len(*s.Description) < 1 {
  7854  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7855  	}
  7856  	if s.Distributions == nil {
  7857  		invalidParams.Add(request.NewErrParamRequired("Distributions"))
  7858  	}
  7859  	if s.Name == nil {
  7860  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7861  	}
  7862  	if s.Tags != nil && len(s.Tags) < 1 {
  7863  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7864  	}
  7865  	if s.Distributions != nil {
  7866  		for i, v := range s.Distributions {
  7867  			if v == nil {
  7868  				continue
  7869  			}
  7870  			if err := v.Validate(); err != nil {
  7871  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams))
  7872  			}
  7873  		}
  7874  	}
  7875  
  7876  	if invalidParams.Len() > 0 {
  7877  		return invalidParams
  7878  	}
  7879  	return nil
  7880  }
  7881  
  7882  // SetClientToken sets the ClientToken field's value.
  7883  func (s *CreateDistributionConfigurationInput) SetClientToken(v string) *CreateDistributionConfigurationInput {
  7884  	s.ClientToken = &v
  7885  	return s
  7886  }
  7887  
  7888  // SetDescription sets the Description field's value.
  7889  func (s *CreateDistributionConfigurationInput) SetDescription(v string) *CreateDistributionConfigurationInput {
  7890  	s.Description = &v
  7891  	return s
  7892  }
  7893  
  7894  // SetDistributions sets the Distributions field's value.
  7895  func (s *CreateDistributionConfigurationInput) SetDistributions(v []*Distribution) *CreateDistributionConfigurationInput {
  7896  	s.Distributions = v
  7897  	return s
  7898  }
  7899  
  7900  // SetName sets the Name field's value.
  7901  func (s *CreateDistributionConfigurationInput) SetName(v string) *CreateDistributionConfigurationInput {
  7902  	s.Name = &v
  7903  	return s
  7904  }
  7905  
  7906  // SetTags sets the Tags field's value.
  7907  func (s *CreateDistributionConfigurationInput) SetTags(v map[string]*string) *CreateDistributionConfigurationInput {
  7908  	s.Tags = v
  7909  	return s
  7910  }
  7911  
  7912  type CreateDistributionConfigurationOutput struct {
  7913  	_ struct{} `type:"structure"`
  7914  
  7915  	// The idempotency token used to make this request idempotent.
  7916  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  7917  
  7918  	// The Amazon Resource Name (ARN) of the distribution configuration that was
  7919  	// created by this request.
  7920  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
  7921  
  7922  	// The request ID that uniquely identifies this request.
  7923  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  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 CreateDistributionConfigurationOutput) 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 CreateDistributionConfigurationOutput) GoString() string {
  7941  	return s.String()
  7942  }
  7943  
  7944  // SetClientToken sets the ClientToken field's value.
  7945  func (s *CreateDistributionConfigurationOutput) SetClientToken(v string) *CreateDistributionConfigurationOutput {
  7946  	s.ClientToken = &v
  7947  	return s
  7948  }
  7949  
  7950  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
  7951  func (s *CreateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *CreateDistributionConfigurationOutput {
  7952  	s.DistributionConfigurationArn = &v
  7953  	return s
  7954  }
  7955  
  7956  // SetRequestId sets the RequestId field's value.
  7957  func (s *CreateDistributionConfigurationOutput) SetRequestId(v string) *CreateDistributionConfigurationOutput {
  7958  	s.RequestId = &v
  7959  	return s
  7960  }
  7961  
  7962  type CreateImageInput struct {
  7963  	_ struct{} `type:"structure"`
  7964  
  7965  	// The idempotency token used to make this request idempotent.
  7966  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  7967  
  7968  	// The Amazon Resource Name (ARN) of the container recipe that defines how images
  7969  	// are configured and tested.
  7970  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
  7971  
  7972  	// The Amazon Resource Name (ARN) of the distribution configuration that defines
  7973  	// and configures the outputs of your pipeline.
  7974  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
  7975  
  7976  	// Collects additional information about the image being created, including
  7977  	// the operating system (OS) version and package list. This information is used
  7978  	// to enhance the overall experience of using EC2 Image Builder. Enabled by
  7979  	// default.
  7980  	EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"`
  7981  
  7982  	// The Amazon Resource Name (ARN) of the image recipe that defines how images
  7983  	// are configured, tested, and assessed.
  7984  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
  7985  
  7986  	// The image tests configuration of the image.
  7987  	ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"`
  7988  
  7989  	// The Amazon Resource Name (ARN) of the infrastructure configuration that defines
  7990  	// the environment in which your image will be built and tested.
  7991  	//
  7992  	// InfrastructureConfigurationArn is a required field
  7993  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
  7994  
  7995  	// The tags of the image.
  7996  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7997  }
  7998  
  7999  // String returns the string representation.
  8000  //
  8001  // API parameter values that are decorated as "sensitive" in the API will not
  8002  // be included in the string output. The member name will be present, but the
  8003  // value will be replaced with "sensitive".
  8004  func (s CreateImageInput) String() string {
  8005  	return awsutil.Prettify(s)
  8006  }
  8007  
  8008  // GoString returns the string representation.
  8009  //
  8010  // API parameter values that are decorated as "sensitive" in the API will not
  8011  // be included in the string output. The member name will be present, but the
  8012  // value will be replaced with "sensitive".
  8013  func (s CreateImageInput) GoString() string {
  8014  	return s.String()
  8015  }
  8016  
  8017  // Validate inspects the fields of the type to determine if they are valid.
  8018  func (s *CreateImageInput) Validate() error {
  8019  	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  8020  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  8021  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  8022  	}
  8023  	if s.InfrastructureConfigurationArn == nil {
  8024  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
  8025  	}
  8026  	if s.Tags != nil && len(s.Tags) < 1 {
  8027  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8028  	}
  8029  	if s.ImageTestsConfiguration != nil {
  8030  		if err := s.ImageTestsConfiguration.Validate(); err != nil {
  8031  			invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams))
  8032  		}
  8033  	}
  8034  
  8035  	if invalidParams.Len() > 0 {
  8036  		return invalidParams
  8037  	}
  8038  	return nil
  8039  }
  8040  
  8041  // SetClientToken sets the ClientToken field's value.
  8042  func (s *CreateImageInput) SetClientToken(v string) *CreateImageInput {
  8043  	s.ClientToken = &v
  8044  	return s
  8045  }
  8046  
  8047  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
  8048  func (s *CreateImageInput) SetContainerRecipeArn(v string) *CreateImageInput {
  8049  	s.ContainerRecipeArn = &v
  8050  	return s
  8051  }
  8052  
  8053  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
  8054  func (s *CreateImageInput) SetDistributionConfigurationArn(v string) *CreateImageInput {
  8055  	s.DistributionConfigurationArn = &v
  8056  	return s
  8057  }
  8058  
  8059  // SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value.
  8060  func (s *CreateImageInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImageInput {
  8061  	s.EnhancedImageMetadataEnabled = &v
  8062  	return s
  8063  }
  8064  
  8065  // SetImageRecipeArn sets the ImageRecipeArn field's value.
  8066  func (s *CreateImageInput) SetImageRecipeArn(v string) *CreateImageInput {
  8067  	s.ImageRecipeArn = &v
  8068  	return s
  8069  }
  8070  
  8071  // SetImageTestsConfiguration sets the ImageTestsConfiguration field's value.
  8072  func (s *CreateImageInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImageInput {
  8073  	s.ImageTestsConfiguration = v
  8074  	return s
  8075  }
  8076  
  8077  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
  8078  func (s *CreateImageInput) SetInfrastructureConfigurationArn(v string) *CreateImageInput {
  8079  	s.InfrastructureConfigurationArn = &v
  8080  	return s
  8081  }
  8082  
  8083  // SetTags sets the Tags field's value.
  8084  func (s *CreateImageInput) SetTags(v map[string]*string) *CreateImageInput {
  8085  	s.Tags = v
  8086  	return s
  8087  }
  8088  
  8089  type CreateImageOutput struct {
  8090  	_ struct{} `type:"structure"`
  8091  
  8092  	// The idempotency token used to make this request idempotent.
  8093  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  8094  
  8095  	// The Amazon Resource Name (ARN) of the image that was created by this request.
  8096  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"`
  8097  
  8098  	// The request ID that uniquely identifies this request.
  8099  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  8100  }
  8101  
  8102  // String returns the string representation.
  8103  //
  8104  // API parameter values that are decorated as "sensitive" in the API will not
  8105  // be included in the string output. The member name will be present, but the
  8106  // value will be replaced with "sensitive".
  8107  func (s CreateImageOutput) String() string {
  8108  	return awsutil.Prettify(s)
  8109  }
  8110  
  8111  // GoString returns the string representation.
  8112  //
  8113  // API parameter values that are decorated as "sensitive" in the API will not
  8114  // be included in the string output. The member name will be present, but the
  8115  // value will be replaced with "sensitive".
  8116  func (s CreateImageOutput) GoString() string {
  8117  	return s.String()
  8118  }
  8119  
  8120  // SetClientToken sets the ClientToken field's value.
  8121  func (s *CreateImageOutput) SetClientToken(v string) *CreateImageOutput {
  8122  	s.ClientToken = &v
  8123  	return s
  8124  }
  8125  
  8126  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
  8127  func (s *CreateImageOutput) SetImageBuildVersionArn(v string) *CreateImageOutput {
  8128  	s.ImageBuildVersionArn = &v
  8129  	return s
  8130  }
  8131  
  8132  // SetRequestId sets the RequestId field's value.
  8133  func (s *CreateImageOutput) SetRequestId(v string) *CreateImageOutput {
  8134  	s.RequestId = &v
  8135  	return s
  8136  }
  8137  
  8138  type CreateImagePipelineInput struct {
  8139  	_ struct{} `type:"structure"`
  8140  
  8141  	// The idempotency token used to make this request idempotent.
  8142  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  8143  
  8144  	// The Amazon Resource Name (ARN) of the container recipe that is used to configure
  8145  	// images created by this container pipeline.
  8146  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
  8147  
  8148  	// The description of the image pipeline.
  8149  	Description *string `locationName:"description" min:"1" type:"string"`
  8150  
  8151  	// The Amazon Resource Name (ARN) of the distribution configuration that will
  8152  	// be used to configure and distribute images created by this image pipeline.
  8153  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
  8154  
  8155  	// Collects additional information about the image being created, including
  8156  	// the operating system (OS) version and package list. This information is used
  8157  	// to enhance the overall experience of using EC2 Image Builder. Enabled by
  8158  	// default.
  8159  	EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"`
  8160  
  8161  	// The Amazon Resource Name (ARN) of the image recipe that will be used to configure
  8162  	// images created by this image pipeline.
  8163  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
  8164  
  8165  	// The image test configuration of the image pipeline.
  8166  	ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"`
  8167  
  8168  	// The Amazon Resource Name (ARN) of the infrastructure configuration that will
  8169  	// be used to build images created by this image pipeline.
  8170  	//
  8171  	// InfrastructureConfigurationArn is a required field
  8172  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
  8173  
  8174  	// The name of the image pipeline.
  8175  	//
  8176  	// Name is a required field
  8177  	Name *string `locationName:"name" type:"string" required:"true"`
  8178  
  8179  	// The schedule of the image pipeline.
  8180  	Schedule *Schedule `locationName:"schedule" type:"structure"`
  8181  
  8182  	// The status of the image pipeline.
  8183  	Status *string `locationName:"status" type:"string" enum:"PipelineStatus"`
  8184  
  8185  	// The tags of the image pipeline.
  8186  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  8187  }
  8188  
  8189  // String returns the string representation.
  8190  //
  8191  // API parameter values that are decorated as "sensitive" in the API will not
  8192  // be included in the string output. The member name will be present, but the
  8193  // value will be replaced with "sensitive".
  8194  func (s CreateImagePipelineInput) String() string {
  8195  	return awsutil.Prettify(s)
  8196  }
  8197  
  8198  // GoString returns the string representation.
  8199  //
  8200  // API parameter values that are decorated as "sensitive" in the API will not
  8201  // be included in the string output. The member name will be present, but the
  8202  // value will be replaced with "sensitive".
  8203  func (s CreateImagePipelineInput) GoString() string {
  8204  	return s.String()
  8205  }
  8206  
  8207  // Validate inspects the fields of the type to determine if they are valid.
  8208  func (s *CreateImagePipelineInput) Validate() error {
  8209  	invalidParams := request.ErrInvalidParams{Context: "CreateImagePipelineInput"}
  8210  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  8211  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  8212  	}
  8213  	if s.Description != nil && len(*s.Description) < 1 {
  8214  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  8215  	}
  8216  	if s.InfrastructureConfigurationArn == nil {
  8217  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
  8218  	}
  8219  	if s.Name == nil {
  8220  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8221  	}
  8222  	if s.Tags != nil && len(s.Tags) < 1 {
  8223  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8224  	}
  8225  	if s.ImageTestsConfiguration != nil {
  8226  		if err := s.ImageTestsConfiguration.Validate(); err != nil {
  8227  			invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams))
  8228  		}
  8229  	}
  8230  	if s.Schedule != nil {
  8231  		if err := s.Schedule.Validate(); err != nil {
  8232  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
  8233  		}
  8234  	}
  8235  
  8236  	if invalidParams.Len() > 0 {
  8237  		return invalidParams
  8238  	}
  8239  	return nil
  8240  }
  8241  
  8242  // SetClientToken sets the ClientToken field's value.
  8243  func (s *CreateImagePipelineInput) SetClientToken(v string) *CreateImagePipelineInput {
  8244  	s.ClientToken = &v
  8245  	return s
  8246  }
  8247  
  8248  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
  8249  func (s *CreateImagePipelineInput) SetContainerRecipeArn(v string) *CreateImagePipelineInput {
  8250  	s.ContainerRecipeArn = &v
  8251  	return s
  8252  }
  8253  
  8254  // SetDescription sets the Description field's value.
  8255  func (s *CreateImagePipelineInput) SetDescription(v string) *CreateImagePipelineInput {
  8256  	s.Description = &v
  8257  	return s
  8258  }
  8259  
  8260  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
  8261  func (s *CreateImagePipelineInput) SetDistributionConfigurationArn(v string) *CreateImagePipelineInput {
  8262  	s.DistributionConfigurationArn = &v
  8263  	return s
  8264  }
  8265  
  8266  // SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value.
  8267  func (s *CreateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *CreateImagePipelineInput {
  8268  	s.EnhancedImageMetadataEnabled = &v
  8269  	return s
  8270  }
  8271  
  8272  // SetImageRecipeArn sets the ImageRecipeArn field's value.
  8273  func (s *CreateImagePipelineInput) SetImageRecipeArn(v string) *CreateImagePipelineInput {
  8274  	s.ImageRecipeArn = &v
  8275  	return s
  8276  }
  8277  
  8278  // SetImageTestsConfiguration sets the ImageTestsConfiguration field's value.
  8279  func (s *CreateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *CreateImagePipelineInput {
  8280  	s.ImageTestsConfiguration = v
  8281  	return s
  8282  }
  8283  
  8284  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
  8285  func (s *CreateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *CreateImagePipelineInput {
  8286  	s.InfrastructureConfigurationArn = &v
  8287  	return s
  8288  }
  8289  
  8290  // SetName sets the Name field's value.
  8291  func (s *CreateImagePipelineInput) SetName(v string) *CreateImagePipelineInput {
  8292  	s.Name = &v
  8293  	return s
  8294  }
  8295  
  8296  // SetSchedule sets the Schedule field's value.
  8297  func (s *CreateImagePipelineInput) SetSchedule(v *Schedule) *CreateImagePipelineInput {
  8298  	s.Schedule = v
  8299  	return s
  8300  }
  8301  
  8302  // SetStatus sets the Status field's value.
  8303  func (s *CreateImagePipelineInput) SetStatus(v string) *CreateImagePipelineInput {
  8304  	s.Status = &v
  8305  	return s
  8306  }
  8307  
  8308  // SetTags sets the Tags field's value.
  8309  func (s *CreateImagePipelineInput) SetTags(v map[string]*string) *CreateImagePipelineInput {
  8310  	s.Tags = v
  8311  	return s
  8312  }
  8313  
  8314  type CreateImagePipelineOutput struct {
  8315  	_ struct{} `type:"structure"`
  8316  
  8317  	// The idempotency token used to make this request idempotent.
  8318  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  8319  
  8320  	// The Amazon Resource Name (ARN) of the image pipeline that was created by
  8321  	// this request.
  8322  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"`
  8323  
  8324  	// The request ID that uniquely identifies this request.
  8325  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  8326  }
  8327  
  8328  // String returns the string representation.
  8329  //
  8330  // API parameter values that are decorated as "sensitive" in the API will not
  8331  // be included in the string output. The member name will be present, but the
  8332  // value will be replaced with "sensitive".
  8333  func (s CreateImagePipelineOutput) String() string {
  8334  	return awsutil.Prettify(s)
  8335  }
  8336  
  8337  // GoString returns the string representation.
  8338  //
  8339  // API parameter values that are decorated as "sensitive" in the API will not
  8340  // be included in the string output. The member name will be present, but the
  8341  // value will be replaced with "sensitive".
  8342  func (s CreateImagePipelineOutput) GoString() string {
  8343  	return s.String()
  8344  }
  8345  
  8346  // SetClientToken sets the ClientToken field's value.
  8347  func (s *CreateImagePipelineOutput) SetClientToken(v string) *CreateImagePipelineOutput {
  8348  	s.ClientToken = &v
  8349  	return s
  8350  }
  8351  
  8352  // SetImagePipelineArn sets the ImagePipelineArn field's value.
  8353  func (s *CreateImagePipelineOutput) SetImagePipelineArn(v string) *CreateImagePipelineOutput {
  8354  	s.ImagePipelineArn = &v
  8355  	return s
  8356  }
  8357  
  8358  // SetRequestId sets the RequestId field's value.
  8359  func (s *CreateImagePipelineOutput) SetRequestId(v string) *CreateImagePipelineOutput {
  8360  	s.RequestId = &v
  8361  	return s
  8362  }
  8363  
  8364  type CreateImageRecipeInput struct {
  8365  	_ struct{} `type:"structure"`
  8366  
  8367  	// Specify additional settings and launch scripts for your build instances.
  8368  	AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"`
  8369  
  8370  	// The block device mappings of the image recipe.
  8371  	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"`
  8372  
  8373  	// The idempotency token used to make this request idempotent.
  8374  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  8375  
  8376  	// The components of the image recipe.
  8377  	//
  8378  	// Components is a required field
  8379  	Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list" required:"true"`
  8380  
  8381  	// The description of the image recipe.
  8382  	Description *string `locationName:"description" min:"1" type:"string"`
  8383  
  8384  	// The name of the image recipe.
  8385  	//
  8386  	// Name is a required field
  8387  	Name *string `locationName:"name" type:"string" required:"true"`
  8388  
  8389  	// The base image of the image recipe. The value of the string can be the ARN
  8390  	// of the base image or an AMI ID. The format for the ARN follows this example:
  8391  	// arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x.
  8392  	// You can provide the specific version that you want to use, or you can use
  8393  	// a wildcard in all of the fields. If you enter an AMI ID for the string value,
  8394  	// you must have access to the AMI, and the AMI must be in the same Region in
  8395  	// which you are using Image Builder.
  8396  	//
  8397  	// ParentImage is a required field
  8398  	ParentImage *string `locationName:"parentImage" min:"1" type:"string" required:"true"`
  8399  
  8400  	// The semantic version of the image recipe. This version follows the semantic
  8401  	// version syntax.
  8402  	//
  8403  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
  8404  	// can assign values for the first three, and can filter on all of them.
  8405  	//
  8406  	// Assignment: For the first three nodes you can assign any positive integer
  8407  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
  8408  	// node. Image Builder automatically assigns the build number to the fourth
  8409  	// node.
  8410  	//
  8411  	// Patterns: You can use any numeric pattern that adheres to the assignment
  8412  	// requirements for the nodes that you can assign. For example, you might choose
  8413  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
  8414  	//
  8415  	// SemanticVersion is a required field
  8416  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  8417  
  8418  	// The tags of the image recipe.
  8419  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  8420  
  8421  	// The working directory used during build and test workflows.
  8422  	WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"`
  8423  }
  8424  
  8425  // String returns the string representation.
  8426  //
  8427  // API parameter values that are decorated as "sensitive" in the API will not
  8428  // be included in the string output. The member name will be present, but the
  8429  // value will be replaced with "sensitive".
  8430  func (s CreateImageRecipeInput) String() string {
  8431  	return awsutil.Prettify(s)
  8432  }
  8433  
  8434  // GoString returns the string representation.
  8435  //
  8436  // API parameter values that are decorated as "sensitive" in the API will not
  8437  // be included in the string output. The member name will be present, but the
  8438  // value will be replaced with "sensitive".
  8439  func (s CreateImageRecipeInput) GoString() string {
  8440  	return s.String()
  8441  }
  8442  
  8443  // Validate inspects the fields of the type to determine if they are valid.
  8444  func (s *CreateImageRecipeInput) Validate() error {
  8445  	invalidParams := request.ErrInvalidParams{Context: "CreateImageRecipeInput"}
  8446  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  8447  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  8448  	}
  8449  	if s.Components == nil {
  8450  		invalidParams.Add(request.NewErrParamRequired("Components"))
  8451  	}
  8452  	if s.Components != nil && len(s.Components) < 1 {
  8453  		invalidParams.Add(request.NewErrParamMinLen("Components", 1))
  8454  	}
  8455  	if s.Description != nil && len(*s.Description) < 1 {
  8456  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  8457  	}
  8458  	if s.Name == nil {
  8459  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8460  	}
  8461  	if s.ParentImage == nil {
  8462  		invalidParams.Add(request.NewErrParamRequired("ParentImage"))
  8463  	}
  8464  	if s.ParentImage != nil && len(*s.ParentImage) < 1 {
  8465  		invalidParams.Add(request.NewErrParamMinLen("ParentImage", 1))
  8466  	}
  8467  	if s.SemanticVersion == nil {
  8468  		invalidParams.Add(request.NewErrParamRequired("SemanticVersion"))
  8469  	}
  8470  	if s.Tags != nil && len(s.Tags) < 1 {
  8471  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8472  	}
  8473  	if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 {
  8474  		invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1))
  8475  	}
  8476  	if s.AdditionalInstanceConfiguration != nil {
  8477  		if err := s.AdditionalInstanceConfiguration.Validate(); err != nil {
  8478  			invalidParams.AddNested("AdditionalInstanceConfiguration", err.(request.ErrInvalidParams))
  8479  		}
  8480  	}
  8481  	if s.BlockDeviceMappings != nil {
  8482  		for i, v := range s.BlockDeviceMappings {
  8483  			if v == nil {
  8484  				continue
  8485  			}
  8486  			if err := v.Validate(); err != nil {
  8487  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams))
  8488  			}
  8489  		}
  8490  	}
  8491  	if s.Components != nil {
  8492  		for i, v := range s.Components {
  8493  			if v == nil {
  8494  				continue
  8495  			}
  8496  			if err := v.Validate(); err != nil {
  8497  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams))
  8498  			}
  8499  		}
  8500  	}
  8501  
  8502  	if invalidParams.Len() > 0 {
  8503  		return invalidParams
  8504  	}
  8505  	return nil
  8506  }
  8507  
  8508  // SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value.
  8509  func (s *CreateImageRecipeInput) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *CreateImageRecipeInput {
  8510  	s.AdditionalInstanceConfiguration = v
  8511  	return s
  8512  }
  8513  
  8514  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  8515  func (s *CreateImageRecipeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *CreateImageRecipeInput {
  8516  	s.BlockDeviceMappings = v
  8517  	return s
  8518  }
  8519  
  8520  // SetClientToken sets the ClientToken field's value.
  8521  func (s *CreateImageRecipeInput) SetClientToken(v string) *CreateImageRecipeInput {
  8522  	s.ClientToken = &v
  8523  	return s
  8524  }
  8525  
  8526  // SetComponents sets the Components field's value.
  8527  func (s *CreateImageRecipeInput) SetComponents(v []*ComponentConfiguration) *CreateImageRecipeInput {
  8528  	s.Components = v
  8529  	return s
  8530  }
  8531  
  8532  // SetDescription sets the Description field's value.
  8533  func (s *CreateImageRecipeInput) SetDescription(v string) *CreateImageRecipeInput {
  8534  	s.Description = &v
  8535  	return s
  8536  }
  8537  
  8538  // SetName sets the Name field's value.
  8539  func (s *CreateImageRecipeInput) SetName(v string) *CreateImageRecipeInput {
  8540  	s.Name = &v
  8541  	return s
  8542  }
  8543  
  8544  // SetParentImage sets the ParentImage field's value.
  8545  func (s *CreateImageRecipeInput) SetParentImage(v string) *CreateImageRecipeInput {
  8546  	s.ParentImage = &v
  8547  	return s
  8548  }
  8549  
  8550  // SetSemanticVersion sets the SemanticVersion field's value.
  8551  func (s *CreateImageRecipeInput) SetSemanticVersion(v string) *CreateImageRecipeInput {
  8552  	s.SemanticVersion = &v
  8553  	return s
  8554  }
  8555  
  8556  // SetTags sets the Tags field's value.
  8557  func (s *CreateImageRecipeInput) SetTags(v map[string]*string) *CreateImageRecipeInput {
  8558  	s.Tags = v
  8559  	return s
  8560  }
  8561  
  8562  // SetWorkingDirectory sets the WorkingDirectory field's value.
  8563  func (s *CreateImageRecipeInput) SetWorkingDirectory(v string) *CreateImageRecipeInput {
  8564  	s.WorkingDirectory = &v
  8565  	return s
  8566  }
  8567  
  8568  type CreateImageRecipeOutput struct {
  8569  	_ struct{} `type:"structure"`
  8570  
  8571  	// The idempotency token used to make this request idempotent.
  8572  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  8573  
  8574  	// The Amazon Resource Name (ARN) of the image recipe that was created by this
  8575  	// request.
  8576  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
  8577  
  8578  	// The request ID that uniquely identifies this request.
  8579  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  8580  }
  8581  
  8582  // String returns the string representation.
  8583  //
  8584  // API parameter values that are decorated as "sensitive" in the API will not
  8585  // be included in the string output. The member name will be present, but the
  8586  // value will be replaced with "sensitive".
  8587  func (s CreateImageRecipeOutput) String() string {
  8588  	return awsutil.Prettify(s)
  8589  }
  8590  
  8591  // GoString returns the string representation.
  8592  //
  8593  // API parameter values that are decorated as "sensitive" in the API will not
  8594  // be included in the string output. The member name will be present, but the
  8595  // value will be replaced with "sensitive".
  8596  func (s CreateImageRecipeOutput) GoString() string {
  8597  	return s.String()
  8598  }
  8599  
  8600  // SetClientToken sets the ClientToken field's value.
  8601  func (s *CreateImageRecipeOutput) SetClientToken(v string) *CreateImageRecipeOutput {
  8602  	s.ClientToken = &v
  8603  	return s
  8604  }
  8605  
  8606  // SetImageRecipeArn sets the ImageRecipeArn field's value.
  8607  func (s *CreateImageRecipeOutput) SetImageRecipeArn(v string) *CreateImageRecipeOutput {
  8608  	s.ImageRecipeArn = &v
  8609  	return s
  8610  }
  8611  
  8612  // SetRequestId sets the RequestId field's value.
  8613  func (s *CreateImageRecipeOutput) SetRequestId(v string) *CreateImageRecipeOutput {
  8614  	s.RequestId = &v
  8615  	return s
  8616  }
  8617  
  8618  type CreateInfrastructureConfigurationInput struct {
  8619  	_ struct{} `type:"structure"`
  8620  
  8621  	// The idempotency token used to make this request idempotent.
  8622  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  8623  
  8624  	// The description of the infrastructure configuration.
  8625  	Description *string `locationName:"description" min:"1" type:"string"`
  8626  
  8627  	// The instance metadata options that you can set for the HTTP requests that
  8628  	// pipeline builds use to launch EC2 build and test instances.
  8629  	InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"`
  8630  
  8631  	// The instance profile to associate with the instance used to customize your
  8632  	// Amazon EC2 AMI.
  8633  	//
  8634  	// InstanceProfileName is a required field
  8635  	InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"`
  8636  
  8637  	// The instance types of the infrastructure configuration. You can specify one
  8638  	// or more instance types to use for this build. The service will pick one of
  8639  	// these instance types based on availability.
  8640  	InstanceTypes []*string `locationName:"instanceTypes" type:"list"`
  8641  
  8642  	// The key pair of the infrastructure configuration. You can use this to log
  8643  	// on to and debug the instance used to create your image.
  8644  	KeyPair *string `locationName:"keyPair" min:"1" type:"string"`
  8645  
  8646  	// The logging configuration of the infrastructure configuration.
  8647  	Logging *Logging `locationName:"logging" type:"structure"`
  8648  
  8649  	// The name of the infrastructure configuration.
  8650  	//
  8651  	// Name is a required field
  8652  	Name *string `locationName:"name" type:"string" required:"true"`
  8653  
  8654  	// The tags attached to the resource created by Image Builder.
  8655  	ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"`
  8656  
  8657  	// The security group IDs to associate with the instance used to customize your
  8658  	// Amazon EC2 AMI.
  8659  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
  8660  
  8661  	// The SNS topic on which to send image build events.
  8662  	SnsTopicArn *string `locationName:"snsTopicArn" type:"string"`
  8663  
  8664  	// The subnet ID in which to place the instance used to customize your Amazon
  8665  	// EC2 AMI.
  8666  	SubnetId *string `locationName:"subnetId" min:"1" type:"string"`
  8667  
  8668  	// The tags of the infrastructure configuration.
  8669  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  8670  
  8671  	// The terminate instance on failure setting of the infrastructure configuration.
  8672  	// Set to false if you want Image Builder to retain the instance used to configure
  8673  	// your AMI if the build or test phase of your workflow fails.
  8674  	TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"`
  8675  }
  8676  
  8677  // String returns the string representation.
  8678  //
  8679  // API parameter values that are decorated as "sensitive" in the API will not
  8680  // be included in the string output. The member name will be present, but the
  8681  // value will be replaced with "sensitive".
  8682  func (s CreateInfrastructureConfigurationInput) String() string {
  8683  	return awsutil.Prettify(s)
  8684  }
  8685  
  8686  // GoString returns the string representation.
  8687  //
  8688  // API parameter values that are decorated as "sensitive" in the API will not
  8689  // be included in the string output. The member name will be present, but the
  8690  // value will be replaced with "sensitive".
  8691  func (s CreateInfrastructureConfigurationInput) GoString() string {
  8692  	return s.String()
  8693  }
  8694  
  8695  // Validate inspects the fields of the type to determine if they are valid.
  8696  func (s *CreateInfrastructureConfigurationInput) Validate() error {
  8697  	invalidParams := request.ErrInvalidParams{Context: "CreateInfrastructureConfigurationInput"}
  8698  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  8699  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  8700  	}
  8701  	if s.Description != nil && len(*s.Description) < 1 {
  8702  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  8703  	}
  8704  	if s.InstanceProfileName == nil {
  8705  		invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  8706  	}
  8707  	if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  8708  		invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  8709  	}
  8710  	if s.KeyPair != nil && len(*s.KeyPair) < 1 {
  8711  		invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1))
  8712  	}
  8713  	if s.Name == nil {
  8714  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8715  	}
  8716  	if s.ResourceTags != nil && len(s.ResourceTags) < 1 {
  8717  		invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1))
  8718  	}
  8719  	if s.SubnetId != nil && len(*s.SubnetId) < 1 {
  8720  		invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1))
  8721  	}
  8722  	if s.Tags != nil && len(s.Tags) < 1 {
  8723  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  8724  	}
  8725  	if s.InstanceMetadataOptions != nil {
  8726  		if err := s.InstanceMetadataOptions.Validate(); err != nil {
  8727  			invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams))
  8728  		}
  8729  	}
  8730  	if s.Logging != nil {
  8731  		if err := s.Logging.Validate(); err != nil {
  8732  			invalidParams.AddNested("Logging", err.(request.ErrInvalidParams))
  8733  		}
  8734  	}
  8735  
  8736  	if invalidParams.Len() > 0 {
  8737  		return invalidParams
  8738  	}
  8739  	return nil
  8740  }
  8741  
  8742  // SetClientToken sets the ClientToken field's value.
  8743  func (s *CreateInfrastructureConfigurationInput) SetClientToken(v string) *CreateInfrastructureConfigurationInput {
  8744  	s.ClientToken = &v
  8745  	return s
  8746  }
  8747  
  8748  // SetDescription sets the Description field's value.
  8749  func (s *CreateInfrastructureConfigurationInput) SetDescription(v string) *CreateInfrastructureConfigurationInput {
  8750  	s.Description = &v
  8751  	return s
  8752  }
  8753  
  8754  // SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
  8755  func (s *CreateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *CreateInfrastructureConfigurationInput {
  8756  	s.InstanceMetadataOptions = v
  8757  	return s
  8758  }
  8759  
  8760  // SetInstanceProfileName sets the InstanceProfileName field's value.
  8761  func (s *CreateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *CreateInfrastructureConfigurationInput {
  8762  	s.InstanceProfileName = &v
  8763  	return s
  8764  }
  8765  
  8766  // SetInstanceTypes sets the InstanceTypes field's value.
  8767  func (s *CreateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *CreateInfrastructureConfigurationInput {
  8768  	s.InstanceTypes = v
  8769  	return s
  8770  }
  8771  
  8772  // SetKeyPair sets the KeyPair field's value.
  8773  func (s *CreateInfrastructureConfigurationInput) SetKeyPair(v string) *CreateInfrastructureConfigurationInput {
  8774  	s.KeyPair = &v
  8775  	return s
  8776  }
  8777  
  8778  // SetLogging sets the Logging field's value.
  8779  func (s *CreateInfrastructureConfigurationInput) SetLogging(v *Logging) *CreateInfrastructureConfigurationInput {
  8780  	s.Logging = v
  8781  	return s
  8782  }
  8783  
  8784  // SetName sets the Name field's value.
  8785  func (s *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfrastructureConfigurationInput {
  8786  	s.Name = &v
  8787  	return s
  8788  }
  8789  
  8790  // SetResourceTags sets the ResourceTags field's value.
  8791  func (s *CreateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *CreateInfrastructureConfigurationInput {
  8792  	s.ResourceTags = v
  8793  	return s
  8794  }
  8795  
  8796  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  8797  func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput {
  8798  	s.SecurityGroupIds = v
  8799  	return s
  8800  }
  8801  
  8802  // SetSnsTopicArn sets the SnsTopicArn field's value.
  8803  func (s *CreateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *CreateInfrastructureConfigurationInput {
  8804  	s.SnsTopicArn = &v
  8805  	return s
  8806  }
  8807  
  8808  // SetSubnetId sets the SubnetId field's value.
  8809  func (s *CreateInfrastructureConfigurationInput) SetSubnetId(v string) *CreateInfrastructureConfigurationInput {
  8810  	s.SubnetId = &v
  8811  	return s
  8812  }
  8813  
  8814  // SetTags sets the Tags field's value.
  8815  func (s *CreateInfrastructureConfigurationInput) SetTags(v map[string]*string) *CreateInfrastructureConfigurationInput {
  8816  	s.Tags = v
  8817  	return s
  8818  }
  8819  
  8820  // SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value.
  8821  func (s *CreateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *CreateInfrastructureConfigurationInput {
  8822  	s.TerminateInstanceOnFailure = &v
  8823  	return s
  8824  }
  8825  
  8826  type CreateInfrastructureConfigurationOutput struct {
  8827  	_ struct{} `type:"structure"`
  8828  
  8829  	// The idempotency token used to make this request idempotent.
  8830  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
  8831  
  8832  	// The Amazon Resource Name (ARN) of the infrastructure configuration that was
  8833  	// created by this request.
  8834  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"`
  8835  
  8836  	// The request ID that uniquely identifies this request.
  8837  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  8838  }
  8839  
  8840  // String returns the string representation.
  8841  //
  8842  // API parameter values that are decorated as "sensitive" in the API will not
  8843  // be included in the string output. The member name will be present, but the
  8844  // value will be replaced with "sensitive".
  8845  func (s CreateInfrastructureConfigurationOutput) String() string {
  8846  	return awsutil.Prettify(s)
  8847  }
  8848  
  8849  // GoString returns the string representation.
  8850  //
  8851  // API parameter values that are decorated as "sensitive" in the API will not
  8852  // be included in the string output. The member name will be present, but the
  8853  // value will be replaced with "sensitive".
  8854  func (s CreateInfrastructureConfigurationOutput) GoString() string {
  8855  	return s.String()
  8856  }
  8857  
  8858  // SetClientToken sets the ClientToken field's value.
  8859  func (s *CreateInfrastructureConfigurationOutput) SetClientToken(v string) *CreateInfrastructureConfigurationOutput {
  8860  	s.ClientToken = &v
  8861  	return s
  8862  }
  8863  
  8864  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
  8865  func (s *CreateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *CreateInfrastructureConfigurationOutput {
  8866  	s.InfrastructureConfigurationArn = &v
  8867  	return s
  8868  }
  8869  
  8870  // SetRequestId sets the RequestId field's value.
  8871  func (s *CreateInfrastructureConfigurationOutput) SetRequestId(v string) *CreateInfrastructureConfigurationOutput {
  8872  	s.RequestId = &v
  8873  	return s
  8874  }
  8875  
  8876  type DeleteComponentInput struct {
  8877  	_ struct{} `type:"structure" nopayload:"true"`
  8878  
  8879  	// The Amazon Resource Name (ARN) of the component build version to delete.
  8880  	//
  8881  	// ComponentBuildVersionArn is a required field
  8882  	ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"`
  8883  }
  8884  
  8885  // String returns the string representation.
  8886  //
  8887  // API parameter values that are decorated as "sensitive" in the API will not
  8888  // be included in the string output. The member name will be present, but the
  8889  // value will be replaced with "sensitive".
  8890  func (s DeleteComponentInput) String() string {
  8891  	return awsutil.Prettify(s)
  8892  }
  8893  
  8894  // GoString returns the string representation.
  8895  //
  8896  // API parameter values that are decorated as "sensitive" in the API will not
  8897  // be included in the string output. The member name will be present, but the
  8898  // value will be replaced with "sensitive".
  8899  func (s DeleteComponentInput) GoString() string {
  8900  	return s.String()
  8901  }
  8902  
  8903  // Validate inspects the fields of the type to determine if they are valid.
  8904  func (s *DeleteComponentInput) Validate() error {
  8905  	invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"}
  8906  	if s.ComponentBuildVersionArn == nil {
  8907  		invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn"))
  8908  	}
  8909  
  8910  	if invalidParams.Len() > 0 {
  8911  		return invalidParams
  8912  	}
  8913  	return nil
  8914  }
  8915  
  8916  // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value.
  8917  func (s *DeleteComponentInput) SetComponentBuildVersionArn(v string) *DeleteComponentInput {
  8918  	s.ComponentBuildVersionArn = &v
  8919  	return s
  8920  }
  8921  
  8922  type DeleteComponentOutput struct {
  8923  	_ struct{} `type:"structure"`
  8924  
  8925  	// The Amazon Resource Name (ARN) of the component build version that was deleted.
  8926  	ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"`
  8927  
  8928  	// The request ID that uniquely identifies this request.
  8929  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  8930  }
  8931  
  8932  // String returns the string representation.
  8933  //
  8934  // API parameter values that are decorated as "sensitive" in the API will not
  8935  // be included in the string output. The member name will be present, but the
  8936  // value will be replaced with "sensitive".
  8937  func (s DeleteComponentOutput) String() string {
  8938  	return awsutil.Prettify(s)
  8939  }
  8940  
  8941  // GoString returns the string representation.
  8942  //
  8943  // API parameter values that are decorated as "sensitive" in the API will not
  8944  // be included in the string output. The member name will be present, but the
  8945  // value will be replaced with "sensitive".
  8946  func (s DeleteComponentOutput) GoString() string {
  8947  	return s.String()
  8948  }
  8949  
  8950  // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value.
  8951  func (s *DeleteComponentOutput) SetComponentBuildVersionArn(v string) *DeleteComponentOutput {
  8952  	s.ComponentBuildVersionArn = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetRequestId sets the RequestId field's value.
  8957  func (s *DeleteComponentOutput) SetRequestId(v string) *DeleteComponentOutput {
  8958  	s.RequestId = &v
  8959  	return s
  8960  }
  8961  
  8962  type DeleteContainerRecipeInput struct {
  8963  	_ struct{} `type:"structure" nopayload:"true"`
  8964  
  8965  	// The Amazon Resource Name (ARN) of the container recipe to delete.
  8966  	//
  8967  	// ContainerRecipeArn is a required field
  8968  	ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"`
  8969  }
  8970  
  8971  // String returns the string representation.
  8972  //
  8973  // API parameter values that are decorated as "sensitive" in the API will not
  8974  // be included in the string output. The member name will be present, but the
  8975  // value will be replaced with "sensitive".
  8976  func (s DeleteContainerRecipeInput) String() string {
  8977  	return awsutil.Prettify(s)
  8978  }
  8979  
  8980  // GoString returns the string representation.
  8981  //
  8982  // API parameter values that are decorated as "sensitive" in the API will not
  8983  // be included in the string output. The member name will be present, but the
  8984  // value will be replaced with "sensitive".
  8985  func (s DeleteContainerRecipeInput) GoString() string {
  8986  	return s.String()
  8987  }
  8988  
  8989  // Validate inspects the fields of the type to determine if they are valid.
  8990  func (s *DeleteContainerRecipeInput) Validate() error {
  8991  	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerRecipeInput"}
  8992  	if s.ContainerRecipeArn == nil {
  8993  		invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn"))
  8994  	}
  8995  
  8996  	if invalidParams.Len() > 0 {
  8997  		return invalidParams
  8998  	}
  8999  	return nil
  9000  }
  9001  
  9002  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
  9003  func (s *DeleteContainerRecipeInput) SetContainerRecipeArn(v string) *DeleteContainerRecipeInput {
  9004  	s.ContainerRecipeArn = &v
  9005  	return s
  9006  }
  9007  
  9008  type DeleteContainerRecipeOutput struct {
  9009  	_ struct{} `type:"structure"`
  9010  
  9011  	// The Amazon Resource Name (ARN) of the container recipe that was deleted.
  9012  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
  9013  
  9014  	// The request ID that uniquely identifies this request.
  9015  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9016  }
  9017  
  9018  // String returns the string representation.
  9019  //
  9020  // API parameter values that are decorated as "sensitive" in the API will not
  9021  // be included in the string output. The member name will be present, but the
  9022  // value will be replaced with "sensitive".
  9023  func (s DeleteContainerRecipeOutput) String() string {
  9024  	return awsutil.Prettify(s)
  9025  }
  9026  
  9027  // GoString returns the string representation.
  9028  //
  9029  // API parameter values that are decorated as "sensitive" in the API will not
  9030  // be included in the string output. The member name will be present, but the
  9031  // value will be replaced with "sensitive".
  9032  func (s DeleteContainerRecipeOutput) GoString() string {
  9033  	return s.String()
  9034  }
  9035  
  9036  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
  9037  func (s *DeleteContainerRecipeOutput) SetContainerRecipeArn(v string) *DeleteContainerRecipeOutput {
  9038  	s.ContainerRecipeArn = &v
  9039  	return s
  9040  }
  9041  
  9042  // SetRequestId sets the RequestId field's value.
  9043  func (s *DeleteContainerRecipeOutput) SetRequestId(v string) *DeleteContainerRecipeOutput {
  9044  	s.RequestId = &v
  9045  	return s
  9046  }
  9047  
  9048  type DeleteDistributionConfigurationInput struct {
  9049  	_ struct{} `type:"structure" nopayload:"true"`
  9050  
  9051  	// The Amazon Resource Name (ARN) of the distribution configuration to delete.
  9052  	//
  9053  	// DistributionConfigurationArn is a required field
  9054  	DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"`
  9055  }
  9056  
  9057  // String returns the string representation.
  9058  //
  9059  // API parameter values that are decorated as "sensitive" in the API will not
  9060  // be included in the string output. The member name will be present, but the
  9061  // value will be replaced with "sensitive".
  9062  func (s DeleteDistributionConfigurationInput) String() string {
  9063  	return awsutil.Prettify(s)
  9064  }
  9065  
  9066  // GoString returns the string representation.
  9067  //
  9068  // API parameter values that are decorated as "sensitive" in the API will not
  9069  // be included in the string output. The member name will be present, but the
  9070  // value will be replaced with "sensitive".
  9071  func (s DeleteDistributionConfigurationInput) GoString() string {
  9072  	return s.String()
  9073  }
  9074  
  9075  // Validate inspects the fields of the type to determine if they are valid.
  9076  func (s *DeleteDistributionConfigurationInput) Validate() error {
  9077  	invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionConfigurationInput"}
  9078  	if s.DistributionConfigurationArn == nil {
  9079  		invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn"))
  9080  	}
  9081  
  9082  	if invalidParams.Len() > 0 {
  9083  		return invalidParams
  9084  	}
  9085  	return nil
  9086  }
  9087  
  9088  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
  9089  func (s *DeleteDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationInput {
  9090  	s.DistributionConfigurationArn = &v
  9091  	return s
  9092  }
  9093  
  9094  type DeleteDistributionConfigurationOutput struct {
  9095  	_ struct{} `type:"structure"`
  9096  
  9097  	// The Amazon Resource Name (ARN) of the distribution configuration that was
  9098  	// deleted.
  9099  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
  9100  
  9101  	// The request ID that uniquely identifies this request.
  9102  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9103  }
  9104  
  9105  // String returns the string representation.
  9106  //
  9107  // API parameter values that are decorated as "sensitive" in the API will not
  9108  // be included in the string output. The member name will be present, but the
  9109  // value will be replaced with "sensitive".
  9110  func (s DeleteDistributionConfigurationOutput) String() string {
  9111  	return awsutil.Prettify(s)
  9112  }
  9113  
  9114  // GoString returns the string representation.
  9115  //
  9116  // API parameter values that are decorated as "sensitive" in the API will not
  9117  // be included in the string output. The member name will be present, but the
  9118  // value will be replaced with "sensitive".
  9119  func (s DeleteDistributionConfigurationOutput) GoString() string {
  9120  	return s.String()
  9121  }
  9122  
  9123  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
  9124  func (s *DeleteDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *DeleteDistributionConfigurationOutput {
  9125  	s.DistributionConfigurationArn = &v
  9126  	return s
  9127  }
  9128  
  9129  // SetRequestId sets the RequestId field's value.
  9130  func (s *DeleteDistributionConfigurationOutput) SetRequestId(v string) *DeleteDistributionConfigurationOutput {
  9131  	s.RequestId = &v
  9132  	return s
  9133  }
  9134  
  9135  type DeleteImageInput struct {
  9136  	_ struct{} `type:"structure" nopayload:"true"`
  9137  
  9138  	// The Amazon Resource Name (ARN) of the Image Builder image resource to delete.
  9139  	//
  9140  	// ImageBuildVersionArn is a required field
  9141  	ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"`
  9142  }
  9143  
  9144  // String returns the string representation.
  9145  //
  9146  // API parameter values that are decorated as "sensitive" in the API will not
  9147  // be included in the string output. The member name will be present, but the
  9148  // value will be replaced with "sensitive".
  9149  func (s DeleteImageInput) String() string {
  9150  	return awsutil.Prettify(s)
  9151  }
  9152  
  9153  // GoString returns the string representation.
  9154  //
  9155  // API parameter values that are decorated as "sensitive" in the API will not
  9156  // be included in the string output. The member name will be present, but the
  9157  // value will be replaced with "sensitive".
  9158  func (s DeleteImageInput) GoString() string {
  9159  	return s.String()
  9160  }
  9161  
  9162  // Validate inspects the fields of the type to determine if they are valid.
  9163  func (s *DeleteImageInput) Validate() error {
  9164  	invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"}
  9165  	if s.ImageBuildVersionArn == nil {
  9166  		invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn"))
  9167  	}
  9168  
  9169  	if invalidParams.Len() > 0 {
  9170  		return invalidParams
  9171  	}
  9172  	return nil
  9173  }
  9174  
  9175  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
  9176  func (s *DeleteImageInput) SetImageBuildVersionArn(v string) *DeleteImageInput {
  9177  	s.ImageBuildVersionArn = &v
  9178  	return s
  9179  }
  9180  
  9181  type DeleteImageOutput struct {
  9182  	_ struct{} `type:"structure"`
  9183  
  9184  	// The Amazon Resource Name (ARN) of the Image Builder image resource that was
  9185  	// deleted.
  9186  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"`
  9187  
  9188  	// The request ID that uniquely identifies this request.
  9189  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9190  }
  9191  
  9192  // String returns the string representation.
  9193  //
  9194  // API parameter values that are decorated as "sensitive" in the API will not
  9195  // be included in the string output. The member name will be present, but the
  9196  // value will be replaced with "sensitive".
  9197  func (s DeleteImageOutput) String() string {
  9198  	return awsutil.Prettify(s)
  9199  }
  9200  
  9201  // GoString returns the string representation.
  9202  //
  9203  // API parameter values that are decorated as "sensitive" in the API will not
  9204  // be included in the string output. The member name will be present, but the
  9205  // value will be replaced with "sensitive".
  9206  func (s DeleteImageOutput) GoString() string {
  9207  	return s.String()
  9208  }
  9209  
  9210  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
  9211  func (s *DeleteImageOutput) SetImageBuildVersionArn(v string) *DeleteImageOutput {
  9212  	s.ImageBuildVersionArn = &v
  9213  	return s
  9214  }
  9215  
  9216  // SetRequestId sets the RequestId field's value.
  9217  func (s *DeleteImageOutput) SetRequestId(v string) *DeleteImageOutput {
  9218  	s.RequestId = &v
  9219  	return s
  9220  }
  9221  
  9222  type DeleteImagePipelineInput struct {
  9223  	_ struct{} `type:"structure" nopayload:"true"`
  9224  
  9225  	// The Amazon Resource Name (ARN) of the image pipeline to delete.
  9226  	//
  9227  	// ImagePipelineArn is a required field
  9228  	ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"`
  9229  }
  9230  
  9231  // String returns the string representation.
  9232  //
  9233  // API parameter values that are decorated as "sensitive" in the API will not
  9234  // be included in the string output. The member name will be present, but the
  9235  // value will be replaced with "sensitive".
  9236  func (s DeleteImagePipelineInput) String() string {
  9237  	return awsutil.Prettify(s)
  9238  }
  9239  
  9240  // GoString returns the string representation.
  9241  //
  9242  // API parameter values that are decorated as "sensitive" in the API will not
  9243  // be included in the string output. The member name will be present, but the
  9244  // value will be replaced with "sensitive".
  9245  func (s DeleteImagePipelineInput) GoString() string {
  9246  	return s.String()
  9247  }
  9248  
  9249  // Validate inspects the fields of the type to determine if they are valid.
  9250  func (s *DeleteImagePipelineInput) Validate() error {
  9251  	invalidParams := request.ErrInvalidParams{Context: "DeleteImagePipelineInput"}
  9252  	if s.ImagePipelineArn == nil {
  9253  		invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn"))
  9254  	}
  9255  
  9256  	if invalidParams.Len() > 0 {
  9257  		return invalidParams
  9258  	}
  9259  	return nil
  9260  }
  9261  
  9262  // SetImagePipelineArn sets the ImagePipelineArn field's value.
  9263  func (s *DeleteImagePipelineInput) SetImagePipelineArn(v string) *DeleteImagePipelineInput {
  9264  	s.ImagePipelineArn = &v
  9265  	return s
  9266  }
  9267  
  9268  type DeleteImagePipelineOutput struct {
  9269  	_ struct{} `type:"structure"`
  9270  
  9271  	// The Amazon Resource Name (ARN) of the image pipeline that was deleted.
  9272  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"`
  9273  
  9274  	// The request ID that uniquely identifies this request.
  9275  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9276  }
  9277  
  9278  // String returns the string representation.
  9279  //
  9280  // API parameter values that are decorated as "sensitive" in the API will not
  9281  // be included in the string output. The member name will be present, but the
  9282  // value will be replaced with "sensitive".
  9283  func (s DeleteImagePipelineOutput) String() string {
  9284  	return awsutil.Prettify(s)
  9285  }
  9286  
  9287  // GoString returns the string representation.
  9288  //
  9289  // API parameter values that are decorated as "sensitive" in the API will not
  9290  // be included in the string output. The member name will be present, but the
  9291  // value will be replaced with "sensitive".
  9292  func (s DeleteImagePipelineOutput) GoString() string {
  9293  	return s.String()
  9294  }
  9295  
  9296  // SetImagePipelineArn sets the ImagePipelineArn field's value.
  9297  func (s *DeleteImagePipelineOutput) SetImagePipelineArn(v string) *DeleteImagePipelineOutput {
  9298  	s.ImagePipelineArn = &v
  9299  	return s
  9300  }
  9301  
  9302  // SetRequestId sets the RequestId field's value.
  9303  func (s *DeleteImagePipelineOutput) SetRequestId(v string) *DeleteImagePipelineOutput {
  9304  	s.RequestId = &v
  9305  	return s
  9306  }
  9307  
  9308  type DeleteImageRecipeInput struct {
  9309  	_ struct{} `type:"structure" nopayload:"true"`
  9310  
  9311  	// The Amazon Resource Name (ARN) of the image recipe to delete.
  9312  	//
  9313  	// ImageRecipeArn is a required field
  9314  	ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"`
  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 DeleteImageRecipeInput) 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 DeleteImageRecipeInput) GoString() string {
  9332  	return s.String()
  9333  }
  9334  
  9335  // Validate inspects the fields of the type to determine if they are valid.
  9336  func (s *DeleteImageRecipeInput) Validate() error {
  9337  	invalidParams := request.ErrInvalidParams{Context: "DeleteImageRecipeInput"}
  9338  	if s.ImageRecipeArn == nil {
  9339  		invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn"))
  9340  	}
  9341  
  9342  	if invalidParams.Len() > 0 {
  9343  		return invalidParams
  9344  	}
  9345  	return nil
  9346  }
  9347  
  9348  // SetImageRecipeArn sets the ImageRecipeArn field's value.
  9349  func (s *DeleteImageRecipeInput) SetImageRecipeArn(v string) *DeleteImageRecipeInput {
  9350  	s.ImageRecipeArn = &v
  9351  	return s
  9352  }
  9353  
  9354  type DeleteImageRecipeOutput struct {
  9355  	_ struct{} `type:"structure"`
  9356  
  9357  	// The Amazon Resource Name (ARN) of the image recipe that was deleted.
  9358  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
  9359  
  9360  	// The request ID that uniquely identifies this request.
  9361  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9362  }
  9363  
  9364  // String returns the string representation.
  9365  //
  9366  // API parameter values that are decorated as "sensitive" in the API will not
  9367  // be included in the string output. The member name will be present, but the
  9368  // value will be replaced with "sensitive".
  9369  func (s DeleteImageRecipeOutput) String() string {
  9370  	return awsutil.Prettify(s)
  9371  }
  9372  
  9373  // GoString returns the string representation.
  9374  //
  9375  // API parameter values that are decorated as "sensitive" in the API will not
  9376  // be included in the string output. The member name will be present, but the
  9377  // value will be replaced with "sensitive".
  9378  func (s DeleteImageRecipeOutput) GoString() string {
  9379  	return s.String()
  9380  }
  9381  
  9382  // SetImageRecipeArn sets the ImageRecipeArn field's value.
  9383  func (s *DeleteImageRecipeOutput) SetImageRecipeArn(v string) *DeleteImageRecipeOutput {
  9384  	s.ImageRecipeArn = &v
  9385  	return s
  9386  }
  9387  
  9388  // SetRequestId sets the RequestId field's value.
  9389  func (s *DeleteImageRecipeOutput) SetRequestId(v string) *DeleteImageRecipeOutput {
  9390  	s.RequestId = &v
  9391  	return s
  9392  }
  9393  
  9394  type DeleteInfrastructureConfigurationInput struct {
  9395  	_ struct{} `type:"structure" nopayload:"true"`
  9396  
  9397  	// The Amazon Resource Name (ARN) of the infrastructure configuration to delete.
  9398  	//
  9399  	// InfrastructureConfigurationArn is a required field
  9400  	InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
  9401  }
  9402  
  9403  // String returns the string representation.
  9404  //
  9405  // API parameter values that are decorated as "sensitive" in the API will not
  9406  // be included in the string output. The member name will be present, but the
  9407  // value will be replaced with "sensitive".
  9408  func (s DeleteInfrastructureConfigurationInput) String() string {
  9409  	return awsutil.Prettify(s)
  9410  }
  9411  
  9412  // GoString returns the string representation.
  9413  //
  9414  // API parameter values that are decorated as "sensitive" in the API will not
  9415  // be included in the string output. The member name will be present, but the
  9416  // value will be replaced with "sensitive".
  9417  func (s DeleteInfrastructureConfigurationInput) GoString() string {
  9418  	return s.String()
  9419  }
  9420  
  9421  // Validate inspects the fields of the type to determine if they are valid.
  9422  func (s *DeleteInfrastructureConfigurationInput) Validate() error {
  9423  	invalidParams := request.ErrInvalidParams{Context: "DeleteInfrastructureConfigurationInput"}
  9424  	if s.InfrastructureConfigurationArn == nil {
  9425  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
  9426  	}
  9427  
  9428  	if invalidParams.Len() > 0 {
  9429  		return invalidParams
  9430  	}
  9431  	return nil
  9432  }
  9433  
  9434  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
  9435  func (s *DeleteInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationInput {
  9436  	s.InfrastructureConfigurationArn = &v
  9437  	return s
  9438  }
  9439  
  9440  type DeleteInfrastructureConfigurationOutput struct {
  9441  	_ struct{} `type:"structure"`
  9442  
  9443  	// The Amazon Resource Name (ARN) of the infrastructure configuration that was
  9444  	// deleted.
  9445  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"`
  9446  
  9447  	// The request ID that uniquely identifies this request.
  9448  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
  9449  }
  9450  
  9451  // String returns the string representation.
  9452  //
  9453  // API parameter values that are decorated as "sensitive" in the API will not
  9454  // be included in the string output. The member name will be present, but the
  9455  // value will be replaced with "sensitive".
  9456  func (s DeleteInfrastructureConfigurationOutput) String() string {
  9457  	return awsutil.Prettify(s)
  9458  }
  9459  
  9460  // GoString returns the string representation.
  9461  //
  9462  // API parameter values that are decorated as "sensitive" in the API will not
  9463  // be included in the string output. The member name will be present, but the
  9464  // value will be replaced with "sensitive".
  9465  func (s DeleteInfrastructureConfigurationOutput) GoString() string {
  9466  	return s.String()
  9467  }
  9468  
  9469  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
  9470  func (s *DeleteInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *DeleteInfrastructureConfigurationOutput {
  9471  	s.InfrastructureConfigurationArn = &v
  9472  	return s
  9473  }
  9474  
  9475  // SetRequestId sets the RequestId field's value.
  9476  func (s *DeleteInfrastructureConfigurationOutput) SetRequestId(v string) *DeleteInfrastructureConfigurationOutput {
  9477  	s.RequestId = &v
  9478  	return s
  9479  }
  9480  
  9481  // Defines the settings for a specific Region.
  9482  type Distribution struct {
  9483  	_ struct{} `type:"structure"`
  9484  
  9485  	// The specific AMI settings; for example, launch permissions or AMI tags.
  9486  	AmiDistributionConfiguration *AmiDistributionConfiguration `locationName:"amiDistributionConfiguration" type:"structure"`
  9487  
  9488  	// Container distribution settings for encryption, licensing, and sharing in
  9489  	// a specific Region.
  9490  	ContainerDistributionConfiguration *ContainerDistributionConfiguration `locationName:"containerDistributionConfiguration" type:"structure"`
  9491  
  9492  	// A group of launchTemplateConfiguration settings that apply to image distribution
  9493  	// for specified accounts.
  9494  	LaunchTemplateConfigurations []*LaunchTemplateConfiguration `locationName:"launchTemplateConfigurations" min:"1" type:"list"`
  9495  
  9496  	// The License Manager Configuration to associate with the AMI in the specified
  9497  	// Region.
  9498  	LicenseConfigurationArns []*string `locationName:"licenseConfigurationArns" min:"1" type:"list"`
  9499  
  9500  	// The target Region.
  9501  	//
  9502  	// Region is a required field
  9503  	Region *string `locationName:"region" min:"1" type:"string" required:"true"`
  9504  }
  9505  
  9506  // String returns the string representation.
  9507  //
  9508  // API parameter values that are decorated as "sensitive" in the API will not
  9509  // be included in the string output. The member name will be present, but the
  9510  // value will be replaced with "sensitive".
  9511  func (s Distribution) String() string {
  9512  	return awsutil.Prettify(s)
  9513  }
  9514  
  9515  // GoString returns the string representation.
  9516  //
  9517  // API parameter values that are decorated as "sensitive" in the API will not
  9518  // be included in the string output. The member name will be present, but the
  9519  // value will be replaced with "sensitive".
  9520  func (s Distribution) GoString() string {
  9521  	return s.String()
  9522  }
  9523  
  9524  // Validate inspects the fields of the type to determine if they are valid.
  9525  func (s *Distribution) Validate() error {
  9526  	invalidParams := request.ErrInvalidParams{Context: "Distribution"}
  9527  	if s.LaunchTemplateConfigurations != nil && len(s.LaunchTemplateConfigurations) < 1 {
  9528  		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateConfigurations", 1))
  9529  	}
  9530  	if s.LicenseConfigurationArns != nil && len(s.LicenseConfigurationArns) < 1 {
  9531  		invalidParams.Add(request.NewErrParamMinLen("LicenseConfigurationArns", 1))
  9532  	}
  9533  	if s.Region == nil {
  9534  		invalidParams.Add(request.NewErrParamRequired("Region"))
  9535  	}
  9536  	if s.Region != nil && len(*s.Region) < 1 {
  9537  		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
  9538  	}
  9539  	if s.AmiDistributionConfiguration != nil {
  9540  		if err := s.AmiDistributionConfiguration.Validate(); err != nil {
  9541  			invalidParams.AddNested("AmiDistributionConfiguration", err.(request.ErrInvalidParams))
  9542  		}
  9543  	}
  9544  	if s.ContainerDistributionConfiguration != nil {
  9545  		if err := s.ContainerDistributionConfiguration.Validate(); err != nil {
  9546  			invalidParams.AddNested("ContainerDistributionConfiguration", err.(request.ErrInvalidParams))
  9547  		}
  9548  	}
  9549  	if s.LaunchTemplateConfigurations != nil {
  9550  		for i, v := range s.LaunchTemplateConfigurations {
  9551  			if v == nil {
  9552  				continue
  9553  			}
  9554  			if err := v.Validate(); err != nil {
  9555  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigurations", i), err.(request.ErrInvalidParams))
  9556  			}
  9557  		}
  9558  	}
  9559  
  9560  	if invalidParams.Len() > 0 {
  9561  		return invalidParams
  9562  	}
  9563  	return nil
  9564  }
  9565  
  9566  // SetAmiDistributionConfiguration sets the AmiDistributionConfiguration field's value.
  9567  func (s *Distribution) SetAmiDistributionConfiguration(v *AmiDistributionConfiguration) *Distribution {
  9568  	s.AmiDistributionConfiguration = v
  9569  	return s
  9570  }
  9571  
  9572  // SetContainerDistributionConfiguration sets the ContainerDistributionConfiguration field's value.
  9573  func (s *Distribution) SetContainerDistributionConfiguration(v *ContainerDistributionConfiguration) *Distribution {
  9574  	s.ContainerDistributionConfiguration = v
  9575  	return s
  9576  }
  9577  
  9578  // SetLaunchTemplateConfigurations sets the LaunchTemplateConfigurations field's value.
  9579  func (s *Distribution) SetLaunchTemplateConfigurations(v []*LaunchTemplateConfiguration) *Distribution {
  9580  	s.LaunchTemplateConfigurations = v
  9581  	return s
  9582  }
  9583  
  9584  // SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value.
  9585  func (s *Distribution) SetLicenseConfigurationArns(v []*string) *Distribution {
  9586  	s.LicenseConfigurationArns = v
  9587  	return s
  9588  }
  9589  
  9590  // SetRegion sets the Region field's value.
  9591  func (s *Distribution) SetRegion(v string) *Distribution {
  9592  	s.Region = &v
  9593  	return s
  9594  }
  9595  
  9596  // A distribution configuration.
  9597  type DistributionConfiguration struct {
  9598  	_ struct{} `type:"structure"`
  9599  
  9600  	// The Amazon Resource Name (ARN) of the distribution configuration.
  9601  	Arn *string `locationName:"arn" type:"string"`
  9602  
  9603  	// The date on which this distribution configuration was created.
  9604  	DateCreated *string `locationName:"dateCreated" type:"string"`
  9605  
  9606  	// The date on which this distribution configuration was last updated.
  9607  	DateUpdated *string `locationName:"dateUpdated" type:"string"`
  9608  
  9609  	// The description of the distribution configuration.
  9610  	Description *string `locationName:"description" min:"1" type:"string"`
  9611  
  9612  	// The distribution objects that apply Region-specific settings for the deployment
  9613  	// of the image to targeted Regions.
  9614  	Distributions []*Distribution `locationName:"distributions" type:"list"`
  9615  
  9616  	// The name of the distribution configuration.
  9617  	Name *string `locationName:"name" type:"string"`
  9618  
  9619  	// The tags of the distribution configuration.
  9620  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9621  
  9622  	// The maximum duration in minutes for this distribution configuration.
  9623  	//
  9624  	// TimeoutMinutes is a required field
  9625  	TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"30" type:"integer" required:"true"`
  9626  }
  9627  
  9628  // String returns the string representation.
  9629  //
  9630  // API parameter values that are decorated as "sensitive" in the API will not
  9631  // be included in the string output. The member name will be present, but the
  9632  // value will be replaced with "sensitive".
  9633  func (s DistributionConfiguration) String() string {
  9634  	return awsutil.Prettify(s)
  9635  }
  9636  
  9637  // GoString returns the string representation.
  9638  //
  9639  // API parameter values that are decorated as "sensitive" in the API will not
  9640  // be included in the string output. The member name will be present, but the
  9641  // value will be replaced with "sensitive".
  9642  func (s DistributionConfiguration) GoString() string {
  9643  	return s.String()
  9644  }
  9645  
  9646  // SetArn sets the Arn field's value.
  9647  func (s *DistributionConfiguration) SetArn(v string) *DistributionConfiguration {
  9648  	s.Arn = &v
  9649  	return s
  9650  }
  9651  
  9652  // SetDateCreated sets the DateCreated field's value.
  9653  func (s *DistributionConfiguration) SetDateCreated(v string) *DistributionConfiguration {
  9654  	s.DateCreated = &v
  9655  	return s
  9656  }
  9657  
  9658  // SetDateUpdated sets the DateUpdated field's value.
  9659  func (s *DistributionConfiguration) SetDateUpdated(v string) *DistributionConfiguration {
  9660  	s.DateUpdated = &v
  9661  	return s
  9662  }
  9663  
  9664  // SetDescription sets the Description field's value.
  9665  func (s *DistributionConfiguration) SetDescription(v string) *DistributionConfiguration {
  9666  	s.Description = &v
  9667  	return s
  9668  }
  9669  
  9670  // SetDistributions sets the Distributions field's value.
  9671  func (s *DistributionConfiguration) SetDistributions(v []*Distribution) *DistributionConfiguration {
  9672  	s.Distributions = v
  9673  	return s
  9674  }
  9675  
  9676  // SetName sets the Name field's value.
  9677  func (s *DistributionConfiguration) SetName(v string) *DistributionConfiguration {
  9678  	s.Name = &v
  9679  	return s
  9680  }
  9681  
  9682  // SetTags sets the Tags field's value.
  9683  func (s *DistributionConfiguration) SetTags(v map[string]*string) *DistributionConfiguration {
  9684  	s.Tags = v
  9685  	return s
  9686  }
  9687  
  9688  // SetTimeoutMinutes sets the TimeoutMinutes field's value.
  9689  func (s *DistributionConfiguration) SetTimeoutMinutes(v int64) *DistributionConfiguration {
  9690  	s.TimeoutMinutes = &v
  9691  	return s
  9692  }
  9693  
  9694  // A high-level overview of a distribution configuration.
  9695  type DistributionConfigurationSummary struct {
  9696  	_ struct{} `type:"structure"`
  9697  
  9698  	// The Amazon Resource Name (ARN) of the distribution configuration.
  9699  	Arn *string `locationName:"arn" type:"string"`
  9700  
  9701  	// The date on which the distribution configuration was created.
  9702  	DateCreated *string `locationName:"dateCreated" type:"string"`
  9703  
  9704  	// The date on which the distribution configuration was updated.
  9705  	DateUpdated *string `locationName:"dateUpdated" type:"string"`
  9706  
  9707  	// The description of the distribution configuration.
  9708  	Description *string `locationName:"description" min:"1" type:"string"`
  9709  
  9710  	// The name of the distribution configuration.
  9711  	Name *string `locationName:"name" type:"string"`
  9712  
  9713  	// A list of Regions where the container image is distributed to.
  9714  	Regions []*string `locationName:"regions" type:"list"`
  9715  
  9716  	// The tags associated with the distribution configuration.
  9717  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9718  }
  9719  
  9720  // String returns the string representation.
  9721  //
  9722  // API parameter values that are decorated as "sensitive" in the API will not
  9723  // be included in the string output. The member name will be present, but the
  9724  // value will be replaced with "sensitive".
  9725  func (s DistributionConfigurationSummary) String() string {
  9726  	return awsutil.Prettify(s)
  9727  }
  9728  
  9729  // GoString returns the string representation.
  9730  //
  9731  // API parameter values that are decorated as "sensitive" in the API will not
  9732  // be included in the string output. The member name will be present, but the
  9733  // value will be replaced with "sensitive".
  9734  func (s DistributionConfigurationSummary) GoString() string {
  9735  	return s.String()
  9736  }
  9737  
  9738  // SetArn sets the Arn field's value.
  9739  func (s *DistributionConfigurationSummary) SetArn(v string) *DistributionConfigurationSummary {
  9740  	s.Arn = &v
  9741  	return s
  9742  }
  9743  
  9744  // SetDateCreated sets the DateCreated field's value.
  9745  func (s *DistributionConfigurationSummary) SetDateCreated(v string) *DistributionConfigurationSummary {
  9746  	s.DateCreated = &v
  9747  	return s
  9748  }
  9749  
  9750  // SetDateUpdated sets the DateUpdated field's value.
  9751  func (s *DistributionConfigurationSummary) SetDateUpdated(v string) *DistributionConfigurationSummary {
  9752  	s.DateUpdated = &v
  9753  	return s
  9754  }
  9755  
  9756  // SetDescription sets the Description field's value.
  9757  func (s *DistributionConfigurationSummary) SetDescription(v string) *DistributionConfigurationSummary {
  9758  	s.Description = &v
  9759  	return s
  9760  }
  9761  
  9762  // SetName sets the Name field's value.
  9763  func (s *DistributionConfigurationSummary) SetName(v string) *DistributionConfigurationSummary {
  9764  	s.Name = &v
  9765  	return s
  9766  }
  9767  
  9768  // SetRegions sets the Regions field's value.
  9769  func (s *DistributionConfigurationSummary) SetRegions(v []*string) *DistributionConfigurationSummary {
  9770  	s.Regions = v
  9771  	return s
  9772  }
  9773  
  9774  // SetTags sets the Tags field's value.
  9775  func (s *DistributionConfigurationSummary) SetTags(v map[string]*string) *DistributionConfigurationSummary {
  9776  	s.Tags = v
  9777  	return s
  9778  }
  9779  
  9780  // Amazon EBS-specific block device mapping specifications.
  9781  type EbsInstanceBlockDeviceSpecification struct {
  9782  	_ struct{} `type:"structure"`
  9783  
  9784  	// Use to configure delete on termination of the associated device.
  9785  	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  9786  
  9787  	// Use to configure device encryption.
  9788  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  9789  
  9790  	// Use to configure device IOPS.
  9791  	Iops *int64 `locationName:"iops" min:"100" type:"integer"`
  9792  
  9793  	// Use to configure the KMS key to use when encrypting the device.
  9794  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
  9795  
  9796  	// The snapshot that defines the device contents.
  9797  	SnapshotId *string `locationName:"snapshotId" min:"1" type:"string"`
  9798  
  9799  	// For GP3 volumes only – The throughput in MiB/s that the volume supports.
  9800  	Throughput *int64 `locationName:"throughput" min:"125" type:"integer"`
  9801  
  9802  	// Use to override the device's volume size.
  9803  	VolumeSize *int64 `locationName:"volumeSize" min:"1" type:"integer"`
  9804  
  9805  	// Use to override the device's volume type.
  9806  	VolumeType *string `locationName:"volumeType" type:"string" enum:"EbsVolumeType"`
  9807  }
  9808  
  9809  // String returns the string representation.
  9810  //
  9811  // API parameter values that are decorated as "sensitive" in the API will not
  9812  // be included in the string output. The member name will be present, but the
  9813  // value will be replaced with "sensitive".
  9814  func (s EbsInstanceBlockDeviceSpecification) String() string {
  9815  	return awsutil.Prettify(s)
  9816  }
  9817  
  9818  // GoString returns the string representation.
  9819  //
  9820  // API parameter values that are decorated as "sensitive" in the API will not
  9821  // be included in the string output. The member name will be present, but the
  9822  // value will be replaced with "sensitive".
  9823  func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  9824  	return s.String()
  9825  }
  9826  
  9827  // Validate inspects the fields of the type to determine if they are valid.
  9828  func (s *EbsInstanceBlockDeviceSpecification) Validate() error {
  9829  	invalidParams := request.ErrInvalidParams{Context: "EbsInstanceBlockDeviceSpecification"}
  9830  	if s.Iops != nil && *s.Iops < 100 {
  9831  		invalidParams.Add(request.NewErrParamMinValue("Iops", 100))
  9832  	}
  9833  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  9834  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  9835  	}
  9836  	if s.SnapshotId != nil && len(*s.SnapshotId) < 1 {
  9837  		invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1))
  9838  	}
  9839  	if s.Throughput != nil && *s.Throughput < 125 {
  9840  		invalidParams.Add(request.NewErrParamMinValue("Throughput", 125))
  9841  	}
  9842  	if s.VolumeSize != nil && *s.VolumeSize < 1 {
  9843  		invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1))
  9844  	}
  9845  
  9846  	if invalidParams.Len() > 0 {
  9847  		return invalidParams
  9848  	}
  9849  	return nil
  9850  }
  9851  
  9852  // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  9853  func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  9854  	s.DeleteOnTermination = &v
  9855  	return s
  9856  }
  9857  
  9858  // SetEncrypted sets the Encrypted field's value.
  9859  func (s *EbsInstanceBlockDeviceSpecification) SetEncrypted(v bool) *EbsInstanceBlockDeviceSpecification {
  9860  	s.Encrypted = &v
  9861  	return s
  9862  }
  9863  
  9864  // SetIops sets the Iops field's value.
  9865  func (s *EbsInstanceBlockDeviceSpecification) SetIops(v int64) *EbsInstanceBlockDeviceSpecification {
  9866  	s.Iops = &v
  9867  	return s
  9868  }
  9869  
  9870  // SetKmsKeyId sets the KmsKeyId field's value.
  9871  func (s *EbsInstanceBlockDeviceSpecification) SetKmsKeyId(v string) *EbsInstanceBlockDeviceSpecification {
  9872  	s.KmsKeyId = &v
  9873  	return s
  9874  }
  9875  
  9876  // SetSnapshotId sets the SnapshotId field's value.
  9877  func (s *EbsInstanceBlockDeviceSpecification) SetSnapshotId(v string) *EbsInstanceBlockDeviceSpecification {
  9878  	s.SnapshotId = &v
  9879  	return s
  9880  }
  9881  
  9882  // SetThroughput sets the Throughput field's value.
  9883  func (s *EbsInstanceBlockDeviceSpecification) SetThroughput(v int64) *EbsInstanceBlockDeviceSpecification {
  9884  	s.Throughput = &v
  9885  	return s
  9886  }
  9887  
  9888  // SetVolumeSize sets the VolumeSize field's value.
  9889  func (s *EbsInstanceBlockDeviceSpecification) SetVolumeSize(v int64) *EbsInstanceBlockDeviceSpecification {
  9890  	s.VolumeSize = &v
  9891  	return s
  9892  }
  9893  
  9894  // SetVolumeType sets the VolumeType field's value.
  9895  func (s *EbsInstanceBlockDeviceSpecification) SetVolumeType(v string) *EbsInstanceBlockDeviceSpecification {
  9896  	s.VolumeType = &v
  9897  	return s
  9898  }
  9899  
  9900  // A filter name and value pair that is used to return a more specific list
  9901  // of results from a list operation. Filters can be used to match a set of resources
  9902  // by specific criteria, such as tags, attributes, or IDs.
  9903  type Filter struct {
  9904  	_ struct{} `type:"structure"`
  9905  
  9906  	// The name of the filter. Filter names are case-sensitive.
  9907  	Name *string `locationName:"name" type:"string"`
  9908  
  9909  	// The filter values. Filter values are case-sensitive.
  9910  	Values []*string `locationName:"values" min:"1" type:"list"`
  9911  }
  9912  
  9913  // String returns the string representation.
  9914  //
  9915  // API parameter values that are decorated as "sensitive" in the API will not
  9916  // be included in the string output. The member name will be present, but the
  9917  // value will be replaced with "sensitive".
  9918  func (s Filter) String() string {
  9919  	return awsutil.Prettify(s)
  9920  }
  9921  
  9922  // GoString returns the string representation.
  9923  //
  9924  // API parameter values that are decorated as "sensitive" in the API will not
  9925  // be included in the string output. The member name will be present, but the
  9926  // value will be replaced with "sensitive".
  9927  func (s Filter) GoString() string {
  9928  	return s.String()
  9929  }
  9930  
  9931  // Validate inspects the fields of the type to determine if they are valid.
  9932  func (s *Filter) Validate() error {
  9933  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
  9934  	if s.Values != nil && len(s.Values) < 1 {
  9935  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  9936  	}
  9937  
  9938  	if invalidParams.Len() > 0 {
  9939  		return invalidParams
  9940  	}
  9941  	return nil
  9942  }
  9943  
  9944  // SetName sets the Name field's value.
  9945  func (s *Filter) SetName(v string) *Filter {
  9946  	s.Name = &v
  9947  	return s
  9948  }
  9949  
  9950  // SetValues sets the Values field's value.
  9951  func (s *Filter) SetValues(v []*string) *Filter {
  9952  	s.Values = v
  9953  	return s
  9954  }
  9955  
  9956  // You are not authorized to perform the requested operation.
  9957  type ForbiddenException struct {
  9958  	_            struct{}                  `type:"structure"`
  9959  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9960  
  9961  	Message_ *string `locationName:"message" type:"string"`
  9962  }
  9963  
  9964  // String returns the string representation.
  9965  //
  9966  // API parameter values that are decorated as "sensitive" in the API will not
  9967  // be included in the string output. The member name will be present, but the
  9968  // value will be replaced with "sensitive".
  9969  func (s ForbiddenException) String() string {
  9970  	return awsutil.Prettify(s)
  9971  }
  9972  
  9973  // GoString returns the string representation.
  9974  //
  9975  // API parameter values that are decorated as "sensitive" in the API will not
  9976  // be included in the string output. The member name will be present, but the
  9977  // value will be replaced with "sensitive".
  9978  func (s ForbiddenException) GoString() string {
  9979  	return s.String()
  9980  }
  9981  
  9982  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  9983  	return &ForbiddenException{
  9984  		RespMetadata: v,
  9985  	}
  9986  }
  9987  
  9988  // Code returns the exception type name.
  9989  func (s *ForbiddenException) Code() string {
  9990  	return "ForbiddenException"
  9991  }
  9992  
  9993  // Message returns the exception's message.
  9994  func (s *ForbiddenException) Message() string {
  9995  	if s.Message_ != nil {
  9996  		return *s.Message_
  9997  	}
  9998  	return ""
  9999  }
 10000  
 10001  // OrigErr always returns nil, satisfies awserr.Error interface.
 10002  func (s *ForbiddenException) OrigErr() error {
 10003  	return nil
 10004  }
 10005  
 10006  func (s *ForbiddenException) Error() string {
 10007  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10008  }
 10009  
 10010  // Status code returns the HTTP status code for the request's response error.
 10011  func (s *ForbiddenException) StatusCode() int {
 10012  	return s.RespMetadata.StatusCode
 10013  }
 10014  
 10015  // RequestID returns the service's response RequestID for request.
 10016  func (s *ForbiddenException) RequestID() string {
 10017  	return s.RespMetadata.RequestID
 10018  }
 10019  
 10020  type GetComponentInput struct {
 10021  	_ struct{} `type:"structure" nopayload:"true"`
 10022  
 10023  	// The Amazon Resource Name (ARN) of the component that you want to retrieve.
 10024  	// Regex requires "/\d+$" suffix.
 10025  	//
 10026  	// ComponentBuildVersionArn is a required field
 10027  	ComponentBuildVersionArn *string `location:"querystring" locationName:"componentBuildVersionArn" type:"string" required:"true"`
 10028  }
 10029  
 10030  // String returns the string representation.
 10031  //
 10032  // API parameter values that are decorated as "sensitive" in the API will not
 10033  // be included in the string output. The member name will be present, but the
 10034  // value will be replaced with "sensitive".
 10035  func (s GetComponentInput) String() string {
 10036  	return awsutil.Prettify(s)
 10037  }
 10038  
 10039  // GoString returns the string representation.
 10040  //
 10041  // API parameter values that are decorated as "sensitive" in the API will not
 10042  // be included in the string output. The member name will be present, but the
 10043  // value will be replaced with "sensitive".
 10044  func (s GetComponentInput) GoString() string {
 10045  	return s.String()
 10046  }
 10047  
 10048  // Validate inspects the fields of the type to determine if they are valid.
 10049  func (s *GetComponentInput) Validate() error {
 10050  	invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"}
 10051  	if s.ComponentBuildVersionArn == nil {
 10052  		invalidParams.Add(request.NewErrParamRequired("ComponentBuildVersionArn"))
 10053  	}
 10054  
 10055  	if invalidParams.Len() > 0 {
 10056  		return invalidParams
 10057  	}
 10058  	return nil
 10059  }
 10060  
 10061  // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value.
 10062  func (s *GetComponentInput) SetComponentBuildVersionArn(v string) *GetComponentInput {
 10063  	s.ComponentBuildVersionArn = &v
 10064  	return s
 10065  }
 10066  
 10067  type GetComponentOutput struct {
 10068  	_ struct{} `type:"structure"`
 10069  
 10070  	// The component object associated with the specified ARN.
 10071  	Component *Component `locationName:"component" type:"structure"`
 10072  
 10073  	// The request ID that uniquely identifies this request.
 10074  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10075  }
 10076  
 10077  // String returns the string representation.
 10078  //
 10079  // API parameter values that are decorated as "sensitive" in the API will not
 10080  // be included in the string output. The member name will be present, but the
 10081  // value will be replaced with "sensitive".
 10082  func (s GetComponentOutput) String() string {
 10083  	return awsutil.Prettify(s)
 10084  }
 10085  
 10086  // GoString returns the string representation.
 10087  //
 10088  // API parameter values that are decorated as "sensitive" in the API will not
 10089  // be included in the string output. The member name will be present, but the
 10090  // value will be replaced with "sensitive".
 10091  func (s GetComponentOutput) GoString() string {
 10092  	return s.String()
 10093  }
 10094  
 10095  // SetComponent sets the Component field's value.
 10096  func (s *GetComponentOutput) SetComponent(v *Component) *GetComponentOutput {
 10097  	s.Component = v
 10098  	return s
 10099  }
 10100  
 10101  // SetRequestId sets the RequestId field's value.
 10102  func (s *GetComponentOutput) SetRequestId(v string) *GetComponentOutput {
 10103  	s.RequestId = &v
 10104  	return s
 10105  }
 10106  
 10107  type GetComponentPolicyInput struct {
 10108  	_ struct{} `type:"structure" nopayload:"true"`
 10109  
 10110  	// The Amazon Resource Name (ARN) of the component whose policy you want to
 10111  	// retrieve.
 10112  	//
 10113  	// ComponentArn is a required field
 10114  	ComponentArn *string `location:"querystring" locationName:"componentArn" type:"string" required:"true"`
 10115  }
 10116  
 10117  // String returns the string representation.
 10118  //
 10119  // API parameter values that are decorated as "sensitive" in the API will not
 10120  // be included in the string output. The member name will be present, but the
 10121  // value will be replaced with "sensitive".
 10122  func (s GetComponentPolicyInput) String() string {
 10123  	return awsutil.Prettify(s)
 10124  }
 10125  
 10126  // GoString returns the string representation.
 10127  //
 10128  // API parameter values that are decorated as "sensitive" in the API will not
 10129  // be included in the string output. The member name will be present, but the
 10130  // value will be replaced with "sensitive".
 10131  func (s GetComponentPolicyInput) GoString() string {
 10132  	return s.String()
 10133  }
 10134  
 10135  // Validate inspects the fields of the type to determine if they are valid.
 10136  func (s *GetComponentPolicyInput) Validate() error {
 10137  	invalidParams := request.ErrInvalidParams{Context: "GetComponentPolicyInput"}
 10138  	if s.ComponentArn == nil {
 10139  		invalidParams.Add(request.NewErrParamRequired("ComponentArn"))
 10140  	}
 10141  
 10142  	if invalidParams.Len() > 0 {
 10143  		return invalidParams
 10144  	}
 10145  	return nil
 10146  }
 10147  
 10148  // SetComponentArn sets the ComponentArn field's value.
 10149  func (s *GetComponentPolicyInput) SetComponentArn(v string) *GetComponentPolicyInput {
 10150  	s.ComponentArn = &v
 10151  	return s
 10152  }
 10153  
 10154  type GetComponentPolicyOutput struct {
 10155  	_ struct{} `type:"structure"`
 10156  
 10157  	// The component policy.
 10158  	Policy *string `locationName:"policy" min:"1" type:"string"`
 10159  
 10160  	// The request ID that uniquely identifies this request.
 10161  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10162  }
 10163  
 10164  // String returns the string representation.
 10165  //
 10166  // API parameter values that are decorated as "sensitive" in the API will not
 10167  // be included in the string output. The member name will be present, but the
 10168  // value will be replaced with "sensitive".
 10169  func (s GetComponentPolicyOutput) String() string {
 10170  	return awsutil.Prettify(s)
 10171  }
 10172  
 10173  // GoString returns the string representation.
 10174  //
 10175  // API parameter values that are decorated as "sensitive" in the API will not
 10176  // be included in the string output. The member name will be present, but the
 10177  // value will be replaced with "sensitive".
 10178  func (s GetComponentPolicyOutput) GoString() string {
 10179  	return s.String()
 10180  }
 10181  
 10182  // SetPolicy sets the Policy field's value.
 10183  func (s *GetComponentPolicyOutput) SetPolicy(v string) *GetComponentPolicyOutput {
 10184  	s.Policy = &v
 10185  	return s
 10186  }
 10187  
 10188  // SetRequestId sets the RequestId field's value.
 10189  func (s *GetComponentPolicyOutput) SetRequestId(v string) *GetComponentPolicyOutput {
 10190  	s.RequestId = &v
 10191  	return s
 10192  }
 10193  
 10194  type GetContainerRecipeInput struct {
 10195  	_ struct{} `type:"structure" nopayload:"true"`
 10196  
 10197  	// The Amazon Resource Name (ARN) of the container recipe to retrieve.
 10198  	//
 10199  	// ContainerRecipeArn is a required field
 10200  	ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"`
 10201  }
 10202  
 10203  // String returns the string representation.
 10204  //
 10205  // API parameter values that are decorated as "sensitive" in the API will not
 10206  // be included in the string output. The member name will be present, but the
 10207  // value will be replaced with "sensitive".
 10208  func (s GetContainerRecipeInput) String() string {
 10209  	return awsutil.Prettify(s)
 10210  }
 10211  
 10212  // GoString returns the string representation.
 10213  //
 10214  // API parameter values that are decorated as "sensitive" in the API will not
 10215  // be included in the string output. The member name will be present, but the
 10216  // value will be replaced with "sensitive".
 10217  func (s GetContainerRecipeInput) GoString() string {
 10218  	return s.String()
 10219  }
 10220  
 10221  // Validate inspects the fields of the type to determine if they are valid.
 10222  func (s *GetContainerRecipeInput) Validate() error {
 10223  	invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipeInput"}
 10224  	if s.ContainerRecipeArn == nil {
 10225  		invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn"))
 10226  	}
 10227  
 10228  	if invalidParams.Len() > 0 {
 10229  		return invalidParams
 10230  	}
 10231  	return nil
 10232  }
 10233  
 10234  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 10235  func (s *GetContainerRecipeInput) SetContainerRecipeArn(v string) *GetContainerRecipeInput {
 10236  	s.ContainerRecipeArn = &v
 10237  	return s
 10238  }
 10239  
 10240  type GetContainerRecipeOutput struct {
 10241  	_ struct{} `type:"structure"`
 10242  
 10243  	// The container recipe object that is returned.
 10244  	ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"`
 10245  
 10246  	// The request ID that uniquely identifies this request.
 10247  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10248  }
 10249  
 10250  // String returns the string representation.
 10251  //
 10252  // API parameter values that are decorated as "sensitive" in the API will not
 10253  // be included in the string output. The member name will be present, but the
 10254  // value will be replaced with "sensitive".
 10255  func (s GetContainerRecipeOutput) String() string {
 10256  	return awsutil.Prettify(s)
 10257  }
 10258  
 10259  // GoString returns the string representation.
 10260  //
 10261  // API parameter values that are decorated as "sensitive" in the API will not
 10262  // be included in the string output. The member name will be present, but the
 10263  // value will be replaced with "sensitive".
 10264  func (s GetContainerRecipeOutput) GoString() string {
 10265  	return s.String()
 10266  }
 10267  
 10268  // SetContainerRecipe sets the ContainerRecipe field's value.
 10269  func (s *GetContainerRecipeOutput) SetContainerRecipe(v *ContainerRecipe) *GetContainerRecipeOutput {
 10270  	s.ContainerRecipe = v
 10271  	return s
 10272  }
 10273  
 10274  // SetRequestId sets the RequestId field's value.
 10275  func (s *GetContainerRecipeOutput) SetRequestId(v string) *GetContainerRecipeOutput {
 10276  	s.RequestId = &v
 10277  	return s
 10278  }
 10279  
 10280  type GetContainerRecipePolicyInput struct {
 10281  	_ struct{} `type:"structure" nopayload:"true"`
 10282  
 10283  	// The Amazon Resource Name (ARN) of the container recipe for the policy being
 10284  	// requested.
 10285  	//
 10286  	// ContainerRecipeArn is a required field
 10287  	ContainerRecipeArn *string `location:"querystring" locationName:"containerRecipeArn" type:"string" required:"true"`
 10288  }
 10289  
 10290  // String returns the string representation.
 10291  //
 10292  // API parameter values that are decorated as "sensitive" in the API will not
 10293  // be included in the string output. The member name will be present, but the
 10294  // value will be replaced with "sensitive".
 10295  func (s GetContainerRecipePolicyInput) String() string {
 10296  	return awsutil.Prettify(s)
 10297  }
 10298  
 10299  // GoString returns the string representation.
 10300  //
 10301  // API parameter values that are decorated as "sensitive" in the API will not
 10302  // be included in the string output. The member name will be present, but the
 10303  // value will be replaced with "sensitive".
 10304  func (s GetContainerRecipePolicyInput) GoString() string {
 10305  	return s.String()
 10306  }
 10307  
 10308  // Validate inspects the fields of the type to determine if they are valid.
 10309  func (s *GetContainerRecipePolicyInput) Validate() error {
 10310  	invalidParams := request.ErrInvalidParams{Context: "GetContainerRecipePolicyInput"}
 10311  	if s.ContainerRecipeArn == nil {
 10312  		invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn"))
 10313  	}
 10314  
 10315  	if invalidParams.Len() > 0 {
 10316  		return invalidParams
 10317  	}
 10318  	return nil
 10319  }
 10320  
 10321  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 10322  func (s *GetContainerRecipePolicyInput) SetContainerRecipeArn(v string) *GetContainerRecipePolicyInput {
 10323  	s.ContainerRecipeArn = &v
 10324  	return s
 10325  }
 10326  
 10327  type GetContainerRecipePolicyOutput struct {
 10328  	_ struct{} `type:"structure"`
 10329  
 10330  	// The container recipe policy object that is returned.
 10331  	Policy *string `locationName:"policy" min:"1" type:"string"`
 10332  
 10333  	// The request ID that uniquely identifies this request.
 10334  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10335  }
 10336  
 10337  // String returns the string representation.
 10338  //
 10339  // API parameter values that are decorated as "sensitive" in the API will not
 10340  // be included in the string output. The member name will be present, but the
 10341  // value will be replaced with "sensitive".
 10342  func (s GetContainerRecipePolicyOutput) String() string {
 10343  	return awsutil.Prettify(s)
 10344  }
 10345  
 10346  // GoString returns the string representation.
 10347  //
 10348  // API parameter values that are decorated as "sensitive" in the API will not
 10349  // be included in the string output. The member name will be present, but the
 10350  // value will be replaced with "sensitive".
 10351  func (s GetContainerRecipePolicyOutput) GoString() string {
 10352  	return s.String()
 10353  }
 10354  
 10355  // SetPolicy sets the Policy field's value.
 10356  func (s *GetContainerRecipePolicyOutput) SetPolicy(v string) *GetContainerRecipePolicyOutput {
 10357  	s.Policy = &v
 10358  	return s
 10359  }
 10360  
 10361  // SetRequestId sets the RequestId field's value.
 10362  func (s *GetContainerRecipePolicyOutput) SetRequestId(v string) *GetContainerRecipePolicyOutput {
 10363  	s.RequestId = &v
 10364  	return s
 10365  }
 10366  
 10367  type GetDistributionConfigurationInput struct {
 10368  	_ struct{} `type:"structure" nopayload:"true"`
 10369  
 10370  	// The Amazon Resource Name (ARN) of the distribution configuration that you
 10371  	// want to retrieve.
 10372  	//
 10373  	// DistributionConfigurationArn is a required field
 10374  	DistributionConfigurationArn *string `location:"querystring" locationName:"distributionConfigurationArn" type:"string" required:"true"`
 10375  }
 10376  
 10377  // String returns the string representation.
 10378  //
 10379  // API parameter values that are decorated as "sensitive" in the API will not
 10380  // be included in the string output. The member name will be present, but the
 10381  // value will be replaced with "sensitive".
 10382  func (s GetDistributionConfigurationInput) String() string {
 10383  	return awsutil.Prettify(s)
 10384  }
 10385  
 10386  // GoString returns the string representation.
 10387  //
 10388  // API parameter values that are decorated as "sensitive" in the API will not
 10389  // be included in the string output. The member name will be present, but the
 10390  // value will be replaced with "sensitive".
 10391  func (s GetDistributionConfigurationInput) GoString() string {
 10392  	return s.String()
 10393  }
 10394  
 10395  // Validate inspects the fields of the type to determine if they are valid.
 10396  func (s *GetDistributionConfigurationInput) Validate() error {
 10397  	invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigurationInput"}
 10398  	if s.DistributionConfigurationArn == nil {
 10399  		invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn"))
 10400  	}
 10401  
 10402  	if invalidParams.Len() > 0 {
 10403  		return invalidParams
 10404  	}
 10405  	return nil
 10406  }
 10407  
 10408  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
 10409  func (s *GetDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *GetDistributionConfigurationInput {
 10410  	s.DistributionConfigurationArn = &v
 10411  	return s
 10412  }
 10413  
 10414  type GetDistributionConfigurationOutput struct {
 10415  	_ struct{} `type:"structure"`
 10416  
 10417  	// The distribution configuration object.
 10418  	DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"`
 10419  
 10420  	// The request ID that uniquely identifies this request.
 10421  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10422  }
 10423  
 10424  // String returns the string representation.
 10425  //
 10426  // API parameter values that are decorated as "sensitive" in the API will not
 10427  // be included in the string output. The member name will be present, but the
 10428  // value will be replaced with "sensitive".
 10429  func (s GetDistributionConfigurationOutput) String() string {
 10430  	return awsutil.Prettify(s)
 10431  }
 10432  
 10433  // GoString returns the string representation.
 10434  //
 10435  // API parameter values that are decorated as "sensitive" in the API will not
 10436  // be included in the string output. The member name will be present, but the
 10437  // value will be replaced with "sensitive".
 10438  func (s GetDistributionConfigurationOutput) GoString() string {
 10439  	return s.String()
 10440  }
 10441  
 10442  // SetDistributionConfiguration sets the DistributionConfiguration field's value.
 10443  func (s *GetDistributionConfigurationOutput) SetDistributionConfiguration(v *DistributionConfiguration) *GetDistributionConfigurationOutput {
 10444  	s.DistributionConfiguration = v
 10445  	return s
 10446  }
 10447  
 10448  // SetRequestId sets the RequestId field's value.
 10449  func (s *GetDistributionConfigurationOutput) SetRequestId(v string) *GetDistributionConfigurationOutput {
 10450  	s.RequestId = &v
 10451  	return s
 10452  }
 10453  
 10454  type GetImageInput struct {
 10455  	_ struct{} `type:"structure" nopayload:"true"`
 10456  
 10457  	// The Amazon Resource Name (ARN) of the image that you want to retrieve.
 10458  	//
 10459  	// ImageBuildVersionArn is a required field
 10460  	ImageBuildVersionArn *string `location:"querystring" locationName:"imageBuildVersionArn" type:"string" required:"true"`
 10461  }
 10462  
 10463  // String returns the string representation.
 10464  //
 10465  // API parameter values that are decorated as "sensitive" in the API will not
 10466  // be included in the string output. The member name will be present, but the
 10467  // value will be replaced with "sensitive".
 10468  func (s GetImageInput) String() string {
 10469  	return awsutil.Prettify(s)
 10470  }
 10471  
 10472  // GoString returns the string representation.
 10473  //
 10474  // API parameter values that are decorated as "sensitive" in the API will not
 10475  // be included in the string output. The member name will be present, but the
 10476  // value will be replaced with "sensitive".
 10477  func (s GetImageInput) GoString() string {
 10478  	return s.String()
 10479  }
 10480  
 10481  // Validate inspects the fields of the type to determine if they are valid.
 10482  func (s *GetImageInput) Validate() error {
 10483  	invalidParams := request.ErrInvalidParams{Context: "GetImageInput"}
 10484  	if s.ImageBuildVersionArn == nil {
 10485  		invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn"))
 10486  	}
 10487  
 10488  	if invalidParams.Len() > 0 {
 10489  		return invalidParams
 10490  	}
 10491  	return nil
 10492  }
 10493  
 10494  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
 10495  func (s *GetImageInput) SetImageBuildVersionArn(v string) *GetImageInput {
 10496  	s.ImageBuildVersionArn = &v
 10497  	return s
 10498  }
 10499  
 10500  type GetImageOutput struct {
 10501  	_ struct{} `type:"structure"`
 10502  
 10503  	// The image object.
 10504  	Image *Image `locationName:"image" type:"structure"`
 10505  
 10506  	// The request ID that uniquely identifies this request.
 10507  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10508  }
 10509  
 10510  // String returns the string representation.
 10511  //
 10512  // API parameter values that are decorated as "sensitive" in the API will not
 10513  // be included in the string output. The member name will be present, but the
 10514  // value will be replaced with "sensitive".
 10515  func (s GetImageOutput) String() string {
 10516  	return awsutil.Prettify(s)
 10517  }
 10518  
 10519  // GoString returns the string representation.
 10520  //
 10521  // API parameter values that are decorated as "sensitive" in the API will not
 10522  // be included in the string output. The member name will be present, but the
 10523  // value will be replaced with "sensitive".
 10524  func (s GetImageOutput) GoString() string {
 10525  	return s.String()
 10526  }
 10527  
 10528  // SetImage sets the Image field's value.
 10529  func (s *GetImageOutput) SetImage(v *Image) *GetImageOutput {
 10530  	s.Image = v
 10531  	return s
 10532  }
 10533  
 10534  // SetRequestId sets the RequestId field's value.
 10535  func (s *GetImageOutput) SetRequestId(v string) *GetImageOutput {
 10536  	s.RequestId = &v
 10537  	return s
 10538  }
 10539  
 10540  type GetImagePipelineInput struct {
 10541  	_ struct{} `type:"structure" nopayload:"true"`
 10542  
 10543  	// The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve.
 10544  	//
 10545  	// ImagePipelineArn is a required field
 10546  	ImagePipelineArn *string `location:"querystring" locationName:"imagePipelineArn" type:"string" required:"true"`
 10547  }
 10548  
 10549  // String returns the string representation.
 10550  //
 10551  // API parameter values that are decorated as "sensitive" in the API will not
 10552  // be included in the string output. The member name will be present, but the
 10553  // value will be replaced with "sensitive".
 10554  func (s GetImagePipelineInput) String() string {
 10555  	return awsutil.Prettify(s)
 10556  }
 10557  
 10558  // GoString returns the string representation.
 10559  //
 10560  // API parameter values that are decorated as "sensitive" in the API will not
 10561  // be included in the string output. The member name will be present, but the
 10562  // value will be replaced with "sensitive".
 10563  func (s GetImagePipelineInput) GoString() string {
 10564  	return s.String()
 10565  }
 10566  
 10567  // Validate inspects the fields of the type to determine if they are valid.
 10568  func (s *GetImagePipelineInput) Validate() error {
 10569  	invalidParams := request.ErrInvalidParams{Context: "GetImagePipelineInput"}
 10570  	if s.ImagePipelineArn == nil {
 10571  		invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn"))
 10572  	}
 10573  
 10574  	if invalidParams.Len() > 0 {
 10575  		return invalidParams
 10576  	}
 10577  	return nil
 10578  }
 10579  
 10580  // SetImagePipelineArn sets the ImagePipelineArn field's value.
 10581  func (s *GetImagePipelineInput) SetImagePipelineArn(v string) *GetImagePipelineInput {
 10582  	s.ImagePipelineArn = &v
 10583  	return s
 10584  }
 10585  
 10586  type GetImagePipelineOutput struct {
 10587  	_ struct{} `type:"structure"`
 10588  
 10589  	// The image pipeline object.
 10590  	ImagePipeline *ImagePipeline `locationName:"imagePipeline" type:"structure"`
 10591  
 10592  	// The request ID that uniquely identifies this request.
 10593  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10594  }
 10595  
 10596  // String returns the string representation.
 10597  //
 10598  // API parameter values that are decorated as "sensitive" in the API will not
 10599  // be included in the string output. The member name will be present, but the
 10600  // value will be replaced with "sensitive".
 10601  func (s GetImagePipelineOutput) String() string {
 10602  	return awsutil.Prettify(s)
 10603  }
 10604  
 10605  // GoString returns the string representation.
 10606  //
 10607  // API parameter values that are decorated as "sensitive" in the API will not
 10608  // be included in the string output. The member name will be present, but the
 10609  // value will be replaced with "sensitive".
 10610  func (s GetImagePipelineOutput) GoString() string {
 10611  	return s.String()
 10612  }
 10613  
 10614  // SetImagePipeline sets the ImagePipeline field's value.
 10615  func (s *GetImagePipelineOutput) SetImagePipeline(v *ImagePipeline) *GetImagePipelineOutput {
 10616  	s.ImagePipeline = v
 10617  	return s
 10618  }
 10619  
 10620  // SetRequestId sets the RequestId field's value.
 10621  func (s *GetImagePipelineOutput) SetRequestId(v string) *GetImagePipelineOutput {
 10622  	s.RequestId = &v
 10623  	return s
 10624  }
 10625  
 10626  type GetImagePolicyInput struct {
 10627  	_ struct{} `type:"structure" nopayload:"true"`
 10628  
 10629  	// The Amazon Resource Name (ARN) of the image whose policy you want to retrieve.
 10630  	//
 10631  	// ImageArn is a required field
 10632  	ImageArn *string `location:"querystring" locationName:"imageArn" type:"string" required:"true"`
 10633  }
 10634  
 10635  // String returns the string representation.
 10636  //
 10637  // API parameter values that are decorated as "sensitive" in the API will not
 10638  // be included in the string output. The member name will be present, but the
 10639  // value will be replaced with "sensitive".
 10640  func (s GetImagePolicyInput) String() string {
 10641  	return awsutil.Prettify(s)
 10642  }
 10643  
 10644  // GoString returns the string representation.
 10645  //
 10646  // API parameter values that are decorated as "sensitive" in the API will not
 10647  // be included in the string output. The member name will be present, but the
 10648  // value will be replaced with "sensitive".
 10649  func (s GetImagePolicyInput) GoString() string {
 10650  	return s.String()
 10651  }
 10652  
 10653  // Validate inspects the fields of the type to determine if they are valid.
 10654  func (s *GetImagePolicyInput) Validate() error {
 10655  	invalidParams := request.ErrInvalidParams{Context: "GetImagePolicyInput"}
 10656  	if s.ImageArn == nil {
 10657  		invalidParams.Add(request.NewErrParamRequired("ImageArn"))
 10658  	}
 10659  
 10660  	if invalidParams.Len() > 0 {
 10661  		return invalidParams
 10662  	}
 10663  	return nil
 10664  }
 10665  
 10666  // SetImageArn sets the ImageArn field's value.
 10667  func (s *GetImagePolicyInput) SetImageArn(v string) *GetImagePolicyInput {
 10668  	s.ImageArn = &v
 10669  	return s
 10670  }
 10671  
 10672  type GetImagePolicyOutput struct {
 10673  	_ struct{} `type:"structure"`
 10674  
 10675  	// The image policy object.
 10676  	Policy *string `locationName:"policy" min:"1" type:"string"`
 10677  
 10678  	// The request ID that uniquely identifies this request.
 10679  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10680  }
 10681  
 10682  // String returns the string representation.
 10683  //
 10684  // API parameter values that are decorated as "sensitive" in the API will not
 10685  // be included in the string output. The member name will be present, but the
 10686  // value will be replaced with "sensitive".
 10687  func (s GetImagePolicyOutput) String() string {
 10688  	return awsutil.Prettify(s)
 10689  }
 10690  
 10691  // GoString returns the string representation.
 10692  //
 10693  // API parameter values that are decorated as "sensitive" in the API will not
 10694  // be included in the string output. The member name will be present, but the
 10695  // value will be replaced with "sensitive".
 10696  func (s GetImagePolicyOutput) GoString() string {
 10697  	return s.String()
 10698  }
 10699  
 10700  // SetPolicy sets the Policy field's value.
 10701  func (s *GetImagePolicyOutput) SetPolicy(v string) *GetImagePolicyOutput {
 10702  	s.Policy = &v
 10703  	return s
 10704  }
 10705  
 10706  // SetRequestId sets the RequestId field's value.
 10707  func (s *GetImagePolicyOutput) SetRequestId(v string) *GetImagePolicyOutput {
 10708  	s.RequestId = &v
 10709  	return s
 10710  }
 10711  
 10712  type GetImageRecipeInput struct {
 10713  	_ struct{} `type:"structure" nopayload:"true"`
 10714  
 10715  	// The Amazon Resource Name (ARN) of the image recipe that you want to retrieve.
 10716  	//
 10717  	// ImageRecipeArn is a required field
 10718  	ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"`
 10719  }
 10720  
 10721  // String returns the string representation.
 10722  //
 10723  // API parameter values that are decorated as "sensitive" in the API will not
 10724  // be included in the string output. The member name will be present, but the
 10725  // value will be replaced with "sensitive".
 10726  func (s GetImageRecipeInput) String() string {
 10727  	return awsutil.Prettify(s)
 10728  }
 10729  
 10730  // GoString returns the string representation.
 10731  //
 10732  // API parameter values that are decorated as "sensitive" in the API will not
 10733  // be included in the string output. The member name will be present, but the
 10734  // value will be replaced with "sensitive".
 10735  func (s GetImageRecipeInput) GoString() string {
 10736  	return s.String()
 10737  }
 10738  
 10739  // Validate inspects the fields of the type to determine if they are valid.
 10740  func (s *GetImageRecipeInput) Validate() error {
 10741  	invalidParams := request.ErrInvalidParams{Context: "GetImageRecipeInput"}
 10742  	if s.ImageRecipeArn == nil {
 10743  		invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn"))
 10744  	}
 10745  
 10746  	if invalidParams.Len() > 0 {
 10747  		return invalidParams
 10748  	}
 10749  	return nil
 10750  }
 10751  
 10752  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 10753  func (s *GetImageRecipeInput) SetImageRecipeArn(v string) *GetImageRecipeInput {
 10754  	s.ImageRecipeArn = &v
 10755  	return s
 10756  }
 10757  
 10758  type GetImageRecipeOutput struct {
 10759  	_ struct{} `type:"structure"`
 10760  
 10761  	// The image recipe object.
 10762  	ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"`
 10763  
 10764  	// The request ID that uniquely identifies this request.
 10765  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10766  }
 10767  
 10768  // String returns the string representation.
 10769  //
 10770  // API parameter values that are decorated as "sensitive" in the API will not
 10771  // be included in the string output. The member name will be present, but the
 10772  // value will be replaced with "sensitive".
 10773  func (s GetImageRecipeOutput) String() string {
 10774  	return awsutil.Prettify(s)
 10775  }
 10776  
 10777  // GoString returns the string representation.
 10778  //
 10779  // API parameter values that are decorated as "sensitive" in the API will not
 10780  // be included in the string output. The member name will be present, but the
 10781  // value will be replaced with "sensitive".
 10782  func (s GetImageRecipeOutput) GoString() string {
 10783  	return s.String()
 10784  }
 10785  
 10786  // SetImageRecipe sets the ImageRecipe field's value.
 10787  func (s *GetImageRecipeOutput) SetImageRecipe(v *ImageRecipe) *GetImageRecipeOutput {
 10788  	s.ImageRecipe = v
 10789  	return s
 10790  }
 10791  
 10792  // SetRequestId sets the RequestId field's value.
 10793  func (s *GetImageRecipeOutput) SetRequestId(v string) *GetImageRecipeOutput {
 10794  	s.RequestId = &v
 10795  	return s
 10796  }
 10797  
 10798  type GetImageRecipePolicyInput struct {
 10799  	_ struct{} `type:"structure" nopayload:"true"`
 10800  
 10801  	// The Amazon Resource Name (ARN) of the image recipe whose policy you want
 10802  	// to retrieve.
 10803  	//
 10804  	// ImageRecipeArn is a required field
 10805  	ImageRecipeArn *string `location:"querystring" locationName:"imageRecipeArn" type:"string" required:"true"`
 10806  }
 10807  
 10808  // String returns the string representation.
 10809  //
 10810  // API parameter values that are decorated as "sensitive" in the API will not
 10811  // be included in the string output. The member name will be present, but the
 10812  // value will be replaced with "sensitive".
 10813  func (s GetImageRecipePolicyInput) String() string {
 10814  	return awsutil.Prettify(s)
 10815  }
 10816  
 10817  // GoString returns the string representation.
 10818  //
 10819  // API parameter values that are decorated as "sensitive" in the API will not
 10820  // be included in the string output. The member name will be present, but the
 10821  // value will be replaced with "sensitive".
 10822  func (s GetImageRecipePolicyInput) GoString() string {
 10823  	return s.String()
 10824  }
 10825  
 10826  // Validate inspects the fields of the type to determine if they are valid.
 10827  func (s *GetImageRecipePolicyInput) Validate() error {
 10828  	invalidParams := request.ErrInvalidParams{Context: "GetImageRecipePolicyInput"}
 10829  	if s.ImageRecipeArn == nil {
 10830  		invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn"))
 10831  	}
 10832  
 10833  	if invalidParams.Len() > 0 {
 10834  		return invalidParams
 10835  	}
 10836  	return nil
 10837  }
 10838  
 10839  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 10840  func (s *GetImageRecipePolicyInput) SetImageRecipeArn(v string) *GetImageRecipePolicyInput {
 10841  	s.ImageRecipeArn = &v
 10842  	return s
 10843  }
 10844  
 10845  type GetImageRecipePolicyOutput struct {
 10846  	_ struct{} `type:"structure"`
 10847  
 10848  	// The image recipe policy object.
 10849  	Policy *string `locationName:"policy" min:"1" type:"string"`
 10850  
 10851  	// The request ID that uniquely identifies this request.
 10852  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10853  }
 10854  
 10855  // String returns the string representation.
 10856  //
 10857  // API parameter values that are decorated as "sensitive" in the API will not
 10858  // be included in the string output. The member name will be present, but the
 10859  // value will be replaced with "sensitive".
 10860  func (s GetImageRecipePolicyOutput) String() string {
 10861  	return awsutil.Prettify(s)
 10862  }
 10863  
 10864  // GoString returns the string representation.
 10865  //
 10866  // API parameter values that are decorated as "sensitive" in the API will not
 10867  // be included in the string output. The member name will be present, but the
 10868  // value will be replaced with "sensitive".
 10869  func (s GetImageRecipePolicyOutput) GoString() string {
 10870  	return s.String()
 10871  }
 10872  
 10873  // SetPolicy sets the Policy field's value.
 10874  func (s *GetImageRecipePolicyOutput) SetPolicy(v string) *GetImageRecipePolicyOutput {
 10875  	s.Policy = &v
 10876  	return s
 10877  }
 10878  
 10879  // SetRequestId sets the RequestId field's value.
 10880  func (s *GetImageRecipePolicyOutput) SetRequestId(v string) *GetImageRecipePolicyOutput {
 10881  	s.RequestId = &v
 10882  	return s
 10883  }
 10884  
 10885  // GetInfrastructureConfiguration request object.
 10886  type GetInfrastructureConfigurationInput struct {
 10887  	_ struct{} `type:"structure" nopayload:"true"`
 10888  
 10889  	// The Amazon Resource Name (ARN) of the infrastructure configuration that you
 10890  	// want to retrieve.
 10891  	//
 10892  	// InfrastructureConfigurationArn is a required field
 10893  	InfrastructureConfigurationArn *string `location:"querystring" locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
 10894  }
 10895  
 10896  // String returns the string representation.
 10897  //
 10898  // API parameter values that are decorated as "sensitive" in the API will not
 10899  // be included in the string output. The member name will be present, but the
 10900  // value will be replaced with "sensitive".
 10901  func (s GetInfrastructureConfigurationInput) String() string {
 10902  	return awsutil.Prettify(s)
 10903  }
 10904  
 10905  // GoString returns the string representation.
 10906  //
 10907  // API parameter values that are decorated as "sensitive" in the API will not
 10908  // be included in the string output. The member name will be present, but the
 10909  // value will be replaced with "sensitive".
 10910  func (s GetInfrastructureConfigurationInput) GoString() string {
 10911  	return s.String()
 10912  }
 10913  
 10914  // Validate inspects the fields of the type to determine if they are valid.
 10915  func (s *GetInfrastructureConfigurationInput) Validate() error {
 10916  	invalidParams := request.ErrInvalidParams{Context: "GetInfrastructureConfigurationInput"}
 10917  	if s.InfrastructureConfigurationArn == nil {
 10918  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
 10919  	}
 10920  
 10921  	if invalidParams.Len() > 0 {
 10922  		return invalidParams
 10923  	}
 10924  	return nil
 10925  }
 10926  
 10927  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
 10928  func (s *GetInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *GetInfrastructureConfigurationInput {
 10929  	s.InfrastructureConfigurationArn = &v
 10930  	return s
 10931  }
 10932  
 10933  // GetInfrastructureConfiguration response object.
 10934  type GetInfrastructureConfigurationOutput struct {
 10935  	_ struct{} `type:"structure"`
 10936  
 10937  	// The infrastructure configuration object.
 10938  	InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"`
 10939  
 10940  	// The request ID that uniquely identifies this request.
 10941  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 10942  }
 10943  
 10944  // String returns the string representation.
 10945  //
 10946  // API parameter values that are decorated as "sensitive" in the API will not
 10947  // be included in the string output. The member name will be present, but the
 10948  // value will be replaced with "sensitive".
 10949  func (s GetInfrastructureConfigurationOutput) String() string {
 10950  	return awsutil.Prettify(s)
 10951  }
 10952  
 10953  // GoString returns the string representation.
 10954  //
 10955  // API parameter values that are decorated as "sensitive" in the API will not
 10956  // be included in the string output. The member name will be present, but the
 10957  // value will be replaced with "sensitive".
 10958  func (s GetInfrastructureConfigurationOutput) GoString() string {
 10959  	return s.String()
 10960  }
 10961  
 10962  // SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value.
 10963  func (s *GetInfrastructureConfigurationOutput) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *GetInfrastructureConfigurationOutput {
 10964  	s.InfrastructureConfiguration = v
 10965  	return s
 10966  }
 10967  
 10968  // SetRequestId sets the RequestId field's value.
 10969  func (s *GetInfrastructureConfigurationOutput) SetRequestId(v string) *GetInfrastructureConfigurationOutput {
 10970  	s.RequestId = &v
 10971  	return s
 10972  }
 10973  
 10974  // You have specified a client token for an operation using parameter values
 10975  // that differ from a previous request that used the same client token.
 10976  type IdempotentParameterMismatchException struct {
 10977  	_            struct{}                  `type:"structure"`
 10978  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10979  
 10980  	Message_ *string `locationName:"message" type:"string"`
 10981  }
 10982  
 10983  // String returns the string representation.
 10984  //
 10985  // API parameter values that are decorated as "sensitive" in the API will not
 10986  // be included in the string output. The member name will be present, but the
 10987  // value will be replaced with "sensitive".
 10988  func (s IdempotentParameterMismatchException) String() string {
 10989  	return awsutil.Prettify(s)
 10990  }
 10991  
 10992  // GoString returns the string representation.
 10993  //
 10994  // API parameter values that are decorated as "sensitive" in the API will not
 10995  // be included in the string output. The member name will be present, but the
 10996  // value will be replaced with "sensitive".
 10997  func (s IdempotentParameterMismatchException) GoString() string {
 10998  	return s.String()
 10999  }
 11000  
 11001  func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
 11002  	return &IdempotentParameterMismatchException{
 11003  		RespMetadata: v,
 11004  	}
 11005  }
 11006  
 11007  // Code returns the exception type name.
 11008  func (s *IdempotentParameterMismatchException) Code() string {
 11009  	return "IdempotentParameterMismatchException"
 11010  }
 11011  
 11012  // Message returns the exception's message.
 11013  func (s *IdempotentParameterMismatchException) Message() string {
 11014  	if s.Message_ != nil {
 11015  		return *s.Message_
 11016  	}
 11017  	return ""
 11018  }
 11019  
 11020  // OrigErr always returns nil, satisfies awserr.Error interface.
 11021  func (s *IdempotentParameterMismatchException) OrigErr() error {
 11022  	return nil
 11023  }
 11024  
 11025  func (s *IdempotentParameterMismatchException) Error() string {
 11026  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11027  }
 11028  
 11029  // Status code returns the HTTP status code for the request's response error.
 11030  func (s *IdempotentParameterMismatchException) StatusCode() int {
 11031  	return s.RespMetadata.StatusCode
 11032  }
 11033  
 11034  // RequestID returns the service's response RequestID for request.
 11035  func (s *IdempotentParameterMismatchException) RequestID() string {
 11036  	return s.RespMetadata.RequestID
 11037  }
 11038  
 11039  // An Image Builder image. You must specify exactly one recipe for the image
 11040  // – either a container recipe (containerRecipe), which creates a container
 11041  // image, or an image recipe (imageRecipe), which creates an AMI.
 11042  type Image struct {
 11043  	_ struct{} `type:"structure"`
 11044  
 11045  	// The Amazon Resource Name (ARN) of the image.
 11046  	//
 11047  	// Semantic versioning is included in each object's Amazon Resource Name (ARN),
 11048  	// at the level that applies to that object as follows:
 11049  	//
 11050  	// Versionless ARNs and Name ARNs do not include specific values in any of the
 11051  	// nodes. The nodes are either left off entirely, or they are specified as wildcards,
 11052  	// for example: x.x.x.
 11053  	//
 11054  	// Version ARNs have only the first three nodes: <major>.<minor>.<patch>
 11055  	//
 11056  	// Build version ARNs have all four nodes, and point to a specific build for
 11057  	// a specific version of an object.
 11058  	Arn *string `locationName:"arn" type:"string"`
 11059  
 11060  	// The recipe that is used to create an Image Builder container image.
 11061  	ContainerRecipe *ContainerRecipe `locationName:"containerRecipe" type:"structure"`
 11062  
 11063  	// The date on which this image was created.
 11064  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11065  
 11066  	// The distribution configuration used when creating this image.
 11067  	DistributionConfiguration *DistributionConfiguration `locationName:"distributionConfiguration" type:"structure"`
 11068  
 11069  	// Collects additional information about the image being created, including
 11070  	// the operating system (OS) version and package list. This information is used
 11071  	// to enhance the overall experience of using EC2 Image Builder. Enabled by
 11072  	// default.
 11073  	EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"`
 11074  
 11075  	// The image recipe used when creating the image.
 11076  	ImageRecipe *ImageRecipe `locationName:"imageRecipe" type:"structure"`
 11077  
 11078  	// The image tests configuration used when creating this image.
 11079  	ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"`
 11080  
 11081  	// The infrastructure used when creating this image.
 11082  	InfrastructureConfiguration *InfrastructureConfiguration `locationName:"infrastructureConfiguration" type:"structure"`
 11083  
 11084  	// The name of the image.
 11085  	Name *string `locationName:"name" type:"string"`
 11086  
 11087  	// The operating system version of the instance. For example, Amazon Linux 2,
 11088  	// Ubuntu 18, or Microsoft Windows Server 2019.
 11089  	OsVersion *string `locationName:"osVersion" min:"1" type:"string"`
 11090  
 11091  	// The output resources produced when creating this image.
 11092  	OutputResources *OutputResources `locationName:"outputResources" type:"structure"`
 11093  
 11094  	// The platform of the image.
 11095  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11096  
 11097  	// The Amazon Resource Name (ARN) of the image pipeline that created this image.
 11098  	SourcePipelineArn *string `locationName:"sourcePipelineArn" type:"string"`
 11099  
 11100  	// The name of the image pipeline that created this image.
 11101  	SourcePipelineName *string `locationName:"sourcePipelineName" type:"string"`
 11102  
 11103  	// The state of the image.
 11104  	State *ImageState `locationName:"state" type:"structure"`
 11105  
 11106  	// The tags of the image.
 11107  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 11108  
 11109  	// Specifies whether this is an AMI or container image.
 11110  	Type *string `locationName:"type" type:"string" enum:"ImageType"`
 11111  
 11112  	// The semantic version of the image.
 11113  	//
 11114  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
 11115  	// can assign values for the first three, and can filter on all of them.
 11116  	//
 11117  	// Assignment: For the first three nodes you can assign any positive integer
 11118  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
 11119  	// node. Image Builder automatically assigns the build number to the fourth
 11120  	// node.
 11121  	//
 11122  	// Patterns: You can use any numeric pattern that adheres to the assignment
 11123  	// requirements for the nodes that you can assign. For example, you might choose
 11124  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
 11125  	//
 11126  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
 11127  	// (x) to specify the most recent versions or nodes when selecting the base
 11128  	// image or components for your recipe. When you use a wildcard in any node,
 11129  	// all nodes to the right of the first wildcard must also be wildcards.
 11130  	Version *string `locationName:"version" type:"string"`
 11131  }
 11132  
 11133  // String returns the string representation.
 11134  //
 11135  // API parameter values that are decorated as "sensitive" in the API will not
 11136  // be included in the string output. The member name will be present, but the
 11137  // value will be replaced with "sensitive".
 11138  func (s Image) String() string {
 11139  	return awsutil.Prettify(s)
 11140  }
 11141  
 11142  // GoString returns the string representation.
 11143  //
 11144  // API parameter values that are decorated as "sensitive" in the API will not
 11145  // be included in the string output. The member name will be present, but the
 11146  // value will be replaced with "sensitive".
 11147  func (s Image) GoString() string {
 11148  	return s.String()
 11149  }
 11150  
 11151  // SetArn sets the Arn field's value.
 11152  func (s *Image) SetArn(v string) *Image {
 11153  	s.Arn = &v
 11154  	return s
 11155  }
 11156  
 11157  // SetContainerRecipe sets the ContainerRecipe field's value.
 11158  func (s *Image) SetContainerRecipe(v *ContainerRecipe) *Image {
 11159  	s.ContainerRecipe = v
 11160  	return s
 11161  }
 11162  
 11163  // SetDateCreated sets the DateCreated field's value.
 11164  func (s *Image) SetDateCreated(v string) *Image {
 11165  	s.DateCreated = &v
 11166  	return s
 11167  }
 11168  
 11169  // SetDistributionConfiguration sets the DistributionConfiguration field's value.
 11170  func (s *Image) SetDistributionConfiguration(v *DistributionConfiguration) *Image {
 11171  	s.DistributionConfiguration = v
 11172  	return s
 11173  }
 11174  
 11175  // SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value.
 11176  func (s *Image) SetEnhancedImageMetadataEnabled(v bool) *Image {
 11177  	s.EnhancedImageMetadataEnabled = &v
 11178  	return s
 11179  }
 11180  
 11181  // SetImageRecipe sets the ImageRecipe field's value.
 11182  func (s *Image) SetImageRecipe(v *ImageRecipe) *Image {
 11183  	s.ImageRecipe = v
 11184  	return s
 11185  }
 11186  
 11187  // SetImageTestsConfiguration sets the ImageTestsConfiguration field's value.
 11188  func (s *Image) SetImageTestsConfiguration(v *ImageTestsConfiguration) *Image {
 11189  	s.ImageTestsConfiguration = v
 11190  	return s
 11191  }
 11192  
 11193  // SetInfrastructureConfiguration sets the InfrastructureConfiguration field's value.
 11194  func (s *Image) SetInfrastructureConfiguration(v *InfrastructureConfiguration) *Image {
 11195  	s.InfrastructureConfiguration = v
 11196  	return s
 11197  }
 11198  
 11199  // SetName sets the Name field's value.
 11200  func (s *Image) SetName(v string) *Image {
 11201  	s.Name = &v
 11202  	return s
 11203  }
 11204  
 11205  // SetOsVersion sets the OsVersion field's value.
 11206  func (s *Image) SetOsVersion(v string) *Image {
 11207  	s.OsVersion = &v
 11208  	return s
 11209  }
 11210  
 11211  // SetOutputResources sets the OutputResources field's value.
 11212  func (s *Image) SetOutputResources(v *OutputResources) *Image {
 11213  	s.OutputResources = v
 11214  	return s
 11215  }
 11216  
 11217  // SetPlatform sets the Platform field's value.
 11218  func (s *Image) SetPlatform(v string) *Image {
 11219  	s.Platform = &v
 11220  	return s
 11221  }
 11222  
 11223  // SetSourcePipelineArn sets the SourcePipelineArn field's value.
 11224  func (s *Image) SetSourcePipelineArn(v string) *Image {
 11225  	s.SourcePipelineArn = &v
 11226  	return s
 11227  }
 11228  
 11229  // SetSourcePipelineName sets the SourcePipelineName field's value.
 11230  func (s *Image) SetSourcePipelineName(v string) *Image {
 11231  	s.SourcePipelineName = &v
 11232  	return s
 11233  }
 11234  
 11235  // SetState sets the State field's value.
 11236  func (s *Image) SetState(v *ImageState) *Image {
 11237  	s.State = v
 11238  	return s
 11239  }
 11240  
 11241  // SetTags sets the Tags field's value.
 11242  func (s *Image) SetTags(v map[string]*string) *Image {
 11243  	s.Tags = v
 11244  	return s
 11245  }
 11246  
 11247  // SetType sets the Type field's value.
 11248  func (s *Image) SetType(v string) *Image {
 11249  	s.Type = &v
 11250  	return s
 11251  }
 11252  
 11253  // SetVersion sets the Version field's value.
 11254  func (s *Image) SetVersion(v string) *Image {
 11255  	s.Version = &v
 11256  	return s
 11257  }
 11258  
 11259  // Represents a package installed on an Image Builder image.
 11260  type ImagePackage struct {
 11261  	_ struct{} `type:"structure"`
 11262  
 11263  	// The name of the package as reported to the operating system package manager.
 11264  	PackageName *string `locationName:"packageName" min:"1" type:"string"`
 11265  
 11266  	// The version of the package as reported to the operating system package manager.
 11267  	PackageVersion *string `locationName:"packageVersion" min:"1" type:"string"`
 11268  }
 11269  
 11270  // String returns the string representation.
 11271  //
 11272  // API parameter values that are decorated as "sensitive" in the API will not
 11273  // be included in the string output. The member name will be present, but the
 11274  // value will be replaced with "sensitive".
 11275  func (s ImagePackage) String() string {
 11276  	return awsutil.Prettify(s)
 11277  }
 11278  
 11279  // GoString returns the string representation.
 11280  //
 11281  // API parameter values that are decorated as "sensitive" in the API will not
 11282  // be included in the string output. The member name will be present, but the
 11283  // value will be replaced with "sensitive".
 11284  func (s ImagePackage) GoString() string {
 11285  	return s.String()
 11286  }
 11287  
 11288  // SetPackageName sets the PackageName field's value.
 11289  func (s *ImagePackage) SetPackageName(v string) *ImagePackage {
 11290  	s.PackageName = &v
 11291  	return s
 11292  }
 11293  
 11294  // SetPackageVersion sets the PackageVersion field's value.
 11295  func (s *ImagePackage) SetPackageVersion(v string) *ImagePackage {
 11296  	s.PackageVersion = &v
 11297  	return s
 11298  }
 11299  
 11300  // Details of an image pipeline.
 11301  type ImagePipeline struct {
 11302  	_ struct{} `type:"structure"`
 11303  
 11304  	// The Amazon Resource Name (ARN) of the image pipeline.
 11305  	Arn *string `locationName:"arn" type:"string"`
 11306  
 11307  	// The Amazon Resource Name (ARN) of the container recipe that is used for this
 11308  	// pipeline.
 11309  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
 11310  
 11311  	// The date on which this image pipeline was created.
 11312  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11313  
 11314  	// The date on which this image pipeline was last run.
 11315  	DateLastRun *string `locationName:"dateLastRun" type:"string"`
 11316  
 11317  	// The date on which this image pipeline will next be run.
 11318  	DateNextRun *string `locationName:"dateNextRun" type:"string"`
 11319  
 11320  	// The date on which this image pipeline was last updated.
 11321  	DateUpdated *string `locationName:"dateUpdated" type:"string"`
 11322  
 11323  	// The description of the image pipeline.
 11324  	Description *string `locationName:"description" min:"1" type:"string"`
 11325  
 11326  	// The Amazon Resource Name (ARN) of the distribution configuration associated
 11327  	// with this image pipeline.
 11328  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
 11329  
 11330  	// Collects additional information about the image being created, including
 11331  	// the operating system (OS) version and package list. This information is used
 11332  	// to enhance the overall experience of using EC2 Image Builder. Enabled by
 11333  	// default.
 11334  	EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"`
 11335  
 11336  	// The Amazon Resource Name (ARN) of the image recipe associated with this image
 11337  	// pipeline.
 11338  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
 11339  
 11340  	// The image tests configuration of the image pipeline.
 11341  	ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"`
 11342  
 11343  	// The Amazon Resource Name (ARN) of the infrastructure configuration associated
 11344  	// with this image pipeline.
 11345  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"`
 11346  
 11347  	// The name of the image pipeline.
 11348  	Name *string `locationName:"name" type:"string"`
 11349  
 11350  	// The platform of the image pipeline.
 11351  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11352  
 11353  	// The schedule of the image pipeline.
 11354  	Schedule *Schedule `locationName:"schedule" type:"structure"`
 11355  
 11356  	// The status of the image pipeline.
 11357  	Status *string `locationName:"status" type:"string" enum:"PipelineStatus"`
 11358  
 11359  	// The tags of this image pipeline.
 11360  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 11361  }
 11362  
 11363  // String returns the string representation.
 11364  //
 11365  // API parameter values that are decorated as "sensitive" in the API will not
 11366  // be included in the string output. The member name will be present, but the
 11367  // value will be replaced with "sensitive".
 11368  func (s ImagePipeline) String() string {
 11369  	return awsutil.Prettify(s)
 11370  }
 11371  
 11372  // GoString returns the string representation.
 11373  //
 11374  // API parameter values that are decorated as "sensitive" in the API will not
 11375  // be included in the string output. The member name will be present, but the
 11376  // value will be replaced with "sensitive".
 11377  func (s ImagePipeline) GoString() string {
 11378  	return s.String()
 11379  }
 11380  
 11381  // SetArn sets the Arn field's value.
 11382  func (s *ImagePipeline) SetArn(v string) *ImagePipeline {
 11383  	s.Arn = &v
 11384  	return s
 11385  }
 11386  
 11387  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 11388  func (s *ImagePipeline) SetContainerRecipeArn(v string) *ImagePipeline {
 11389  	s.ContainerRecipeArn = &v
 11390  	return s
 11391  }
 11392  
 11393  // SetDateCreated sets the DateCreated field's value.
 11394  func (s *ImagePipeline) SetDateCreated(v string) *ImagePipeline {
 11395  	s.DateCreated = &v
 11396  	return s
 11397  }
 11398  
 11399  // SetDateLastRun sets the DateLastRun field's value.
 11400  func (s *ImagePipeline) SetDateLastRun(v string) *ImagePipeline {
 11401  	s.DateLastRun = &v
 11402  	return s
 11403  }
 11404  
 11405  // SetDateNextRun sets the DateNextRun field's value.
 11406  func (s *ImagePipeline) SetDateNextRun(v string) *ImagePipeline {
 11407  	s.DateNextRun = &v
 11408  	return s
 11409  }
 11410  
 11411  // SetDateUpdated sets the DateUpdated field's value.
 11412  func (s *ImagePipeline) SetDateUpdated(v string) *ImagePipeline {
 11413  	s.DateUpdated = &v
 11414  	return s
 11415  }
 11416  
 11417  // SetDescription sets the Description field's value.
 11418  func (s *ImagePipeline) SetDescription(v string) *ImagePipeline {
 11419  	s.Description = &v
 11420  	return s
 11421  }
 11422  
 11423  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
 11424  func (s *ImagePipeline) SetDistributionConfigurationArn(v string) *ImagePipeline {
 11425  	s.DistributionConfigurationArn = &v
 11426  	return s
 11427  }
 11428  
 11429  // SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value.
 11430  func (s *ImagePipeline) SetEnhancedImageMetadataEnabled(v bool) *ImagePipeline {
 11431  	s.EnhancedImageMetadataEnabled = &v
 11432  	return s
 11433  }
 11434  
 11435  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 11436  func (s *ImagePipeline) SetImageRecipeArn(v string) *ImagePipeline {
 11437  	s.ImageRecipeArn = &v
 11438  	return s
 11439  }
 11440  
 11441  // SetImageTestsConfiguration sets the ImageTestsConfiguration field's value.
 11442  func (s *ImagePipeline) SetImageTestsConfiguration(v *ImageTestsConfiguration) *ImagePipeline {
 11443  	s.ImageTestsConfiguration = v
 11444  	return s
 11445  }
 11446  
 11447  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
 11448  func (s *ImagePipeline) SetInfrastructureConfigurationArn(v string) *ImagePipeline {
 11449  	s.InfrastructureConfigurationArn = &v
 11450  	return s
 11451  }
 11452  
 11453  // SetName sets the Name field's value.
 11454  func (s *ImagePipeline) SetName(v string) *ImagePipeline {
 11455  	s.Name = &v
 11456  	return s
 11457  }
 11458  
 11459  // SetPlatform sets the Platform field's value.
 11460  func (s *ImagePipeline) SetPlatform(v string) *ImagePipeline {
 11461  	s.Platform = &v
 11462  	return s
 11463  }
 11464  
 11465  // SetSchedule sets the Schedule field's value.
 11466  func (s *ImagePipeline) SetSchedule(v *Schedule) *ImagePipeline {
 11467  	s.Schedule = v
 11468  	return s
 11469  }
 11470  
 11471  // SetStatus sets the Status field's value.
 11472  func (s *ImagePipeline) SetStatus(v string) *ImagePipeline {
 11473  	s.Status = &v
 11474  	return s
 11475  }
 11476  
 11477  // SetTags sets the Tags field's value.
 11478  func (s *ImagePipeline) SetTags(v map[string]*string) *ImagePipeline {
 11479  	s.Tags = v
 11480  	return s
 11481  }
 11482  
 11483  // An image recipe.
 11484  type ImageRecipe struct {
 11485  	_ struct{} `type:"structure"`
 11486  
 11487  	// Before you create a new AMI, Image Builder launches temporary Amazon EC2
 11488  	// instances to build and test your image configuration. Instance configuration
 11489  	// adds a layer of control over those instances. You can define settings and
 11490  	// add scripts to run when an instance is launched from your AMI.
 11491  	AdditionalInstanceConfiguration *AdditionalInstanceConfiguration `locationName:"additionalInstanceConfiguration" type:"structure"`
 11492  
 11493  	// The Amazon Resource Name (ARN) of the image recipe.
 11494  	Arn *string `locationName:"arn" type:"string"`
 11495  
 11496  	// The block device mappings to apply when creating images from this recipe.
 11497  	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"`
 11498  
 11499  	// The components of the image recipe.
 11500  	Components []*ComponentConfiguration `locationName:"components" min:"1" type:"list"`
 11501  
 11502  	// The date on which this image recipe was created.
 11503  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11504  
 11505  	// The description of the image recipe.
 11506  	Description *string `locationName:"description" min:"1" type:"string"`
 11507  
 11508  	// The name of the image recipe.
 11509  	Name *string `locationName:"name" type:"string"`
 11510  
 11511  	// The owner of the image recipe.
 11512  	Owner *string `locationName:"owner" min:"1" type:"string"`
 11513  
 11514  	// The base image of the image recipe.
 11515  	ParentImage *string `locationName:"parentImage" min:"1" type:"string"`
 11516  
 11517  	// The platform of the image recipe.
 11518  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11519  
 11520  	// The tags of the image recipe.
 11521  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 11522  
 11523  	// Specifies which type of image is created by the recipe - an AMI or a container
 11524  	// image.
 11525  	Type *string `locationName:"type" type:"string" enum:"ImageType"`
 11526  
 11527  	// The version of the image recipe.
 11528  	Version *string `locationName:"version" type:"string"`
 11529  
 11530  	// The working directory to be used during build and test workflows.
 11531  	WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"`
 11532  }
 11533  
 11534  // String returns the string representation.
 11535  //
 11536  // API parameter values that are decorated as "sensitive" in the API will not
 11537  // be included in the string output. The member name will be present, but the
 11538  // value will be replaced with "sensitive".
 11539  func (s ImageRecipe) String() string {
 11540  	return awsutil.Prettify(s)
 11541  }
 11542  
 11543  // GoString returns the string representation.
 11544  //
 11545  // API parameter values that are decorated as "sensitive" in the API will not
 11546  // be included in the string output. The member name will be present, but the
 11547  // value will be replaced with "sensitive".
 11548  func (s ImageRecipe) GoString() string {
 11549  	return s.String()
 11550  }
 11551  
 11552  // SetAdditionalInstanceConfiguration sets the AdditionalInstanceConfiguration field's value.
 11553  func (s *ImageRecipe) SetAdditionalInstanceConfiguration(v *AdditionalInstanceConfiguration) *ImageRecipe {
 11554  	s.AdditionalInstanceConfiguration = v
 11555  	return s
 11556  }
 11557  
 11558  // SetArn sets the Arn field's value.
 11559  func (s *ImageRecipe) SetArn(v string) *ImageRecipe {
 11560  	s.Arn = &v
 11561  	return s
 11562  }
 11563  
 11564  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
 11565  func (s *ImageRecipe) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *ImageRecipe {
 11566  	s.BlockDeviceMappings = v
 11567  	return s
 11568  }
 11569  
 11570  // SetComponents sets the Components field's value.
 11571  func (s *ImageRecipe) SetComponents(v []*ComponentConfiguration) *ImageRecipe {
 11572  	s.Components = v
 11573  	return s
 11574  }
 11575  
 11576  // SetDateCreated sets the DateCreated field's value.
 11577  func (s *ImageRecipe) SetDateCreated(v string) *ImageRecipe {
 11578  	s.DateCreated = &v
 11579  	return s
 11580  }
 11581  
 11582  // SetDescription sets the Description field's value.
 11583  func (s *ImageRecipe) SetDescription(v string) *ImageRecipe {
 11584  	s.Description = &v
 11585  	return s
 11586  }
 11587  
 11588  // SetName sets the Name field's value.
 11589  func (s *ImageRecipe) SetName(v string) *ImageRecipe {
 11590  	s.Name = &v
 11591  	return s
 11592  }
 11593  
 11594  // SetOwner sets the Owner field's value.
 11595  func (s *ImageRecipe) SetOwner(v string) *ImageRecipe {
 11596  	s.Owner = &v
 11597  	return s
 11598  }
 11599  
 11600  // SetParentImage sets the ParentImage field's value.
 11601  func (s *ImageRecipe) SetParentImage(v string) *ImageRecipe {
 11602  	s.ParentImage = &v
 11603  	return s
 11604  }
 11605  
 11606  // SetPlatform sets the Platform field's value.
 11607  func (s *ImageRecipe) SetPlatform(v string) *ImageRecipe {
 11608  	s.Platform = &v
 11609  	return s
 11610  }
 11611  
 11612  // SetTags sets the Tags field's value.
 11613  func (s *ImageRecipe) SetTags(v map[string]*string) *ImageRecipe {
 11614  	s.Tags = v
 11615  	return s
 11616  }
 11617  
 11618  // SetType sets the Type field's value.
 11619  func (s *ImageRecipe) SetType(v string) *ImageRecipe {
 11620  	s.Type = &v
 11621  	return s
 11622  }
 11623  
 11624  // SetVersion sets the Version field's value.
 11625  func (s *ImageRecipe) SetVersion(v string) *ImageRecipe {
 11626  	s.Version = &v
 11627  	return s
 11628  }
 11629  
 11630  // SetWorkingDirectory sets the WorkingDirectory field's value.
 11631  func (s *ImageRecipe) SetWorkingDirectory(v string) *ImageRecipe {
 11632  	s.WorkingDirectory = &v
 11633  	return s
 11634  }
 11635  
 11636  // A summary of an image recipe.
 11637  type ImageRecipeSummary struct {
 11638  	_ struct{} `type:"structure"`
 11639  
 11640  	// The Amazon Resource Name (ARN) of the image recipe.
 11641  	Arn *string `locationName:"arn" type:"string"`
 11642  
 11643  	// The date on which this image recipe was created.
 11644  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11645  
 11646  	// The name of the image recipe.
 11647  	Name *string `locationName:"name" type:"string"`
 11648  
 11649  	// The owner of the image recipe.
 11650  	Owner *string `locationName:"owner" min:"1" type:"string"`
 11651  
 11652  	// The base image of the image recipe.
 11653  	ParentImage *string `locationName:"parentImage" min:"1" type:"string"`
 11654  
 11655  	// The platform of the image recipe.
 11656  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11657  
 11658  	// The tags of the image recipe.
 11659  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 11660  }
 11661  
 11662  // String returns the string representation.
 11663  //
 11664  // API parameter values that are decorated as "sensitive" in the API will not
 11665  // be included in the string output. The member name will be present, but the
 11666  // value will be replaced with "sensitive".
 11667  func (s ImageRecipeSummary) String() string {
 11668  	return awsutil.Prettify(s)
 11669  }
 11670  
 11671  // GoString returns the string representation.
 11672  //
 11673  // API parameter values that are decorated as "sensitive" in the API will not
 11674  // be included in the string output. The member name will be present, but the
 11675  // value will be replaced with "sensitive".
 11676  func (s ImageRecipeSummary) GoString() string {
 11677  	return s.String()
 11678  }
 11679  
 11680  // SetArn sets the Arn field's value.
 11681  func (s *ImageRecipeSummary) SetArn(v string) *ImageRecipeSummary {
 11682  	s.Arn = &v
 11683  	return s
 11684  }
 11685  
 11686  // SetDateCreated sets the DateCreated field's value.
 11687  func (s *ImageRecipeSummary) SetDateCreated(v string) *ImageRecipeSummary {
 11688  	s.DateCreated = &v
 11689  	return s
 11690  }
 11691  
 11692  // SetName sets the Name field's value.
 11693  func (s *ImageRecipeSummary) SetName(v string) *ImageRecipeSummary {
 11694  	s.Name = &v
 11695  	return s
 11696  }
 11697  
 11698  // SetOwner sets the Owner field's value.
 11699  func (s *ImageRecipeSummary) SetOwner(v string) *ImageRecipeSummary {
 11700  	s.Owner = &v
 11701  	return s
 11702  }
 11703  
 11704  // SetParentImage sets the ParentImage field's value.
 11705  func (s *ImageRecipeSummary) SetParentImage(v string) *ImageRecipeSummary {
 11706  	s.ParentImage = &v
 11707  	return s
 11708  }
 11709  
 11710  // SetPlatform sets the Platform field's value.
 11711  func (s *ImageRecipeSummary) SetPlatform(v string) *ImageRecipeSummary {
 11712  	s.Platform = &v
 11713  	return s
 11714  }
 11715  
 11716  // SetTags sets the Tags field's value.
 11717  func (s *ImageRecipeSummary) SetTags(v map[string]*string) *ImageRecipeSummary {
 11718  	s.Tags = v
 11719  	return s
 11720  }
 11721  
 11722  // Image state shows the image status and the reason for that status.
 11723  type ImageState struct {
 11724  	_ struct{} `type:"structure"`
 11725  
 11726  	// The reason for the image's status.
 11727  	Reason *string `locationName:"reason" min:"1" type:"string"`
 11728  
 11729  	// The status of the image.
 11730  	Status *string `locationName:"status" type:"string" enum:"ImageStatus"`
 11731  }
 11732  
 11733  // String returns the string representation.
 11734  //
 11735  // API parameter values that are decorated as "sensitive" in the API will not
 11736  // be included in the string output. The member name will be present, but the
 11737  // value will be replaced with "sensitive".
 11738  func (s ImageState) String() string {
 11739  	return awsutil.Prettify(s)
 11740  }
 11741  
 11742  // GoString returns the string representation.
 11743  //
 11744  // API parameter values that are decorated as "sensitive" in the API will not
 11745  // be included in the string output. The member name will be present, but the
 11746  // value will be replaced with "sensitive".
 11747  func (s ImageState) GoString() string {
 11748  	return s.String()
 11749  }
 11750  
 11751  // SetReason sets the Reason field's value.
 11752  func (s *ImageState) SetReason(v string) *ImageState {
 11753  	s.Reason = &v
 11754  	return s
 11755  }
 11756  
 11757  // SetStatus sets the Status field's value.
 11758  func (s *ImageState) SetStatus(v string) *ImageState {
 11759  	s.Status = &v
 11760  	return s
 11761  }
 11762  
 11763  // An image summary.
 11764  type ImageSummary struct {
 11765  	_ struct{} `type:"structure"`
 11766  
 11767  	// The Amazon Resource Name (ARN) of the image.
 11768  	Arn *string `locationName:"arn" type:"string"`
 11769  
 11770  	// The date on which this image was created.
 11771  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11772  
 11773  	// The name of the image.
 11774  	Name *string `locationName:"name" type:"string"`
 11775  
 11776  	// The operating system version of the instance. For example, Amazon Linux 2,
 11777  	// Ubuntu 18, or Microsoft Windows Server 2019.
 11778  	OsVersion *string `locationName:"osVersion" min:"1" type:"string"`
 11779  
 11780  	// The output resources produced when creating this image.
 11781  	OutputResources *OutputResources `locationName:"outputResources" type:"structure"`
 11782  
 11783  	// The owner of the image.
 11784  	Owner *string `locationName:"owner" min:"1" type:"string"`
 11785  
 11786  	// The platform of the image.
 11787  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11788  
 11789  	// The state of the image.
 11790  	State *ImageState `locationName:"state" type:"structure"`
 11791  
 11792  	// The tags of the image.
 11793  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 11794  
 11795  	// Specifies whether this is an AMI or container image.
 11796  	Type *string `locationName:"type" type:"string" enum:"ImageType"`
 11797  
 11798  	// The version of the image.
 11799  	Version *string `locationName:"version" type:"string"`
 11800  }
 11801  
 11802  // String returns the string representation.
 11803  //
 11804  // API parameter values that are decorated as "sensitive" in the API will not
 11805  // be included in the string output. The member name will be present, but the
 11806  // value will be replaced with "sensitive".
 11807  func (s ImageSummary) String() string {
 11808  	return awsutil.Prettify(s)
 11809  }
 11810  
 11811  // GoString returns the string representation.
 11812  //
 11813  // API parameter values that are decorated as "sensitive" in the API will not
 11814  // be included in the string output. The member name will be present, but the
 11815  // value will be replaced with "sensitive".
 11816  func (s ImageSummary) GoString() string {
 11817  	return s.String()
 11818  }
 11819  
 11820  // SetArn sets the Arn field's value.
 11821  func (s *ImageSummary) SetArn(v string) *ImageSummary {
 11822  	s.Arn = &v
 11823  	return s
 11824  }
 11825  
 11826  // SetDateCreated sets the DateCreated field's value.
 11827  func (s *ImageSummary) SetDateCreated(v string) *ImageSummary {
 11828  	s.DateCreated = &v
 11829  	return s
 11830  }
 11831  
 11832  // SetName sets the Name field's value.
 11833  func (s *ImageSummary) SetName(v string) *ImageSummary {
 11834  	s.Name = &v
 11835  	return s
 11836  }
 11837  
 11838  // SetOsVersion sets the OsVersion field's value.
 11839  func (s *ImageSummary) SetOsVersion(v string) *ImageSummary {
 11840  	s.OsVersion = &v
 11841  	return s
 11842  }
 11843  
 11844  // SetOutputResources sets the OutputResources field's value.
 11845  func (s *ImageSummary) SetOutputResources(v *OutputResources) *ImageSummary {
 11846  	s.OutputResources = v
 11847  	return s
 11848  }
 11849  
 11850  // SetOwner sets the Owner field's value.
 11851  func (s *ImageSummary) SetOwner(v string) *ImageSummary {
 11852  	s.Owner = &v
 11853  	return s
 11854  }
 11855  
 11856  // SetPlatform sets the Platform field's value.
 11857  func (s *ImageSummary) SetPlatform(v string) *ImageSummary {
 11858  	s.Platform = &v
 11859  	return s
 11860  }
 11861  
 11862  // SetState sets the State field's value.
 11863  func (s *ImageSummary) SetState(v *ImageState) *ImageSummary {
 11864  	s.State = v
 11865  	return s
 11866  }
 11867  
 11868  // SetTags sets the Tags field's value.
 11869  func (s *ImageSummary) SetTags(v map[string]*string) *ImageSummary {
 11870  	s.Tags = v
 11871  	return s
 11872  }
 11873  
 11874  // SetType sets the Type field's value.
 11875  func (s *ImageSummary) SetType(v string) *ImageSummary {
 11876  	s.Type = &v
 11877  	return s
 11878  }
 11879  
 11880  // SetVersion sets the Version field's value.
 11881  func (s *ImageSummary) SetVersion(v string) *ImageSummary {
 11882  	s.Version = &v
 11883  	return s
 11884  }
 11885  
 11886  // Image tests configuration.
 11887  type ImageTestsConfiguration struct {
 11888  	_ struct{} `type:"structure"`
 11889  
 11890  	// Defines if tests should be executed when building this image.
 11891  	ImageTestsEnabled *bool `locationName:"imageTestsEnabled" type:"boolean"`
 11892  
 11893  	// The maximum time in minutes that tests are permitted to run.
 11894  	TimeoutMinutes *int64 `locationName:"timeoutMinutes" min:"60" type:"integer"`
 11895  }
 11896  
 11897  // String returns the string representation.
 11898  //
 11899  // API parameter values that are decorated as "sensitive" in the API will not
 11900  // be included in the string output. The member name will be present, but the
 11901  // value will be replaced with "sensitive".
 11902  func (s ImageTestsConfiguration) String() string {
 11903  	return awsutil.Prettify(s)
 11904  }
 11905  
 11906  // GoString returns the string representation.
 11907  //
 11908  // API parameter values that are decorated as "sensitive" in the API will not
 11909  // be included in the string output. The member name will be present, but the
 11910  // value will be replaced with "sensitive".
 11911  func (s ImageTestsConfiguration) GoString() string {
 11912  	return s.String()
 11913  }
 11914  
 11915  // Validate inspects the fields of the type to determine if they are valid.
 11916  func (s *ImageTestsConfiguration) Validate() error {
 11917  	invalidParams := request.ErrInvalidParams{Context: "ImageTestsConfiguration"}
 11918  	if s.TimeoutMinutes != nil && *s.TimeoutMinutes < 60 {
 11919  		invalidParams.Add(request.NewErrParamMinValue("TimeoutMinutes", 60))
 11920  	}
 11921  
 11922  	if invalidParams.Len() > 0 {
 11923  		return invalidParams
 11924  	}
 11925  	return nil
 11926  }
 11927  
 11928  // SetImageTestsEnabled sets the ImageTestsEnabled field's value.
 11929  func (s *ImageTestsConfiguration) SetImageTestsEnabled(v bool) *ImageTestsConfiguration {
 11930  	s.ImageTestsEnabled = &v
 11931  	return s
 11932  }
 11933  
 11934  // SetTimeoutMinutes sets the TimeoutMinutes field's value.
 11935  func (s *ImageTestsConfiguration) SetTimeoutMinutes(v int64) *ImageTestsConfiguration {
 11936  	s.TimeoutMinutes = &v
 11937  	return s
 11938  }
 11939  
 11940  // The defining characteristics of a specific version of an Image Builder image.
 11941  type ImageVersion struct {
 11942  	_ struct{} `type:"structure"`
 11943  
 11944  	// The Amazon Resource Name (ARN) of a specific version of an Image Builder
 11945  	// image.
 11946  	//
 11947  	// Semantic versioning is included in each object's Amazon Resource Name (ARN),
 11948  	// at the level that applies to that object as follows:
 11949  	//
 11950  	// Versionless ARNs and Name ARNs do not include specific values in any of the
 11951  	// nodes. The nodes are either left off entirely, or they are specified as wildcards,
 11952  	// for example: x.x.x.
 11953  	//
 11954  	// Version ARNs have only the first three nodes: <major>.<minor>.<patch>
 11955  	//
 11956  	// Build version ARNs have all four nodes, and point to a specific build for
 11957  	// a specific version of an object.
 11958  	Arn *string `locationName:"arn" type:"string"`
 11959  
 11960  	// The date on which this specific version of the Image Builder image was created.
 11961  	DateCreated *string `locationName:"dateCreated" type:"string"`
 11962  
 11963  	// The name of this specific version of an Image Builder image.
 11964  	Name *string `locationName:"name" type:"string"`
 11965  
 11966  	// The operating system version of the Amazon EC2 build instance. For example,
 11967  	// Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
 11968  	OsVersion *string `locationName:"osVersion" min:"1" type:"string"`
 11969  
 11970  	// The owner of the image version.
 11971  	Owner *string `locationName:"owner" min:"1" type:"string"`
 11972  
 11973  	// The platform of the image version, for example "Windows" or "Linux".
 11974  	Platform *string `locationName:"platform" type:"string" enum:"Platform"`
 11975  
 11976  	// Specifies whether this image is an AMI or a container image.
 11977  	Type *string `locationName:"type" type:"string" enum:"ImageType"`
 11978  
 11979  	// Details for a specific version of an Image Builder image. This version follows
 11980  	// the semantic version syntax.
 11981  	//
 11982  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
 11983  	// can assign values for the first three, and can filter on all of them.
 11984  	//
 11985  	// Assignment: For the first three nodes you can assign any positive integer
 11986  	// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each
 11987  	// node. Image Builder automatically assigns the build number to the fourth
 11988  	// node.
 11989  	//
 11990  	// Patterns: You can use any numeric pattern that adheres to the assignment
 11991  	// requirements for the nodes that you can assign. For example, you might choose
 11992  	// a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.
 11993  	//
 11994  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
 11995  	// (x) to specify the most recent versions or nodes when selecting the base
 11996  	// image or components for your recipe. When you use a wildcard in any node,
 11997  	// all nodes to the right of the first wildcard must also be wildcards.
 11998  	Version *string `locationName:"version" type:"string"`
 11999  }
 12000  
 12001  // String returns the string representation.
 12002  //
 12003  // API parameter values that are decorated as "sensitive" in the API will not
 12004  // be included in the string output. The member name will be present, but the
 12005  // value will be replaced with "sensitive".
 12006  func (s ImageVersion) String() string {
 12007  	return awsutil.Prettify(s)
 12008  }
 12009  
 12010  // GoString returns the string representation.
 12011  //
 12012  // API parameter values that are decorated as "sensitive" in the API will not
 12013  // be included in the string output. The member name will be present, but the
 12014  // value will be replaced with "sensitive".
 12015  func (s ImageVersion) GoString() string {
 12016  	return s.String()
 12017  }
 12018  
 12019  // SetArn sets the Arn field's value.
 12020  func (s *ImageVersion) SetArn(v string) *ImageVersion {
 12021  	s.Arn = &v
 12022  	return s
 12023  }
 12024  
 12025  // SetDateCreated sets the DateCreated field's value.
 12026  func (s *ImageVersion) SetDateCreated(v string) *ImageVersion {
 12027  	s.DateCreated = &v
 12028  	return s
 12029  }
 12030  
 12031  // SetName sets the Name field's value.
 12032  func (s *ImageVersion) SetName(v string) *ImageVersion {
 12033  	s.Name = &v
 12034  	return s
 12035  }
 12036  
 12037  // SetOsVersion sets the OsVersion field's value.
 12038  func (s *ImageVersion) SetOsVersion(v string) *ImageVersion {
 12039  	s.OsVersion = &v
 12040  	return s
 12041  }
 12042  
 12043  // SetOwner sets the Owner field's value.
 12044  func (s *ImageVersion) SetOwner(v string) *ImageVersion {
 12045  	s.Owner = &v
 12046  	return s
 12047  }
 12048  
 12049  // SetPlatform sets the Platform field's value.
 12050  func (s *ImageVersion) SetPlatform(v string) *ImageVersion {
 12051  	s.Platform = &v
 12052  	return s
 12053  }
 12054  
 12055  // SetType sets the Type field's value.
 12056  func (s *ImageVersion) SetType(v string) *ImageVersion {
 12057  	s.Type = &v
 12058  	return s
 12059  }
 12060  
 12061  // SetVersion sets the Version field's value.
 12062  func (s *ImageVersion) SetVersion(v string) *ImageVersion {
 12063  	s.Version = &v
 12064  	return s
 12065  }
 12066  
 12067  type ImportComponentInput struct {
 12068  	_ struct{} `type:"structure"`
 12069  
 12070  	// The change description of the component. Describes what change has been made
 12071  	// in this version, or what makes this version different from other versions
 12072  	// of this component.
 12073  	ChangeDescription *string `locationName:"changeDescription" min:"1" type:"string"`
 12074  
 12075  	// The idempotency token of the component.
 12076  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
 12077  
 12078  	// The data of the component. Used to specify the data inline. Either data or
 12079  	// uri can be used to specify the data within the component.
 12080  	Data *string `locationName:"data" min:"1" type:"string"`
 12081  
 12082  	// The description of the component. Describes the contents of the component.
 12083  	Description *string `locationName:"description" min:"1" type:"string"`
 12084  
 12085  	// The format of the resource that you want to import as a component.
 12086  	//
 12087  	// Format is a required field
 12088  	Format *string `locationName:"format" type:"string" required:"true" enum:"ComponentFormat"`
 12089  
 12090  	// The ID of the KMS key that should be used to encrypt this component.
 12091  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
 12092  
 12093  	// The name of the component.
 12094  	//
 12095  	// Name is a required field
 12096  	Name *string `locationName:"name" type:"string" required:"true"`
 12097  
 12098  	// The platform of the component.
 12099  	//
 12100  	// Platform is a required field
 12101  	Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"`
 12102  
 12103  	// The semantic version of the component. This version follows the semantic
 12104  	// version syntax.
 12105  	//
 12106  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
 12107  	// can assign values for the first three, and can filter on all of them.
 12108  	//
 12109  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
 12110  	// (x) to specify the most recent versions or nodes when selecting the base
 12111  	// image or components for your recipe. When you use a wildcard in any node,
 12112  	// all nodes to the right of the first wildcard must also be wildcards.
 12113  	//
 12114  	// SemanticVersion is a required field
 12115  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
 12116  
 12117  	// The tags of the component.
 12118  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 12119  
 12120  	// The type of the component denotes whether the component is used to build
 12121  	// the image, or only to test it.
 12122  	//
 12123  	// Type is a required field
 12124  	Type *string `locationName:"type" type:"string" required:"true" enum:"ComponentType"`
 12125  
 12126  	// The uri of the component. Must be an Amazon S3 URL and the requester must
 12127  	// have permission to access the Amazon S3 bucket. If you use Amazon S3, you
 12128  	// can specify component content up to your service quota. Either data or uri
 12129  	// can be used to specify the data within the component.
 12130  	Uri *string `locationName:"uri" type:"string"`
 12131  }
 12132  
 12133  // String returns the string representation.
 12134  //
 12135  // API parameter values that are decorated as "sensitive" in the API will not
 12136  // be included in the string output. The member name will be present, but the
 12137  // value will be replaced with "sensitive".
 12138  func (s ImportComponentInput) String() string {
 12139  	return awsutil.Prettify(s)
 12140  }
 12141  
 12142  // GoString returns the string representation.
 12143  //
 12144  // API parameter values that are decorated as "sensitive" in the API will not
 12145  // be included in the string output. The member name will be present, but the
 12146  // value will be replaced with "sensitive".
 12147  func (s ImportComponentInput) GoString() string {
 12148  	return s.String()
 12149  }
 12150  
 12151  // Validate inspects the fields of the type to determine if they are valid.
 12152  func (s *ImportComponentInput) Validate() error {
 12153  	invalidParams := request.ErrInvalidParams{Context: "ImportComponentInput"}
 12154  	if s.ChangeDescription != nil && len(*s.ChangeDescription) < 1 {
 12155  		invalidParams.Add(request.NewErrParamMinLen("ChangeDescription", 1))
 12156  	}
 12157  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
 12158  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
 12159  	}
 12160  	if s.Data != nil && len(*s.Data) < 1 {
 12161  		invalidParams.Add(request.NewErrParamMinLen("Data", 1))
 12162  	}
 12163  	if s.Description != nil && len(*s.Description) < 1 {
 12164  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 12165  	}
 12166  	if s.Format == nil {
 12167  		invalidParams.Add(request.NewErrParamRequired("Format"))
 12168  	}
 12169  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
 12170  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
 12171  	}
 12172  	if s.Name == nil {
 12173  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12174  	}
 12175  	if s.Platform == nil {
 12176  		invalidParams.Add(request.NewErrParamRequired("Platform"))
 12177  	}
 12178  	if s.SemanticVersion == nil {
 12179  		invalidParams.Add(request.NewErrParamRequired("SemanticVersion"))
 12180  	}
 12181  	if s.Tags != nil && len(s.Tags) < 1 {
 12182  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12183  	}
 12184  	if s.Type == nil {
 12185  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12186  	}
 12187  
 12188  	if invalidParams.Len() > 0 {
 12189  		return invalidParams
 12190  	}
 12191  	return nil
 12192  }
 12193  
 12194  // SetChangeDescription sets the ChangeDescription field's value.
 12195  func (s *ImportComponentInput) SetChangeDescription(v string) *ImportComponentInput {
 12196  	s.ChangeDescription = &v
 12197  	return s
 12198  }
 12199  
 12200  // SetClientToken sets the ClientToken field's value.
 12201  func (s *ImportComponentInput) SetClientToken(v string) *ImportComponentInput {
 12202  	s.ClientToken = &v
 12203  	return s
 12204  }
 12205  
 12206  // SetData sets the Data field's value.
 12207  func (s *ImportComponentInput) SetData(v string) *ImportComponentInput {
 12208  	s.Data = &v
 12209  	return s
 12210  }
 12211  
 12212  // SetDescription sets the Description field's value.
 12213  func (s *ImportComponentInput) SetDescription(v string) *ImportComponentInput {
 12214  	s.Description = &v
 12215  	return s
 12216  }
 12217  
 12218  // SetFormat sets the Format field's value.
 12219  func (s *ImportComponentInput) SetFormat(v string) *ImportComponentInput {
 12220  	s.Format = &v
 12221  	return s
 12222  }
 12223  
 12224  // SetKmsKeyId sets the KmsKeyId field's value.
 12225  func (s *ImportComponentInput) SetKmsKeyId(v string) *ImportComponentInput {
 12226  	s.KmsKeyId = &v
 12227  	return s
 12228  }
 12229  
 12230  // SetName sets the Name field's value.
 12231  func (s *ImportComponentInput) SetName(v string) *ImportComponentInput {
 12232  	s.Name = &v
 12233  	return s
 12234  }
 12235  
 12236  // SetPlatform sets the Platform field's value.
 12237  func (s *ImportComponentInput) SetPlatform(v string) *ImportComponentInput {
 12238  	s.Platform = &v
 12239  	return s
 12240  }
 12241  
 12242  // SetSemanticVersion sets the SemanticVersion field's value.
 12243  func (s *ImportComponentInput) SetSemanticVersion(v string) *ImportComponentInput {
 12244  	s.SemanticVersion = &v
 12245  	return s
 12246  }
 12247  
 12248  // SetTags sets the Tags field's value.
 12249  func (s *ImportComponentInput) SetTags(v map[string]*string) *ImportComponentInput {
 12250  	s.Tags = v
 12251  	return s
 12252  }
 12253  
 12254  // SetType sets the Type field's value.
 12255  func (s *ImportComponentInput) SetType(v string) *ImportComponentInput {
 12256  	s.Type = &v
 12257  	return s
 12258  }
 12259  
 12260  // SetUri sets the Uri field's value.
 12261  func (s *ImportComponentInput) SetUri(v string) *ImportComponentInput {
 12262  	s.Uri = &v
 12263  	return s
 12264  }
 12265  
 12266  type ImportComponentOutput struct {
 12267  	_ struct{} `type:"structure"`
 12268  
 12269  	// The idempotency token used to make this request idempotent.
 12270  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
 12271  
 12272  	// The Amazon Resource Name (ARN) of the imported component.
 12273  	ComponentBuildVersionArn *string `locationName:"componentBuildVersionArn" type:"string"`
 12274  
 12275  	// The request ID that uniquely identifies this request.
 12276  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 12277  }
 12278  
 12279  // String returns the string representation.
 12280  //
 12281  // API parameter values that are decorated as "sensitive" in the API will not
 12282  // be included in the string output. The member name will be present, but the
 12283  // value will be replaced with "sensitive".
 12284  func (s ImportComponentOutput) String() string {
 12285  	return awsutil.Prettify(s)
 12286  }
 12287  
 12288  // GoString returns the string representation.
 12289  //
 12290  // API parameter values that are decorated as "sensitive" in the API will not
 12291  // be included in the string output. The member name will be present, but the
 12292  // value will be replaced with "sensitive".
 12293  func (s ImportComponentOutput) GoString() string {
 12294  	return s.String()
 12295  }
 12296  
 12297  // SetClientToken sets the ClientToken field's value.
 12298  func (s *ImportComponentOutput) SetClientToken(v string) *ImportComponentOutput {
 12299  	s.ClientToken = &v
 12300  	return s
 12301  }
 12302  
 12303  // SetComponentBuildVersionArn sets the ComponentBuildVersionArn field's value.
 12304  func (s *ImportComponentOutput) SetComponentBuildVersionArn(v string) *ImportComponentOutput {
 12305  	s.ComponentBuildVersionArn = &v
 12306  	return s
 12307  }
 12308  
 12309  // SetRequestId sets the RequestId field's value.
 12310  func (s *ImportComponentOutput) SetRequestId(v string) *ImportComponentOutput {
 12311  	s.RequestId = &v
 12312  	return s
 12313  }
 12314  
 12315  // Details of the infrastructure configuration.
 12316  type InfrastructureConfiguration struct {
 12317  	_ struct{} `type:"structure"`
 12318  
 12319  	// The Amazon Resource Name (ARN) of the infrastructure configuration.
 12320  	Arn *string `locationName:"arn" type:"string"`
 12321  
 12322  	// The date on which the infrastructure configuration was created.
 12323  	DateCreated *string `locationName:"dateCreated" type:"string"`
 12324  
 12325  	// The date on which the infrastructure configuration was last updated.
 12326  	DateUpdated *string `locationName:"dateUpdated" type:"string"`
 12327  
 12328  	// The description of the infrastructure configuration.
 12329  	Description *string `locationName:"description" min:"1" type:"string"`
 12330  
 12331  	// The instance metadata option settings for the infrastructure configuration.
 12332  	InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"`
 12333  
 12334  	// The instance profile of the infrastructure configuration.
 12335  	InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"`
 12336  
 12337  	// The instance types of the infrastructure configuration.
 12338  	InstanceTypes []*string `locationName:"instanceTypes" type:"list"`
 12339  
 12340  	// The Amazon EC2 key pair of the infrastructure configuration.
 12341  	KeyPair *string `locationName:"keyPair" min:"1" type:"string"`
 12342  
 12343  	// The logging configuration of the infrastructure configuration.
 12344  	Logging *Logging `locationName:"logging" type:"structure"`
 12345  
 12346  	// The name of the infrastructure configuration.
 12347  	Name *string `locationName:"name" type:"string"`
 12348  
 12349  	// The tags attached to the resource created by Image Builder.
 12350  	ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"`
 12351  
 12352  	// The security group IDs of the infrastructure configuration.
 12353  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
 12354  
 12355  	// The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.
 12356  	SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"`
 12357  
 12358  	// The subnet ID of the infrastructure configuration.
 12359  	SubnetId *string `locationName:"subnetId" min:"1" type:"string"`
 12360  
 12361  	// The tags of the infrastructure configuration.
 12362  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 12363  
 12364  	// The terminate instance on failure configuration of the infrastructure configuration.
 12365  	TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"`
 12366  }
 12367  
 12368  // String returns the string representation.
 12369  //
 12370  // API parameter values that are decorated as "sensitive" in the API will not
 12371  // be included in the string output. The member name will be present, but the
 12372  // value will be replaced with "sensitive".
 12373  func (s InfrastructureConfiguration) String() string {
 12374  	return awsutil.Prettify(s)
 12375  }
 12376  
 12377  // GoString returns the string representation.
 12378  //
 12379  // API parameter values that are decorated as "sensitive" in the API will not
 12380  // be included in the string output. The member name will be present, but the
 12381  // value will be replaced with "sensitive".
 12382  func (s InfrastructureConfiguration) GoString() string {
 12383  	return s.String()
 12384  }
 12385  
 12386  // SetArn sets the Arn field's value.
 12387  func (s *InfrastructureConfiguration) SetArn(v string) *InfrastructureConfiguration {
 12388  	s.Arn = &v
 12389  	return s
 12390  }
 12391  
 12392  // SetDateCreated sets the DateCreated field's value.
 12393  func (s *InfrastructureConfiguration) SetDateCreated(v string) *InfrastructureConfiguration {
 12394  	s.DateCreated = &v
 12395  	return s
 12396  }
 12397  
 12398  // SetDateUpdated sets the DateUpdated field's value.
 12399  func (s *InfrastructureConfiguration) SetDateUpdated(v string) *InfrastructureConfiguration {
 12400  	s.DateUpdated = &v
 12401  	return s
 12402  }
 12403  
 12404  // SetDescription sets the Description field's value.
 12405  func (s *InfrastructureConfiguration) SetDescription(v string) *InfrastructureConfiguration {
 12406  	s.Description = &v
 12407  	return s
 12408  }
 12409  
 12410  // SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
 12411  func (s *InfrastructureConfiguration) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *InfrastructureConfiguration {
 12412  	s.InstanceMetadataOptions = v
 12413  	return s
 12414  }
 12415  
 12416  // SetInstanceProfileName sets the InstanceProfileName field's value.
 12417  func (s *InfrastructureConfiguration) SetInstanceProfileName(v string) *InfrastructureConfiguration {
 12418  	s.InstanceProfileName = &v
 12419  	return s
 12420  }
 12421  
 12422  // SetInstanceTypes sets the InstanceTypes field's value.
 12423  func (s *InfrastructureConfiguration) SetInstanceTypes(v []*string) *InfrastructureConfiguration {
 12424  	s.InstanceTypes = v
 12425  	return s
 12426  }
 12427  
 12428  // SetKeyPair sets the KeyPair field's value.
 12429  func (s *InfrastructureConfiguration) SetKeyPair(v string) *InfrastructureConfiguration {
 12430  	s.KeyPair = &v
 12431  	return s
 12432  }
 12433  
 12434  // SetLogging sets the Logging field's value.
 12435  func (s *InfrastructureConfiguration) SetLogging(v *Logging) *InfrastructureConfiguration {
 12436  	s.Logging = v
 12437  	return s
 12438  }
 12439  
 12440  // SetName sets the Name field's value.
 12441  func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfiguration {
 12442  	s.Name = &v
 12443  	return s
 12444  }
 12445  
 12446  // SetResourceTags sets the ResourceTags field's value.
 12447  func (s *InfrastructureConfiguration) SetResourceTags(v map[string]*string) *InfrastructureConfiguration {
 12448  	s.ResourceTags = v
 12449  	return s
 12450  }
 12451  
 12452  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 12453  func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration {
 12454  	s.SecurityGroupIds = v
 12455  	return s
 12456  }
 12457  
 12458  // SetSnsTopicArn sets the SnsTopicArn field's value.
 12459  func (s *InfrastructureConfiguration) SetSnsTopicArn(v string) *InfrastructureConfiguration {
 12460  	s.SnsTopicArn = &v
 12461  	return s
 12462  }
 12463  
 12464  // SetSubnetId sets the SubnetId field's value.
 12465  func (s *InfrastructureConfiguration) SetSubnetId(v string) *InfrastructureConfiguration {
 12466  	s.SubnetId = &v
 12467  	return s
 12468  }
 12469  
 12470  // SetTags sets the Tags field's value.
 12471  func (s *InfrastructureConfiguration) SetTags(v map[string]*string) *InfrastructureConfiguration {
 12472  	s.Tags = v
 12473  	return s
 12474  }
 12475  
 12476  // SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value.
 12477  func (s *InfrastructureConfiguration) SetTerminateInstanceOnFailure(v bool) *InfrastructureConfiguration {
 12478  	s.TerminateInstanceOnFailure = &v
 12479  	return s
 12480  }
 12481  
 12482  // The infrastructure used when building Amazon EC2 AMIs.
 12483  type InfrastructureConfigurationSummary struct {
 12484  	_ struct{} `type:"structure"`
 12485  
 12486  	// The Amazon Resource Name (ARN) of the infrastructure configuration.
 12487  	Arn *string `locationName:"arn" type:"string"`
 12488  
 12489  	// The date on which the infrastructure configuration was created.
 12490  	DateCreated *string `locationName:"dateCreated" type:"string"`
 12491  
 12492  	// The date on which the infrastructure configuration was last updated.
 12493  	DateUpdated *string `locationName:"dateUpdated" type:"string"`
 12494  
 12495  	// The description of the infrastructure configuration.
 12496  	Description *string `locationName:"description" min:"1" type:"string"`
 12497  
 12498  	// The instance profile of the infrastructure configuration.
 12499  	InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string"`
 12500  
 12501  	// The instance types of the infrastructure configuration.
 12502  	InstanceTypes []*string `locationName:"instanceTypes" type:"list"`
 12503  
 12504  	// The name of the infrastructure configuration.
 12505  	Name *string `locationName:"name" type:"string"`
 12506  
 12507  	// The tags attached to the image created by Image Builder.
 12508  	ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"`
 12509  
 12510  	// The tags of the infrastructure configuration.
 12511  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 12512  }
 12513  
 12514  // String returns the string representation.
 12515  //
 12516  // API parameter values that are decorated as "sensitive" in the API will not
 12517  // be included in the string output. The member name will be present, but the
 12518  // value will be replaced with "sensitive".
 12519  func (s InfrastructureConfigurationSummary) String() string {
 12520  	return awsutil.Prettify(s)
 12521  }
 12522  
 12523  // GoString returns the string representation.
 12524  //
 12525  // API parameter values that are decorated as "sensitive" in the API will not
 12526  // be included in the string output. The member name will be present, but the
 12527  // value will be replaced with "sensitive".
 12528  func (s InfrastructureConfigurationSummary) GoString() string {
 12529  	return s.String()
 12530  }
 12531  
 12532  // SetArn sets the Arn field's value.
 12533  func (s *InfrastructureConfigurationSummary) SetArn(v string) *InfrastructureConfigurationSummary {
 12534  	s.Arn = &v
 12535  	return s
 12536  }
 12537  
 12538  // SetDateCreated sets the DateCreated field's value.
 12539  func (s *InfrastructureConfigurationSummary) SetDateCreated(v string) *InfrastructureConfigurationSummary {
 12540  	s.DateCreated = &v
 12541  	return s
 12542  }
 12543  
 12544  // SetDateUpdated sets the DateUpdated field's value.
 12545  func (s *InfrastructureConfigurationSummary) SetDateUpdated(v string) *InfrastructureConfigurationSummary {
 12546  	s.DateUpdated = &v
 12547  	return s
 12548  }
 12549  
 12550  // SetDescription sets the Description field's value.
 12551  func (s *InfrastructureConfigurationSummary) SetDescription(v string) *InfrastructureConfigurationSummary {
 12552  	s.Description = &v
 12553  	return s
 12554  }
 12555  
 12556  // SetInstanceProfileName sets the InstanceProfileName field's value.
 12557  func (s *InfrastructureConfigurationSummary) SetInstanceProfileName(v string) *InfrastructureConfigurationSummary {
 12558  	s.InstanceProfileName = &v
 12559  	return s
 12560  }
 12561  
 12562  // SetInstanceTypes sets the InstanceTypes field's value.
 12563  func (s *InfrastructureConfigurationSummary) SetInstanceTypes(v []*string) *InfrastructureConfigurationSummary {
 12564  	s.InstanceTypes = v
 12565  	return s
 12566  }
 12567  
 12568  // SetName sets the Name field's value.
 12569  func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureConfigurationSummary {
 12570  	s.Name = &v
 12571  	return s
 12572  }
 12573  
 12574  // SetResourceTags sets the ResourceTags field's value.
 12575  func (s *InfrastructureConfigurationSummary) SetResourceTags(v map[string]*string) *InfrastructureConfigurationSummary {
 12576  	s.ResourceTags = v
 12577  	return s
 12578  }
 12579  
 12580  // SetTags sets the Tags field's value.
 12581  func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary {
 12582  	s.Tags = v
 12583  	return s
 12584  }
 12585  
 12586  // Defines block device mappings for the instance used to configure your image.
 12587  type InstanceBlockDeviceMapping struct {
 12588  	_ struct{} `type:"structure"`
 12589  
 12590  	// The device to which these mappings apply.
 12591  	DeviceName *string `locationName:"deviceName" min:"1" type:"string"`
 12592  
 12593  	// Use to manage Amazon EBS-specific configuration for this mapping.
 12594  	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
 12595  
 12596  	// Use to remove a mapping from the base image.
 12597  	NoDevice *string `locationName:"noDevice" type:"string"`
 12598  
 12599  	// Use to manage instance ephemeral devices.
 12600  	VirtualName *string `locationName:"virtualName" min:"1" type:"string"`
 12601  }
 12602  
 12603  // String returns the string representation.
 12604  //
 12605  // API parameter values that are decorated as "sensitive" in the API will not
 12606  // be included in the string output. The member name will be present, but the
 12607  // value will be replaced with "sensitive".
 12608  func (s InstanceBlockDeviceMapping) String() string {
 12609  	return awsutil.Prettify(s)
 12610  }
 12611  
 12612  // GoString returns the string representation.
 12613  //
 12614  // API parameter values that are decorated as "sensitive" in the API will not
 12615  // be included in the string output. The member name will be present, but the
 12616  // value will be replaced with "sensitive".
 12617  func (s InstanceBlockDeviceMapping) GoString() string {
 12618  	return s.String()
 12619  }
 12620  
 12621  // Validate inspects the fields of the type to determine if they are valid.
 12622  func (s *InstanceBlockDeviceMapping) Validate() error {
 12623  	invalidParams := request.ErrInvalidParams{Context: "InstanceBlockDeviceMapping"}
 12624  	if s.DeviceName != nil && len(*s.DeviceName) < 1 {
 12625  		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1))
 12626  	}
 12627  	if s.VirtualName != nil && len(*s.VirtualName) < 1 {
 12628  		invalidParams.Add(request.NewErrParamMinLen("VirtualName", 1))
 12629  	}
 12630  	if s.Ebs != nil {
 12631  		if err := s.Ebs.Validate(); err != nil {
 12632  			invalidParams.AddNested("Ebs", err.(request.ErrInvalidParams))
 12633  		}
 12634  	}
 12635  
 12636  	if invalidParams.Len() > 0 {
 12637  		return invalidParams
 12638  	}
 12639  	return nil
 12640  }
 12641  
 12642  // SetDeviceName sets the DeviceName field's value.
 12643  func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
 12644  	s.DeviceName = &v
 12645  	return s
 12646  }
 12647  
 12648  // SetEbs sets the Ebs field's value.
 12649  func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMapping {
 12650  	s.Ebs = v
 12651  	return s
 12652  }
 12653  
 12654  // SetNoDevice sets the NoDevice field's value.
 12655  func (s *InstanceBlockDeviceMapping) SetNoDevice(v string) *InstanceBlockDeviceMapping {
 12656  	s.NoDevice = &v
 12657  	return s
 12658  }
 12659  
 12660  // SetVirtualName sets the VirtualName field's value.
 12661  func (s *InstanceBlockDeviceMapping) SetVirtualName(v string) *InstanceBlockDeviceMapping {
 12662  	s.VirtualName = &v
 12663  	return s
 12664  }
 12665  
 12666  // Defines a custom base AMI and block device mapping configurations of an instance
 12667  // used for building and testing container images.
 12668  type InstanceConfiguration struct {
 12669  	_ struct{} `type:"structure"`
 12670  
 12671  	// Defines the block devices to attach for building an instance from this Image
 12672  	// Builder AMI.
 12673  	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"`
 12674  
 12675  	// The AMI ID to use as the base image for a container build and test instance.
 12676  	// If not specified, Image Builder will use the appropriate ECS-optimized AMI
 12677  	// as a base image.
 12678  	Image *string `locationName:"image" min:"1" type:"string"`
 12679  }
 12680  
 12681  // String returns the string representation.
 12682  //
 12683  // API parameter values that are decorated as "sensitive" in the API will not
 12684  // be included in the string output. The member name will be present, but the
 12685  // value will be replaced with "sensitive".
 12686  func (s InstanceConfiguration) String() string {
 12687  	return awsutil.Prettify(s)
 12688  }
 12689  
 12690  // GoString returns the string representation.
 12691  //
 12692  // API parameter values that are decorated as "sensitive" in the API will not
 12693  // be included in the string output. The member name will be present, but the
 12694  // value will be replaced with "sensitive".
 12695  func (s InstanceConfiguration) GoString() string {
 12696  	return s.String()
 12697  }
 12698  
 12699  // Validate inspects the fields of the type to determine if they are valid.
 12700  func (s *InstanceConfiguration) Validate() error {
 12701  	invalidParams := request.ErrInvalidParams{Context: "InstanceConfiguration"}
 12702  	if s.Image != nil && len(*s.Image) < 1 {
 12703  		invalidParams.Add(request.NewErrParamMinLen("Image", 1))
 12704  	}
 12705  	if s.BlockDeviceMappings != nil {
 12706  		for i, v := range s.BlockDeviceMappings {
 12707  			if v == nil {
 12708  				continue
 12709  			}
 12710  			if err := v.Validate(); err != nil {
 12711  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams))
 12712  			}
 12713  		}
 12714  	}
 12715  
 12716  	if invalidParams.Len() > 0 {
 12717  		return invalidParams
 12718  	}
 12719  	return nil
 12720  }
 12721  
 12722  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
 12723  func (s *InstanceConfiguration) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *InstanceConfiguration {
 12724  	s.BlockDeviceMappings = v
 12725  	return s
 12726  }
 12727  
 12728  // SetImage sets the Image field's value.
 12729  func (s *InstanceConfiguration) SetImage(v string) *InstanceConfiguration {
 12730  	s.Image = &v
 12731  	return s
 12732  }
 12733  
 12734  // The instance metadata options that apply to the HTTP requests that pipeline
 12735  // builds use to launch EC2 build and test instances. For more information about
 12736  // instance metadata options, see Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
 12737  // in the Amazon EC2 User Guide for Linux instances, or Configure the instance
 12738  // metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html)
 12739  // in the Amazon EC2 Windows Guide for Windows instances.
 12740  type InstanceMetadataOptions struct {
 12741  	_ struct{} `type:"structure"`
 12742  
 12743  	// Limit the number of hops that an instance metadata request can traverse to
 12744  	// reach its destination.
 12745  	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" min:"1" type:"integer"`
 12746  
 12747  	// Indicates whether a signed token header is required for instance metadata
 12748  	// retrieval requests. The values affect the response as follows:
 12749  	//
 12750  	//    * required – When you retrieve the IAM role credentials, version 2.0
 12751  	//    credentials are returned in all cases.
 12752  	//
 12753  	//    * optional – You can include a signed token header in your request to
 12754  	//    retrieve instance metadata, or you can leave it out. If you include it,
 12755  	//    version 2.0 credentials are returned for the IAM role. Otherwise, version
 12756  	//    1.0 credentials are returned.
 12757  	//
 12758  	// The default setting is optional.
 12759  	HttpTokens *string `locationName:"httpTokens" type:"string"`
 12760  }
 12761  
 12762  // String returns the string representation.
 12763  //
 12764  // API parameter values that are decorated as "sensitive" in the API will not
 12765  // be included in the string output. The member name will be present, but the
 12766  // value will be replaced with "sensitive".
 12767  func (s InstanceMetadataOptions) String() string {
 12768  	return awsutil.Prettify(s)
 12769  }
 12770  
 12771  // GoString returns the string representation.
 12772  //
 12773  // API parameter values that are decorated as "sensitive" in the API will not
 12774  // be included in the string output. The member name will be present, but the
 12775  // value will be replaced with "sensitive".
 12776  func (s InstanceMetadataOptions) GoString() string {
 12777  	return s.String()
 12778  }
 12779  
 12780  // Validate inspects the fields of the type to determine if they are valid.
 12781  func (s *InstanceMetadataOptions) Validate() error {
 12782  	invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"}
 12783  	if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 {
 12784  		invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1))
 12785  	}
 12786  
 12787  	if invalidParams.Len() > 0 {
 12788  		return invalidParams
 12789  	}
 12790  	return nil
 12791  }
 12792  
 12793  // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
 12794  func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions {
 12795  	s.HttpPutResponseHopLimit = &v
 12796  	return s
 12797  }
 12798  
 12799  // SetHttpTokens sets the HttpTokens field's value.
 12800  func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions {
 12801  	s.HttpTokens = &v
 12802  	return s
 12803  }
 12804  
 12805  // You have provided an invalid pagination token in your request.
 12806  type InvalidPaginationTokenException struct {
 12807  	_            struct{}                  `type:"structure"`
 12808  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12809  
 12810  	Message_ *string `locationName:"message" type:"string"`
 12811  }
 12812  
 12813  // String returns the string representation.
 12814  //
 12815  // API parameter values that are decorated as "sensitive" in the API will not
 12816  // be included in the string output. The member name will be present, but the
 12817  // value will be replaced with "sensitive".
 12818  func (s InvalidPaginationTokenException) String() string {
 12819  	return awsutil.Prettify(s)
 12820  }
 12821  
 12822  // GoString returns the string representation.
 12823  //
 12824  // API parameter values that are decorated as "sensitive" in the API will not
 12825  // be included in the string output. The member name will be present, but the
 12826  // value will be replaced with "sensitive".
 12827  func (s InvalidPaginationTokenException) GoString() string {
 12828  	return s.String()
 12829  }
 12830  
 12831  func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
 12832  	return &InvalidPaginationTokenException{
 12833  		RespMetadata: v,
 12834  	}
 12835  }
 12836  
 12837  // Code returns the exception type name.
 12838  func (s *InvalidPaginationTokenException) Code() string {
 12839  	return "InvalidPaginationTokenException"
 12840  }
 12841  
 12842  // Message returns the exception's message.
 12843  func (s *InvalidPaginationTokenException) Message() string {
 12844  	if s.Message_ != nil {
 12845  		return *s.Message_
 12846  	}
 12847  	return ""
 12848  }
 12849  
 12850  // OrigErr always returns nil, satisfies awserr.Error interface.
 12851  func (s *InvalidPaginationTokenException) OrigErr() error {
 12852  	return nil
 12853  }
 12854  
 12855  func (s *InvalidPaginationTokenException) Error() string {
 12856  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12857  }
 12858  
 12859  // Status code returns the HTTP status code for the request's response error.
 12860  func (s *InvalidPaginationTokenException) StatusCode() int {
 12861  	return s.RespMetadata.StatusCode
 12862  }
 12863  
 12864  // RequestID returns the service's response RequestID for request.
 12865  func (s *InvalidPaginationTokenException) RequestID() string {
 12866  	return s.RespMetadata.RequestID
 12867  }
 12868  
 12869  // You have specified two or more mutually exclusive parameters. Review the
 12870  // error message for details.
 12871  type InvalidParameterCombinationException struct {
 12872  	_            struct{}                  `type:"structure"`
 12873  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12874  
 12875  	Message_ *string `locationName:"message" type:"string"`
 12876  }
 12877  
 12878  // String returns the string representation.
 12879  //
 12880  // API parameter values that are decorated as "sensitive" in the API will not
 12881  // be included in the string output. The member name will be present, but the
 12882  // value will be replaced with "sensitive".
 12883  func (s InvalidParameterCombinationException) String() string {
 12884  	return awsutil.Prettify(s)
 12885  }
 12886  
 12887  // GoString returns the string representation.
 12888  //
 12889  // API parameter values that are decorated as "sensitive" in the API will not
 12890  // be included in the string output. The member name will be present, but the
 12891  // value will be replaced with "sensitive".
 12892  func (s InvalidParameterCombinationException) GoString() string {
 12893  	return s.String()
 12894  }
 12895  
 12896  func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
 12897  	return &InvalidParameterCombinationException{
 12898  		RespMetadata: v,
 12899  	}
 12900  }
 12901  
 12902  // Code returns the exception type name.
 12903  func (s *InvalidParameterCombinationException) Code() string {
 12904  	return "InvalidParameterCombinationException"
 12905  }
 12906  
 12907  // Message returns the exception's message.
 12908  func (s *InvalidParameterCombinationException) Message() string {
 12909  	if s.Message_ != nil {
 12910  		return *s.Message_
 12911  	}
 12912  	return ""
 12913  }
 12914  
 12915  // OrigErr always returns nil, satisfies awserr.Error interface.
 12916  func (s *InvalidParameterCombinationException) OrigErr() error {
 12917  	return nil
 12918  }
 12919  
 12920  func (s *InvalidParameterCombinationException) Error() string {
 12921  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12922  }
 12923  
 12924  // Status code returns the HTTP status code for the request's response error.
 12925  func (s *InvalidParameterCombinationException) StatusCode() int {
 12926  	return s.RespMetadata.StatusCode
 12927  }
 12928  
 12929  // RequestID returns the service's response RequestID for request.
 12930  func (s *InvalidParameterCombinationException) RequestID() string {
 12931  	return s.RespMetadata.RequestID
 12932  }
 12933  
 12934  // The specified parameter is invalid. Review the available parameters for the
 12935  // API request.
 12936  type InvalidParameterException struct {
 12937  	_            struct{}                  `type:"structure"`
 12938  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12939  
 12940  	Message_ *string `locationName:"message" type:"string"`
 12941  }
 12942  
 12943  // String returns the string representation.
 12944  //
 12945  // API parameter values that are decorated as "sensitive" in the API will not
 12946  // be included in the string output. The member name will be present, but the
 12947  // value will be replaced with "sensitive".
 12948  func (s InvalidParameterException) String() string {
 12949  	return awsutil.Prettify(s)
 12950  }
 12951  
 12952  // GoString returns the string representation.
 12953  //
 12954  // API parameter values that are decorated as "sensitive" in the API will not
 12955  // be included in the string output. The member name will be present, but the
 12956  // value will be replaced with "sensitive".
 12957  func (s InvalidParameterException) GoString() string {
 12958  	return s.String()
 12959  }
 12960  
 12961  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 12962  	return &InvalidParameterException{
 12963  		RespMetadata: v,
 12964  	}
 12965  }
 12966  
 12967  // Code returns the exception type name.
 12968  func (s *InvalidParameterException) Code() string {
 12969  	return "InvalidParameterException"
 12970  }
 12971  
 12972  // Message returns the exception's message.
 12973  func (s *InvalidParameterException) Message() string {
 12974  	if s.Message_ != nil {
 12975  		return *s.Message_
 12976  	}
 12977  	return ""
 12978  }
 12979  
 12980  // OrigErr always returns nil, satisfies awserr.Error interface.
 12981  func (s *InvalidParameterException) OrigErr() error {
 12982  	return nil
 12983  }
 12984  
 12985  func (s *InvalidParameterException) Error() string {
 12986  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12987  }
 12988  
 12989  // Status code returns the HTTP status code for the request's response error.
 12990  func (s *InvalidParameterException) StatusCode() int {
 12991  	return s.RespMetadata.StatusCode
 12992  }
 12993  
 12994  // RequestID returns the service's response RequestID for request.
 12995  func (s *InvalidParameterException) RequestID() string {
 12996  	return s.RespMetadata.RequestID
 12997  }
 12998  
 12999  // The value that you provided for the specified parameter is invalid.
 13000  type InvalidParameterValueException struct {
 13001  	_            struct{}                  `type:"structure"`
 13002  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13003  
 13004  	Message_ *string `locationName:"message" type:"string"`
 13005  }
 13006  
 13007  // String returns the string representation.
 13008  //
 13009  // API parameter values that are decorated as "sensitive" in the API will not
 13010  // be included in the string output. The member name will be present, but the
 13011  // value will be replaced with "sensitive".
 13012  func (s InvalidParameterValueException) String() string {
 13013  	return awsutil.Prettify(s)
 13014  }
 13015  
 13016  // GoString returns the string representation.
 13017  //
 13018  // API parameter values that are decorated as "sensitive" in the API will not
 13019  // be included in the string output. The member name will be present, but the
 13020  // value will be replaced with "sensitive".
 13021  func (s InvalidParameterValueException) GoString() string {
 13022  	return s.String()
 13023  }
 13024  
 13025  func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
 13026  	return &InvalidParameterValueException{
 13027  		RespMetadata: v,
 13028  	}
 13029  }
 13030  
 13031  // Code returns the exception type name.
 13032  func (s *InvalidParameterValueException) Code() string {
 13033  	return "InvalidParameterValueException"
 13034  }
 13035  
 13036  // Message returns the exception's message.
 13037  func (s *InvalidParameterValueException) Message() string {
 13038  	if s.Message_ != nil {
 13039  		return *s.Message_
 13040  	}
 13041  	return ""
 13042  }
 13043  
 13044  // OrigErr always returns nil, satisfies awserr.Error interface.
 13045  func (s *InvalidParameterValueException) OrigErr() error {
 13046  	return nil
 13047  }
 13048  
 13049  func (s *InvalidParameterValueException) Error() string {
 13050  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13051  }
 13052  
 13053  // Status code returns the HTTP status code for the request's response error.
 13054  func (s *InvalidParameterValueException) StatusCode() int {
 13055  	return s.RespMetadata.StatusCode
 13056  }
 13057  
 13058  // RequestID returns the service's response RequestID for request.
 13059  func (s *InvalidParameterValueException) RequestID() string {
 13060  	return s.RespMetadata.RequestID
 13061  }
 13062  
 13063  // You have made a request for an action that is not supported by the service.
 13064  type InvalidRequestException struct {
 13065  	_            struct{}                  `type:"structure"`
 13066  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13067  
 13068  	Message_ *string `locationName:"message" type:"string"`
 13069  }
 13070  
 13071  // String returns the string representation.
 13072  //
 13073  // API parameter values that are decorated as "sensitive" in the API will not
 13074  // be included in the string output. The member name will be present, but the
 13075  // value will be replaced with "sensitive".
 13076  func (s InvalidRequestException) String() string {
 13077  	return awsutil.Prettify(s)
 13078  }
 13079  
 13080  // GoString returns the string representation.
 13081  //
 13082  // API parameter values that are decorated as "sensitive" in the API will not
 13083  // be included in the string output. The member name will be present, but the
 13084  // value will be replaced with "sensitive".
 13085  func (s InvalidRequestException) GoString() string {
 13086  	return s.String()
 13087  }
 13088  
 13089  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
 13090  	return &InvalidRequestException{
 13091  		RespMetadata: v,
 13092  	}
 13093  }
 13094  
 13095  // Code returns the exception type name.
 13096  func (s *InvalidRequestException) Code() string {
 13097  	return "InvalidRequestException"
 13098  }
 13099  
 13100  // Message returns the exception's message.
 13101  func (s *InvalidRequestException) Message() string {
 13102  	if s.Message_ != nil {
 13103  		return *s.Message_
 13104  	}
 13105  	return ""
 13106  }
 13107  
 13108  // OrigErr always returns nil, satisfies awserr.Error interface.
 13109  func (s *InvalidRequestException) OrigErr() error {
 13110  	return nil
 13111  }
 13112  
 13113  func (s *InvalidRequestException) Error() string {
 13114  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13115  }
 13116  
 13117  // Status code returns the HTTP status code for the request's response error.
 13118  func (s *InvalidRequestException) StatusCode() int {
 13119  	return s.RespMetadata.StatusCode
 13120  }
 13121  
 13122  // RequestID returns the service's response RequestID for request.
 13123  func (s *InvalidRequestException) RequestID() string {
 13124  	return s.RespMetadata.RequestID
 13125  }
 13126  
 13127  // Your version number is out of bounds or does not follow the required syntax.
 13128  type InvalidVersionNumberException struct {
 13129  	_            struct{}                  `type:"structure"`
 13130  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13131  
 13132  	Message_ *string `locationName:"message" type:"string"`
 13133  }
 13134  
 13135  // String returns the string representation.
 13136  //
 13137  // API parameter values that are decorated as "sensitive" in the API will not
 13138  // be included in the string output. The member name will be present, but the
 13139  // value will be replaced with "sensitive".
 13140  func (s InvalidVersionNumberException) String() string {
 13141  	return awsutil.Prettify(s)
 13142  }
 13143  
 13144  // GoString returns the string representation.
 13145  //
 13146  // API parameter values that are decorated as "sensitive" in the API will not
 13147  // be included in the string output. The member name will be present, but the
 13148  // value will be replaced with "sensitive".
 13149  func (s InvalidVersionNumberException) GoString() string {
 13150  	return s.String()
 13151  }
 13152  
 13153  func newErrorInvalidVersionNumberException(v protocol.ResponseMetadata) error {
 13154  	return &InvalidVersionNumberException{
 13155  		RespMetadata: v,
 13156  	}
 13157  }
 13158  
 13159  // Code returns the exception type name.
 13160  func (s *InvalidVersionNumberException) Code() string {
 13161  	return "InvalidVersionNumberException"
 13162  }
 13163  
 13164  // Message returns the exception's message.
 13165  func (s *InvalidVersionNumberException) Message() string {
 13166  	if s.Message_ != nil {
 13167  		return *s.Message_
 13168  	}
 13169  	return ""
 13170  }
 13171  
 13172  // OrigErr always returns nil, satisfies awserr.Error interface.
 13173  func (s *InvalidVersionNumberException) OrigErr() error {
 13174  	return nil
 13175  }
 13176  
 13177  func (s *InvalidVersionNumberException) Error() string {
 13178  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13179  }
 13180  
 13181  // Status code returns the HTTP status code for the request's response error.
 13182  func (s *InvalidVersionNumberException) StatusCode() int {
 13183  	return s.RespMetadata.StatusCode
 13184  }
 13185  
 13186  // RequestID returns the service's response RequestID for request.
 13187  func (s *InvalidVersionNumberException) RequestID() string {
 13188  	return s.RespMetadata.RequestID
 13189  }
 13190  
 13191  // Describes the configuration for a launch permission. The launch permission
 13192  // modification request is sent to the Amazon EC2 ModifyImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)
 13193  // API on behalf of the user for each Region they have selected to distribute
 13194  // the AMI. To make an AMI public, set the launch permission authorized accounts
 13195  // to all. See the examples for making an AMI public at Amazon EC2 ModifyImageAttribute
 13196  // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html).
 13197  type LaunchPermissionConfiguration struct {
 13198  	_ struct{} `type:"structure"`
 13199  
 13200  	// The name of the group.
 13201  	UserGroups []*string `locationName:"userGroups" type:"list"`
 13202  
 13203  	// The Amazon Web Services account ID.
 13204  	UserIds []*string `locationName:"userIds" min:"1" type:"list"`
 13205  }
 13206  
 13207  // String returns the string representation.
 13208  //
 13209  // API parameter values that are decorated as "sensitive" in the API will not
 13210  // be included in the string output. The member name will be present, but the
 13211  // value will be replaced with "sensitive".
 13212  func (s LaunchPermissionConfiguration) String() string {
 13213  	return awsutil.Prettify(s)
 13214  }
 13215  
 13216  // GoString returns the string representation.
 13217  //
 13218  // API parameter values that are decorated as "sensitive" in the API will not
 13219  // be included in the string output. The member name will be present, but the
 13220  // value will be replaced with "sensitive".
 13221  func (s LaunchPermissionConfiguration) GoString() string {
 13222  	return s.String()
 13223  }
 13224  
 13225  // Validate inspects the fields of the type to determine if they are valid.
 13226  func (s *LaunchPermissionConfiguration) Validate() error {
 13227  	invalidParams := request.ErrInvalidParams{Context: "LaunchPermissionConfiguration"}
 13228  	if s.UserIds != nil && len(s.UserIds) < 1 {
 13229  		invalidParams.Add(request.NewErrParamMinLen("UserIds", 1))
 13230  	}
 13231  
 13232  	if invalidParams.Len() > 0 {
 13233  		return invalidParams
 13234  	}
 13235  	return nil
 13236  }
 13237  
 13238  // SetUserGroups sets the UserGroups field's value.
 13239  func (s *LaunchPermissionConfiguration) SetUserGroups(v []*string) *LaunchPermissionConfiguration {
 13240  	s.UserGroups = v
 13241  	return s
 13242  }
 13243  
 13244  // SetUserIds sets the UserIds field's value.
 13245  func (s *LaunchPermissionConfiguration) SetUserIds(v []*string) *LaunchPermissionConfiguration {
 13246  	s.UserIds = v
 13247  	return s
 13248  }
 13249  
 13250  // Identifies an Amazon EC2 launch template to use for a specific account.
 13251  type LaunchTemplateConfiguration struct {
 13252  	_ struct{} `type:"structure"`
 13253  
 13254  	// The account ID that this configuration applies to.
 13255  	AccountId *string `locationName:"accountId" type:"string"`
 13256  
 13257  	// Identifies the Amazon EC2 launch template to use.
 13258  	//
 13259  	// LaunchTemplateId is a required field
 13260  	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string" required:"true"`
 13261  
 13262  	// Set the specified Amazon EC2 launch template as the default launch template
 13263  	// for the specified account.
 13264  	SetDefaultVersion *bool `locationName:"setDefaultVersion" type:"boolean"`
 13265  }
 13266  
 13267  // String returns the string representation.
 13268  //
 13269  // API parameter values that are decorated as "sensitive" in the API will not
 13270  // be included in the string output. The member name will be present, but the
 13271  // value will be replaced with "sensitive".
 13272  func (s LaunchTemplateConfiguration) String() string {
 13273  	return awsutil.Prettify(s)
 13274  }
 13275  
 13276  // GoString returns the string representation.
 13277  //
 13278  // API parameter values that are decorated as "sensitive" in the API will not
 13279  // be included in the string output. The member name will be present, but the
 13280  // value will be replaced with "sensitive".
 13281  func (s LaunchTemplateConfiguration) GoString() string {
 13282  	return s.String()
 13283  }
 13284  
 13285  // Validate inspects the fields of the type to determine if they are valid.
 13286  func (s *LaunchTemplateConfiguration) Validate() error {
 13287  	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfiguration"}
 13288  	if s.LaunchTemplateId == nil {
 13289  		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateId"))
 13290  	}
 13291  
 13292  	if invalidParams.Len() > 0 {
 13293  		return invalidParams
 13294  	}
 13295  	return nil
 13296  }
 13297  
 13298  // SetAccountId sets the AccountId field's value.
 13299  func (s *LaunchTemplateConfiguration) SetAccountId(v string) *LaunchTemplateConfiguration {
 13300  	s.AccountId = &v
 13301  	return s
 13302  }
 13303  
 13304  // SetLaunchTemplateId sets the LaunchTemplateId field's value.
 13305  func (s *LaunchTemplateConfiguration) SetLaunchTemplateId(v string) *LaunchTemplateConfiguration {
 13306  	s.LaunchTemplateId = &v
 13307  	return s
 13308  }
 13309  
 13310  // SetSetDefaultVersion sets the SetDefaultVersion field's value.
 13311  func (s *LaunchTemplateConfiguration) SetSetDefaultVersion(v bool) *LaunchTemplateConfiguration {
 13312  	s.SetDefaultVersion = &v
 13313  	return s
 13314  }
 13315  
 13316  type ListComponentBuildVersionsInput struct {
 13317  	_ struct{} `type:"structure"`
 13318  
 13319  	// The component version Amazon Resource Name (ARN) whose versions you want
 13320  	// to list.
 13321  	//
 13322  	// ComponentVersionArn is a required field
 13323  	ComponentVersionArn *string `locationName:"componentVersionArn" type:"string" required:"true"`
 13324  
 13325  	// The maximum items to return in a request.
 13326  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 13327  
 13328  	// A token to specify where to start paginating. This is the NextToken from
 13329  	// a previously truncated response.
 13330  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13331  }
 13332  
 13333  // String returns the string representation.
 13334  //
 13335  // API parameter values that are decorated as "sensitive" in the API will not
 13336  // be included in the string output. The member name will be present, but the
 13337  // value will be replaced with "sensitive".
 13338  func (s ListComponentBuildVersionsInput) String() string {
 13339  	return awsutil.Prettify(s)
 13340  }
 13341  
 13342  // GoString returns the string representation.
 13343  //
 13344  // API parameter values that are decorated as "sensitive" in the API will not
 13345  // be included in the string output. The member name will be present, but the
 13346  // value will be replaced with "sensitive".
 13347  func (s ListComponentBuildVersionsInput) GoString() string {
 13348  	return s.String()
 13349  }
 13350  
 13351  // Validate inspects the fields of the type to determine if they are valid.
 13352  func (s *ListComponentBuildVersionsInput) Validate() error {
 13353  	invalidParams := request.ErrInvalidParams{Context: "ListComponentBuildVersionsInput"}
 13354  	if s.ComponentVersionArn == nil {
 13355  		invalidParams.Add(request.NewErrParamRequired("ComponentVersionArn"))
 13356  	}
 13357  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13358  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13359  	}
 13360  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13361  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13362  	}
 13363  
 13364  	if invalidParams.Len() > 0 {
 13365  		return invalidParams
 13366  	}
 13367  	return nil
 13368  }
 13369  
 13370  // SetComponentVersionArn sets the ComponentVersionArn field's value.
 13371  func (s *ListComponentBuildVersionsInput) SetComponentVersionArn(v string) *ListComponentBuildVersionsInput {
 13372  	s.ComponentVersionArn = &v
 13373  	return s
 13374  }
 13375  
 13376  // SetMaxResults sets the MaxResults field's value.
 13377  func (s *ListComponentBuildVersionsInput) SetMaxResults(v int64) *ListComponentBuildVersionsInput {
 13378  	s.MaxResults = &v
 13379  	return s
 13380  }
 13381  
 13382  // SetNextToken sets the NextToken field's value.
 13383  func (s *ListComponentBuildVersionsInput) SetNextToken(v string) *ListComponentBuildVersionsInput {
 13384  	s.NextToken = &v
 13385  	return s
 13386  }
 13387  
 13388  type ListComponentBuildVersionsOutput struct {
 13389  	_ struct{} `type:"structure"`
 13390  
 13391  	// The list of component summaries for the specified semantic version.
 13392  	ComponentSummaryList []*ComponentSummary `locationName:"componentSummaryList" type:"list"`
 13393  
 13394  	// The next token used for paginated responses. When this is not empty, there
 13395  	// are additional elements that the service has not included in this request.
 13396  	// Use this token with the next request to retrieve additional objects.
 13397  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13398  
 13399  	// The request ID that uniquely identifies this request.
 13400  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 13401  }
 13402  
 13403  // String returns the string representation.
 13404  //
 13405  // API parameter values that are decorated as "sensitive" in the API will not
 13406  // be included in the string output. The member name will be present, but the
 13407  // value will be replaced with "sensitive".
 13408  func (s ListComponentBuildVersionsOutput) String() string {
 13409  	return awsutil.Prettify(s)
 13410  }
 13411  
 13412  // GoString returns the string representation.
 13413  //
 13414  // API parameter values that are decorated as "sensitive" in the API will not
 13415  // be included in the string output. The member name will be present, but the
 13416  // value will be replaced with "sensitive".
 13417  func (s ListComponentBuildVersionsOutput) GoString() string {
 13418  	return s.String()
 13419  }
 13420  
 13421  // SetComponentSummaryList sets the ComponentSummaryList field's value.
 13422  func (s *ListComponentBuildVersionsOutput) SetComponentSummaryList(v []*ComponentSummary) *ListComponentBuildVersionsOutput {
 13423  	s.ComponentSummaryList = v
 13424  	return s
 13425  }
 13426  
 13427  // SetNextToken sets the NextToken field's value.
 13428  func (s *ListComponentBuildVersionsOutput) SetNextToken(v string) *ListComponentBuildVersionsOutput {
 13429  	s.NextToken = &v
 13430  	return s
 13431  }
 13432  
 13433  // SetRequestId sets the RequestId field's value.
 13434  func (s *ListComponentBuildVersionsOutput) SetRequestId(v string) *ListComponentBuildVersionsOutput {
 13435  	s.RequestId = &v
 13436  	return s
 13437  }
 13438  
 13439  type ListComponentsInput struct {
 13440  	_ struct{} `type:"structure"`
 13441  
 13442  	// Returns the list of component build versions for the specified name.
 13443  	ByName *bool `locationName:"byName" type:"boolean"`
 13444  
 13445  	// Use the following filters to streamline results:
 13446  	//
 13447  	//    * description
 13448  	//
 13449  	//    * name
 13450  	//
 13451  	//    * platform
 13452  	//
 13453  	//    * supportedOsVersion
 13454  	//
 13455  	//    * type
 13456  	//
 13457  	//    * version
 13458  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13459  
 13460  	// The maximum items to return in a request.
 13461  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 13462  
 13463  	// A token to specify where to start paginating. This is the NextToken from
 13464  	// a previously truncated response.
 13465  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13466  
 13467  	// The owner defines which components you want to list. By default, this request
 13468  	// will only show components owned by your account. You can use this field to
 13469  	// specify if you want to view components owned by yourself, by Amazon, or those
 13470  	// components that have been shared with you by other customers.
 13471  	Owner *string `locationName:"owner" type:"string" enum:"Ownership"`
 13472  }
 13473  
 13474  // String returns the string representation.
 13475  //
 13476  // API parameter values that are decorated as "sensitive" in the API will not
 13477  // be included in the string output. The member name will be present, but the
 13478  // value will be replaced with "sensitive".
 13479  func (s ListComponentsInput) String() string {
 13480  	return awsutil.Prettify(s)
 13481  }
 13482  
 13483  // GoString returns the string representation.
 13484  //
 13485  // API parameter values that are decorated as "sensitive" in the API will not
 13486  // be included in the string output. The member name will be present, but the
 13487  // value will be replaced with "sensitive".
 13488  func (s ListComponentsInput) GoString() string {
 13489  	return s.String()
 13490  }
 13491  
 13492  // Validate inspects the fields of the type to determine if they are valid.
 13493  func (s *ListComponentsInput) Validate() error {
 13494  	invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"}
 13495  	if s.Filters != nil && len(s.Filters) < 1 {
 13496  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13497  	}
 13498  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13499  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13500  	}
 13501  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13502  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13503  	}
 13504  	if s.Filters != nil {
 13505  		for i, v := range s.Filters {
 13506  			if v == nil {
 13507  				continue
 13508  			}
 13509  			if err := v.Validate(); err != nil {
 13510  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13511  			}
 13512  		}
 13513  	}
 13514  
 13515  	if invalidParams.Len() > 0 {
 13516  		return invalidParams
 13517  	}
 13518  	return nil
 13519  }
 13520  
 13521  // SetByName sets the ByName field's value.
 13522  func (s *ListComponentsInput) SetByName(v bool) *ListComponentsInput {
 13523  	s.ByName = &v
 13524  	return s
 13525  }
 13526  
 13527  // SetFilters sets the Filters field's value.
 13528  func (s *ListComponentsInput) SetFilters(v []*Filter) *ListComponentsInput {
 13529  	s.Filters = v
 13530  	return s
 13531  }
 13532  
 13533  // SetMaxResults sets the MaxResults field's value.
 13534  func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput {
 13535  	s.MaxResults = &v
 13536  	return s
 13537  }
 13538  
 13539  // SetNextToken sets the NextToken field's value.
 13540  func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput {
 13541  	s.NextToken = &v
 13542  	return s
 13543  }
 13544  
 13545  // SetOwner sets the Owner field's value.
 13546  func (s *ListComponentsInput) SetOwner(v string) *ListComponentsInput {
 13547  	s.Owner = &v
 13548  	return s
 13549  }
 13550  
 13551  type ListComponentsOutput struct {
 13552  	_ struct{} `type:"structure"`
 13553  
 13554  	// The list of component semantic versions.
 13555  	//
 13556  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
 13557  	// can assign values for the first three, and can filter on all of them.
 13558  	ComponentVersionList []*ComponentVersion `locationName:"componentVersionList" type:"list"`
 13559  
 13560  	// The next token used for paginated responses. When this is not empty, there
 13561  	// are additional elements that the service has not included in this request.
 13562  	// Use this token with the next request to retrieve additional objects.
 13563  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13564  
 13565  	// The request ID that uniquely identifies this request.
 13566  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 13567  }
 13568  
 13569  // String returns the string representation.
 13570  //
 13571  // API parameter values that are decorated as "sensitive" in the API will not
 13572  // be included in the string output. The member name will be present, but the
 13573  // value will be replaced with "sensitive".
 13574  func (s ListComponentsOutput) String() string {
 13575  	return awsutil.Prettify(s)
 13576  }
 13577  
 13578  // GoString returns the string representation.
 13579  //
 13580  // API parameter values that are decorated as "sensitive" in the API will not
 13581  // be included in the string output. The member name will be present, but the
 13582  // value will be replaced with "sensitive".
 13583  func (s ListComponentsOutput) GoString() string {
 13584  	return s.String()
 13585  }
 13586  
 13587  // SetComponentVersionList sets the ComponentVersionList field's value.
 13588  func (s *ListComponentsOutput) SetComponentVersionList(v []*ComponentVersion) *ListComponentsOutput {
 13589  	s.ComponentVersionList = v
 13590  	return s
 13591  }
 13592  
 13593  // SetNextToken sets the NextToken field's value.
 13594  func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput {
 13595  	s.NextToken = &v
 13596  	return s
 13597  }
 13598  
 13599  // SetRequestId sets the RequestId field's value.
 13600  func (s *ListComponentsOutput) SetRequestId(v string) *ListComponentsOutput {
 13601  	s.RequestId = &v
 13602  	return s
 13603  }
 13604  
 13605  type ListContainerRecipesInput struct {
 13606  	_ struct{} `type:"structure"`
 13607  
 13608  	// Use the following filters to streamline results:
 13609  	//
 13610  	//    * containerType
 13611  	//
 13612  	//    * name
 13613  	//
 13614  	//    * parentImage
 13615  	//
 13616  	//    * platform
 13617  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13618  
 13619  	// The maximum number of results to return in the list.
 13620  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 13621  
 13622  	// Provides a token for pagination, which determines where to begin the next
 13623  	// set of results when the current set reaches the maximum for one request.
 13624  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13625  
 13626  	// Returns container recipes belonging to the specified owner, that have been
 13627  	// shared with you. You can omit this field to return container recipes belonging
 13628  	// to your account.
 13629  	Owner *string `locationName:"owner" type:"string" enum:"Ownership"`
 13630  }
 13631  
 13632  // String returns the string representation.
 13633  //
 13634  // API parameter values that are decorated as "sensitive" in the API will not
 13635  // be included in the string output. The member name will be present, but the
 13636  // value will be replaced with "sensitive".
 13637  func (s ListContainerRecipesInput) String() string {
 13638  	return awsutil.Prettify(s)
 13639  }
 13640  
 13641  // GoString returns the string representation.
 13642  //
 13643  // API parameter values that are decorated as "sensitive" in the API will not
 13644  // be included in the string output. The member name will be present, but the
 13645  // value will be replaced with "sensitive".
 13646  func (s ListContainerRecipesInput) GoString() string {
 13647  	return s.String()
 13648  }
 13649  
 13650  // Validate inspects the fields of the type to determine if they are valid.
 13651  func (s *ListContainerRecipesInput) Validate() error {
 13652  	invalidParams := request.ErrInvalidParams{Context: "ListContainerRecipesInput"}
 13653  	if s.Filters != nil && len(s.Filters) < 1 {
 13654  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13655  	}
 13656  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13657  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13658  	}
 13659  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13660  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13661  	}
 13662  	if s.Filters != nil {
 13663  		for i, v := range s.Filters {
 13664  			if v == nil {
 13665  				continue
 13666  			}
 13667  			if err := v.Validate(); err != nil {
 13668  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13669  			}
 13670  		}
 13671  	}
 13672  
 13673  	if invalidParams.Len() > 0 {
 13674  		return invalidParams
 13675  	}
 13676  	return nil
 13677  }
 13678  
 13679  // SetFilters sets the Filters field's value.
 13680  func (s *ListContainerRecipesInput) SetFilters(v []*Filter) *ListContainerRecipesInput {
 13681  	s.Filters = v
 13682  	return s
 13683  }
 13684  
 13685  // SetMaxResults sets the MaxResults field's value.
 13686  func (s *ListContainerRecipesInput) SetMaxResults(v int64) *ListContainerRecipesInput {
 13687  	s.MaxResults = &v
 13688  	return s
 13689  }
 13690  
 13691  // SetNextToken sets the NextToken field's value.
 13692  func (s *ListContainerRecipesInput) SetNextToken(v string) *ListContainerRecipesInput {
 13693  	s.NextToken = &v
 13694  	return s
 13695  }
 13696  
 13697  // SetOwner sets the Owner field's value.
 13698  func (s *ListContainerRecipesInput) SetOwner(v string) *ListContainerRecipesInput {
 13699  	s.Owner = &v
 13700  	return s
 13701  }
 13702  
 13703  type ListContainerRecipesOutput struct {
 13704  	_ struct{} `type:"structure"`
 13705  
 13706  	// The list of container recipes returned for the request.
 13707  	ContainerRecipeSummaryList []*ContainerRecipeSummary `locationName:"containerRecipeSummaryList" type:"list"`
 13708  
 13709  	// The next token field is used for paginated responses. When this is not empty,
 13710  	// there are additional container recipes that the service has not included
 13711  	// in this response. Use this token with the next request to retrieve additional
 13712  	// list items.
 13713  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13714  
 13715  	// The request ID that uniquely identifies this request.
 13716  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 13717  }
 13718  
 13719  // String returns the string representation.
 13720  //
 13721  // API parameter values that are decorated as "sensitive" in the API will not
 13722  // be included in the string output. The member name will be present, but the
 13723  // value will be replaced with "sensitive".
 13724  func (s ListContainerRecipesOutput) String() string {
 13725  	return awsutil.Prettify(s)
 13726  }
 13727  
 13728  // GoString returns the string representation.
 13729  //
 13730  // API parameter values that are decorated as "sensitive" in the API will not
 13731  // be included in the string output. The member name will be present, but the
 13732  // value will be replaced with "sensitive".
 13733  func (s ListContainerRecipesOutput) GoString() string {
 13734  	return s.String()
 13735  }
 13736  
 13737  // SetContainerRecipeSummaryList sets the ContainerRecipeSummaryList field's value.
 13738  func (s *ListContainerRecipesOutput) SetContainerRecipeSummaryList(v []*ContainerRecipeSummary) *ListContainerRecipesOutput {
 13739  	s.ContainerRecipeSummaryList = v
 13740  	return s
 13741  }
 13742  
 13743  // SetNextToken sets the NextToken field's value.
 13744  func (s *ListContainerRecipesOutput) SetNextToken(v string) *ListContainerRecipesOutput {
 13745  	s.NextToken = &v
 13746  	return s
 13747  }
 13748  
 13749  // SetRequestId sets the RequestId field's value.
 13750  func (s *ListContainerRecipesOutput) SetRequestId(v string) *ListContainerRecipesOutput {
 13751  	s.RequestId = &v
 13752  	return s
 13753  }
 13754  
 13755  type ListDistributionConfigurationsInput struct {
 13756  	_ struct{} `type:"structure"`
 13757  
 13758  	// You can filter on name to streamline results.
 13759  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13760  
 13761  	// The maximum items to return in a request.
 13762  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 13763  
 13764  	// A token to specify where to start paginating. This is the NextToken from
 13765  	// a previously truncated response.
 13766  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13767  }
 13768  
 13769  // String returns the string representation.
 13770  //
 13771  // API parameter values that are decorated as "sensitive" in the API will not
 13772  // be included in the string output. The member name will be present, but the
 13773  // value will be replaced with "sensitive".
 13774  func (s ListDistributionConfigurationsInput) String() string {
 13775  	return awsutil.Prettify(s)
 13776  }
 13777  
 13778  // GoString returns the string representation.
 13779  //
 13780  // API parameter values that are decorated as "sensitive" in the API will not
 13781  // be included in the string output. The member name will be present, but the
 13782  // value will be replaced with "sensitive".
 13783  func (s ListDistributionConfigurationsInput) GoString() string {
 13784  	return s.String()
 13785  }
 13786  
 13787  // Validate inspects the fields of the type to determine if they are valid.
 13788  func (s *ListDistributionConfigurationsInput) Validate() error {
 13789  	invalidParams := request.ErrInvalidParams{Context: "ListDistributionConfigurationsInput"}
 13790  	if s.Filters != nil && len(s.Filters) < 1 {
 13791  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13792  	}
 13793  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13794  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13795  	}
 13796  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13797  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13798  	}
 13799  	if s.Filters != nil {
 13800  		for i, v := range s.Filters {
 13801  			if v == nil {
 13802  				continue
 13803  			}
 13804  			if err := v.Validate(); err != nil {
 13805  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13806  			}
 13807  		}
 13808  	}
 13809  
 13810  	if invalidParams.Len() > 0 {
 13811  		return invalidParams
 13812  	}
 13813  	return nil
 13814  }
 13815  
 13816  // SetFilters sets the Filters field's value.
 13817  func (s *ListDistributionConfigurationsInput) SetFilters(v []*Filter) *ListDistributionConfigurationsInput {
 13818  	s.Filters = v
 13819  	return s
 13820  }
 13821  
 13822  // SetMaxResults sets the MaxResults field's value.
 13823  func (s *ListDistributionConfigurationsInput) SetMaxResults(v int64) *ListDistributionConfigurationsInput {
 13824  	s.MaxResults = &v
 13825  	return s
 13826  }
 13827  
 13828  // SetNextToken sets the NextToken field's value.
 13829  func (s *ListDistributionConfigurationsInput) SetNextToken(v string) *ListDistributionConfigurationsInput {
 13830  	s.NextToken = &v
 13831  	return s
 13832  }
 13833  
 13834  type ListDistributionConfigurationsOutput struct {
 13835  	_ struct{} `type:"structure"`
 13836  
 13837  	// The list of distributions.
 13838  	DistributionConfigurationSummaryList []*DistributionConfigurationSummary `locationName:"distributionConfigurationSummaryList" type:"list"`
 13839  
 13840  	// The next token used for paginated responses. When this is not empty, there
 13841  	// are additional elements that the service has not included in this request.
 13842  	// Use this token with the next request to retrieve additional objects.
 13843  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13844  
 13845  	// The request ID that uniquely identifies this request.
 13846  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 13847  }
 13848  
 13849  // String returns the string representation.
 13850  //
 13851  // API parameter values that are decorated as "sensitive" in the API will not
 13852  // be included in the string output. The member name will be present, but the
 13853  // value will be replaced with "sensitive".
 13854  func (s ListDistributionConfigurationsOutput) String() string {
 13855  	return awsutil.Prettify(s)
 13856  }
 13857  
 13858  // GoString returns the string representation.
 13859  //
 13860  // API parameter values that are decorated as "sensitive" in the API will not
 13861  // be included in the string output. The member name will be present, but the
 13862  // value will be replaced with "sensitive".
 13863  func (s ListDistributionConfigurationsOutput) GoString() string {
 13864  	return s.String()
 13865  }
 13866  
 13867  // SetDistributionConfigurationSummaryList sets the DistributionConfigurationSummaryList field's value.
 13868  func (s *ListDistributionConfigurationsOutput) SetDistributionConfigurationSummaryList(v []*DistributionConfigurationSummary) *ListDistributionConfigurationsOutput {
 13869  	s.DistributionConfigurationSummaryList = v
 13870  	return s
 13871  }
 13872  
 13873  // SetNextToken sets the NextToken field's value.
 13874  func (s *ListDistributionConfigurationsOutput) SetNextToken(v string) *ListDistributionConfigurationsOutput {
 13875  	s.NextToken = &v
 13876  	return s
 13877  }
 13878  
 13879  // SetRequestId sets the RequestId field's value.
 13880  func (s *ListDistributionConfigurationsOutput) SetRequestId(v string) *ListDistributionConfigurationsOutput {
 13881  	s.RequestId = &v
 13882  	return s
 13883  }
 13884  
 13885  type ListImageBuildVersionsInput struct {
 13886  	_ struct{} `type:"structure"`
 13887  
 13888  	// Use the following filters to streamline results:
 13889  	//
 13890  	//    * name
 13891  	//
 13892  	//    * osVersion
 13893  	//
 13894  	//    * platform
 13895  	//
 13896  	//    * type
 13897  	//
 13898  	//    * version
 13899  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13900  
 13901  	// The Amazon Resource Name (ARN) of the image whose build versions you want
 13902  	// to retrieve.
 13903  	//
 13904  	// ImageVersionArn is a required field
 13905  	ImageVersionArn *string `locationName:"imageVersionArn" type:"string" required:"true"`
 13906  
 13907  	// The maximum items to return in a request.
 13908  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 13909  
 13910  	// A token to specify where to start paginating. This is the NextToken from
 13911  	// a previously truncated response.
 13912  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13913  }
 13914  
 13915  // String returns the string representation.
 13916  //
 13917  // API parameter values that are decorated as "sensitive" in the API will not
 13918  // be included in the string output. The member name will be present, but the
 13919  // value will be replaced with "sensitive".
 13920  func (s ListImageBuildVersionsInput) String() string {
 13921  	return awsutil.Prettify(s)
 13922  }
 13923  
 13924  // GoString returns the string representation.
 13925  //
 13926  // API parameter values that are decorated as "sensitive" in the API will not
 13927  // be included in the string output. The member name will be present, but the
 13928  // value will be replaced with "sensitive".
 13929  func (s ListImageBuildVersionsInput) GoString() string {
 13930  	return s.String()
 13931  }
 13932  
 13933  // Validate inspects the fields of the type to determine if they are valid.
 13934  func (s *ListImageBuildVersionsInput) Validate() error {
 13935  	invalidParams := request.ErrInvalidParams{Context: "ListImageBuildVersionsInput"}
 13936  	if s.Filters != nil && len(s.Filters) < 1 {
 13937  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13938  	}
 13939  	if s.ImageVersionArn == nil {
 13940  		invalidParams.Add(request.NewErrParamRequired("ImageVersionArn"))
 13941  	}
 13942  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13943  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13944  	}
 13945  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13946  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13947  	}
 13948  	if s.Filters != nil {
 13949  		for i, v := range s.Filters {
 13950  			if v == nil {
 13951  				continue
 13952  			}
 13953  			if err := v.Validate(); err != nil {
 13954  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13955  			}
 13956  		}
 13957  	}
 13958  
 13959  	if invalidParams.Len() > 0 {
 13960  		return invalidParams
 13961  	}
 13962  	return nil
 13963  }
 13964  
 13965  // SetFilters sets the Filters field's value.
 13966  func (s *ListImageBuildVersionsInput) SetFilters(v []*Filter) *ListImageBuildVersionsInput {
 13967  	s.Filters = v
 13968  	return s
 13969  }
 13970  
 13971  // SetImageVersionArn sets the ImageVersionArn field's value.
 13972  func (s *ListImageBuildVersionsInput) SetImageVersionArn(v string) *ListImageBuildVersionsInput {
 13973  	s.ImageVersionArn = &v
 13974  	return s
 13975  }
 13976  
 13977  // SetMaxResults sets the MaxResults field's value.
 13978  func (s *ListImageBuildVersionsInput) SetMaxResults(v int64) *ListImageBuildVersionsInput {
 13979  	s.MaxResults = &v
 13980  	return s
 13981  }
 13982  
 13983  // SetNextToken sets the NextToken field's value.
 13984  func (s *ListImageBuildVersionsInput) SetNextToken(v string) *ListImageBuildVersionsInput {
 13985  	s.NextToken = &v
 13986  	return s
 13987  }
 13988  
 13989  type ListImageBuildVersionsOutput struct {
 13990  	_ struct{} `type:"structure"`
 13991  
 13992  	// The list of image build versions.
 13993  	ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"`
 13994  
 13995  	// The next token used for paginated responses. When this is not empty, there
 13996  	// are additional elements that the service has not included in this request.
 13997  	// Use this token with the next request to retrieve additional objects.
 13998  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13999  
 14000  	// The request ID that uniquely identifies this request.
 14001  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14002  }
 14003  
 14004  // String returns the string representation.
 14005  //
 14006  // API parameter values that are decorated as "sensitive" in the API will not
 14007  // be included in the string output. The member name will be present, but the
 14008  // value will be replaced with "sensitive".
 14009  func (s ListImageBuildVersionsOutput) String() string {
 14010  	return awsutil.Prettify(s)
 14011  }
 14012  
 14013  // GoString returns the string representation.
 14014  //
 14015  // API parameter values that are decorated as "sensitive" in the API will not
 14016  // be included in the string output. The member name will be present, but the
 14017  // value will be replaced with "sensitive".
 14018  func (s ListImageBuildVersionsOutput) GoString() string {
 14019  	return s.String()
 14020  }
 14021  
 14022  // SetImageSummaryList sets the ImageSummaryList field's value.
 14023  func (s *ListImageBuildVersionsOutput) SetImageSummaryList(v []*ImageSummary) *ListImageBuildVersionsOutput {
 14024  	s.ImageSummaryList = v
 14025  	return s
 14026  }
 14027  
 14028  // SetNextToken sets the NextToken field's value.
 14029  func (s *ListImageBuildVersionsOutput) SetNextToken(v string) *ListImageBuildVersionsOutput {
 14030  	s.NextToken = &v
 14031  	return s
 14032  }
 14033  
 14034  // SetRequestId sets the RequestId field's value.
 14035  func (s *ListImageBuildVersionsOutput) SetRequestId(v string) *ListImageBuildVersionsOutput {
 14036  	s.RequestId = &v
 14037  	return s
 14038  }
 14039  
 14040  type ListImagePackagesInput struct {
 14041  	_ struct{} `type:"structure"`
 14042  
 14043  	// Filter results for the ListImagePackages request by the Image Build Version
 14044  	// ARN
 14045  	//
 14046  	// ImageBuildVersionArn is a required field
 14047  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string" required:"true"`
 14048  
 14049  	// The maxiumum number of results to return from the ListImagePackages request.
 14050  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14051  
 14052  	// A token to specify where to start paginating. This is the NextToken from
 14053  	// a previously truncated response.
 14054  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14055  }
 14056  
 14057  // String returns the string representation.
 14058  //
 14059  // API parameter values that are decorated as "sensitive" in the API will not
 14060  // be included in the string output. The member name will be present, but the
 14061  // value will be replaced with "sensitive".
 14062  func (s ListImagePackagesInput) String() string {
 14063  	return awsutil.Prettify(s)
 14064  }
 14065  
 14066  // GoString returns the string representation.
 14067  //
 14068  // API parameter values that are decorated as "sensitive" in the API will not
 14069  // be included in the string output. The member name will be present, but the
 14070  // value will be replaced with "sensitive".
 14071  func (s ListImagePackagesInput) GoString() string {
 14072  	return s.String()
 14073  }
 14074  
 14075  // Validate inspects the fields of the type to determine if they are valid.
 14076  func (s *ListImagePackagesInput) Validate() error {
 14077  	invalidParams := request.ErrInvalidParams{Context: "ListImagePackagesInput"}
 14078  	if s.ImageBuildVersionArn == nil {
 14079  		invalidParams.Add(request.NewErrParamRequired("ImageBuildVersionArn"))
 14080  	}
 14081  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14082  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14083  	}
 14084  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14085  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14086  	}
 14087  
 14088  	if invalidParams.Len() > 0 {
 14089  		return invalidParams
 14090  	}
 14091  	return nil
 14092  }
 14093  
 14094  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
 14095  func (s *ListImagePackagesInput) SetImageBuildVersionArn(v string) *ListImagePackagesInput {
 14096  	s.ImageBuildVersionArn = &v
 14097  	return s
 14098  }
 14099  
 14100  // SetMaxResults sets the MaxResults field's value.
 14101  func (s *ListImagePackagesInput) SetMaxResults(v int64) *ListImagePackagesInput {
 14102  	s.MaxResults = &v
 14103  	return s
 14104  }
 14105  
 14106  // SetNextToken sets the NextToken field's value.
 14107  func (s *ListImagePackagesInput) SetNextToken(v string) *ListImagePackagesInput {
 14108  	s.NextToken = &v
 14109  	return s
 14110  }
 14111  
 14112  type ListImagePackagesOutput struct {
 14113  	_ struct{} `type:"structure"`
 14114  
 14115  	// The list of Image Packages returned in the response.
 14116  	ImagePackageList []*ImagePackage `locationName:"imagePackageList" type:"list"`
 14117  
 14118  	// A token to specify where to start paginating. This is the NextToken from
 14119  	// a previously truncated response.
 14120  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14121  
 14122  	// The request ID that uniquely identifies this request.
 14123  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14124  }
 14125  
 14126  // String returns the string representation.
 14127  //
 14128  // API parameter values that are decorated as "sensitive" in the API will not
 14129  // be included in the string output. The member name will be present, but the
 14130  // value will be replaced with "sensitive".
 14131  func (s ListImagePackagesOutput) String() string {
 14132  	return awsutil.Prettify(s)
 14133  }
 14134  
 14135  // GoString returns the string representation.
 14136  //
 14137  // API parameter values that are decorated as "sensitive" in the API will not
 14138  // be included in the string output. The member name will be present, but the
 14139  // value will be replaced with "sensitive".
 14140  func (s ListImagePackagesOutput) GoString() string {
 14141  	return s.String()
 14142  }
 14143  
 14144  // SetImagePackageList sets the ImagePackageList field's value.
 14145  func (s *ListImagePackagesOutput) SetImagePackageList(v []*ImagePackage) *ListImagePackagesOutput {
 14146  	s.ImagePackageList = v
 14147  	return s
 14148  }
 14149  
 14150  // SetNextToken sets the NextToken field's value.
 14151  func (s *ListImagePackagesOutput) SetNextToken(v string) *ListImagePackagesOutput {
 14152  	s.NextToken = &v
 14153  	return s
 14154  }
 14155  
 14156  // SetRequestId sets the RequestId field's value.
 14157  func (s *ListImagePackagesOutput) SetRequestId(v string) *ListImagePackagesOutput {
 14158  	s.RequestId = &v
 14159  	return s
 14160  }
 14161  
 14162  type ListImagePipelineImagesInput struct {
 14163  	_ struct{} `type:"structure"`
 14164  
 14165  	// Use the following filters to streamline results:
 14166  	//
 14167  	//    * name
 14168  	//
 14169  	//    * version
 14170  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14171  
 14172  	// The Amazon Resource Name (ARN) of the image pipeline whose images you want
 14173  	// to view.
 14174  	//
 14175  	// ImagePipelineArn is a required field
 14176  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"`
 14177  
 14178  	// The maximum items to return in a request.
 14179  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14180  
 14181  	// A token to specify where to start paginating. This is the NextToken from
 14182  	// a previously truncated response.
 14183  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14184  }
 14185  
 14186  // String returns the string representation.
 14187  //
 14188  // API parameter values that are decorated as "sensitive" in the API will not
 14189  // be included in the string output. The member name will be present, but the
 14190  // value will be replaced with "sensitive".
 14191  func (s ListImagePipelineImagesInput) String() string {
 14192  	return awsutil.Prettify(s)
 14193  }
 14194  
 14195  // GoString returns the string representation.
 14196  //
 14197  // API parameter values that are decorated as "sensitive" in the API will not
 14198  // be included in the string output. The member name will be present, but the
 14199  // value will be replaced with "sensitive".
 14200  func (s ListImagePipelineImagesInput) GoString() string {
 14201  	return s.String()
 14202  }
 14203  
 14204  // Validate inspects the fields of the type to determine if they are valid.
 14205  func (s *ListImagePipelineImagesInput) Validate() error {
 14206  	invalidParams := request.ErrInvalidParams{Context: "ListImagePipelineImagesInput"}
 14207  	if s.Filters != nil && len(s.Filters) < 1 {
 14208  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14209  	}
 14210  	if s.ImagePipelineArn == nil {
 14211  		invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn"))
 14212  	}
 14213  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14214  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14215  	}
 14216  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14217  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14218  	}
 14219  	if s.Filters != nil {
 14220  		for i, v := range s.Filters {
 14221  			if v == nil {
 14222  				continue
 14223  			}
 14224  			if err := v.Validate(); err != nil {
 14225  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14226  			}
 14227  		}
 14228  	}
 14229  
 14230  	if invalidParams.Len() > 0 {
 14231  		return invalidParams
 14232  	}
 14233  	return nil
 14234  }
 14235  
 14236  // SetFilters sets the Filters field's value.
 14237  func (s *ListImagePipelineImagesInput) SetFilters(v []*Filter) *ListImagePipelineImagesInput {
 14238  	s.Filters = v
 14239  	return s
 14240  }
 14241  
 14242  // SetImagePipelineArn sets the ImagePipelineArn field's value.
 14243  func (s *ListImagePipelineImagesInput) SetImagePipelineArn(v string) *ListImagePipelineImagesInput {
 14244  	s.ImagePipelineArn = &v
 14245  	return s
 14246  }
 14247  
 14248  // SetMaxResults sets the MaxResults field's value.
 14249  func (s *ListImagePipelineImagesInput) SetMaxResults(v int64) *ListImagePipelineImagesInput {
 14250  	s.MaxResults = &v
 14251  	return s
 14252  }
 14253  
 14254  // SetNextToken sets the NextToken field's value.
 14255  func (s *ListImagePipelineImagesInput) SetNextToken(v string) *ListImagePipelineImagesInput {
 14256  	s.NextToken = &v
 14257  	return s
 14258  }
 14259  
 14260  type ListImagePipelineImagesOutput struct {
 14261  	_ struct{} `type:"structure"`
 14262  
 14263  	// The list of images built by this pipeline.
 14264  	ImageSummaryList []*ImageSummary `locationName:"imageSummaryList" type:"list"`
 14265  
 14266  	// The next token used for paginated responses. When this is not empty, there
 14267  	// are additional elements that the service has not included in this request.
 14268  	// Use this token with the next request to retrieve additional objects.
 14269  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14270  
 14271  	// The request ID that uniquely identifies this request.
 14272  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14273  }
 14274  
 14275  // String returns the string representation.
 14276  //
 14277  // API parameter values that are decorated as "sensitive" in the API will not
 14278  // be included in the string output. The member name will be present, but the
 14279  // value will be replaced with "sensitive".
 14280  func (s ListImagePipelineImagesOutput) String() string {
 14281  	return awsutil.Prettify(s)
 14282  }
 14283  
 14284  // GoString returns the string representation.
 14285  //
 14286  // API parameter values that are decorated as "sensitive" in the API will not
 14287  // be included in the string output. The member name will be present, but the
 14288  // value will be replaced with "sensitive".
 14289  func (s ListImagePipelineImagesOutput) GoString() string {
 14290  	return s.String()
 14291  }
 14292  
 14293  // SetImageSummaryList sets the ImageSummaryList field's value.
 14294  func (s *ListImagePipelineImagesOutput) SetImageSummaryList(v []*ImageSummary) *ListImagePipelineImagesOutput {
 14295  	s.ImageSummaryList = v
 14296  	return s
 14297  }
 14298  
 14299  // SetNextToken sets the NextToken field's value.
 14300  func (s *ListImagePipelineImagesOutput) SetNextToken(v string) *ListImagePipelineImagesOutput {
 14301  	s.NextToken = &v
 14302  	return s
 14303  }
 14304  
 14305  // SetRequestId sets the RequestId field's value.
 14306  func (s *ListImagePipelineImagesOutput) SetRequestId(v string) *ListImagePipelineImagesOutput {
 14307  	s.RequestId = &v
 14308  	return s
 14309  }
 14310  
 14311  type ListImagePipelinesInput struct {
 14312  	_ struct{} `type:"structure"`
 14313  
 14314  	// Use the following filters to streamline results:
 14315  	//
 14316  	//    * description
 14317  	//
 14318  	//    * distributionConfigurationArn
 14319  	//
 14320  	//    * imageRecipeArn
 14321  	//
 14322  	//    * infrastructureConfigurationArn
 14323  	//
 14324  	//    * name
 14325  	//
 14326  	//    * status
 14327  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14328  
 14329  	// The maximum items to return in a request.
 14330  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14331  
 14332  	// A token to specify where to start paginating. This is the NextToken from
 14333  	// a previously truncated response.
 14334  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14335  }
 14336  
 14337  // String returns the string representation.
 14338  //
 14339  // API parameter values that are decorated as "sensitive" in the API will not
 14340  // be included in the string output. The member name will be present, but the
 14341  // value will be replaced with "sensitive".
 14342  func (s ListImagePipelinesInput) String() string {
 14343  	return awsutil.Prettify(s)
 14344  }
 14345  
 14346  // GoString returns the string representation.
 14347  //
 14348  // API parameter values that are decorated as "sensitive" in the API will not
 14349  // be included in the string output. The member name will be present, but the
 14350  // value will be replaced with "sensitive".
 14351  func (s ListImagePipelinesInput) GoString() string {
 14352  	return s.String()
 14353  }
 14354  
 14355  // Validate inspects the fields of the type to determine if they are valid.
 14356  func (s *ListImagePipelinesInput) Validate() error {
 14357  	invalidParams := request.ErrInvalidParams{Context: "ListImagePipelinesInput"}
 14358  	if s.Filters != nil && len(s.Filters) < 1 {
 14359  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14360  	}
 14361  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14362  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14363  	}
 14364  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14365  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14366  	}
 14367  	if s.Filters != nil {
 14368  		for i, v := range s.Filters {
 14369  			if v == nil {
 14370  				continue
 14371  			}
 14372  			if err := v.Validate(); err != nil {
 14373  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14374  			}
 14375  		}
 14376  	}
 14377  
 14378  	if invalidParams.Len() > 0 {
 14379  		return invalidParams
 14380  	}
 14381  	return nil
 14382  }
 14383  
 14384  // SetFilters sets the Filters field's value.
 14385  func (s *ListImagePipelinesInput) SetFilters(v []*Filter) *ListImagePipelinesInput {
 14386  	s.Filters = v
 14387  	return s
 14388  }
 14389  
 14390  // SetMaxResults sets the MaxResults field's value.
 14391  func (s *ListImagePipelinesInput) SetMaxResults(v int64) *ListImagePipelinesInput {
 14392  	s.MaxResults = &v
 14393  	return s
 14394  }
 14395  
 14396  // SetNextToken sets the NextToken field's value.
 14397  func (s *ListImagePipelinesInput) SetNextToken(v string) *ListImagePipelinesInput {
 14398  	s.NextToken = &v
 14399  	return s
 14400  }
 14401  
 14402  type ListImagePipelinesOutput struct {
 14403  	_ struct{} `type:"structure"`
 14404  
 14405  	// The list of image pipelines.
 14406  	ImagePipelineList []*ImagePipeline `locationName:"imagePipelineList" type:"list"`
 14407  
 14408  	// The next token used for paginated responses. When this is not empty, there
 14409  	// are additional elements that the service has not included in this request.
 14410  	// Use this token with the next request to retrieve additional objects.
 14411  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14412  
 14413  	// The request ID that uniquely identifies this request.
 14414  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14415  }
 14416  
 14417  // String returns the string representation.
 14418  //
 14419  // API parameter values that are decorated as "sensitive" in the API will not
 14420  // be included in the string output. The member name will be present, but the
 14421  // value will be replaced with "sensitive".
 14422  func (s ListImagePipelinesOutput) String() string {
 14423  	return awsutil.Prettify(s)
 14424  }
 14425  
 14426  // GoString returns the string representation.
 14427  //
 14428  // API parameter values that are decorated as "sensitive" in the API will not
 14429  // be included in the string output. The member name will be present, but the
 14430  // value will be replaced with "sensitive".
 14431  func (s ListImagePipelinesOutput) GoString() string {
 14432  	return s.String()
 14433  }
 14434  
 14435  // SetImagePipelineList sets the ImagePipelineList field's value.
 14436  func (s *ListImagePipelinesOutput) SetImagePipelineList(v []*ImagePipeline) *ListImagePipelinesOutput {
 14437  	s.ImagePipelineList = v
 14438  	return s
 14439  }
 14440  
 14441  // SetNextToken sets the NextToken field's value.
 14442  func (s *ListImagePipelinesOutput) SetNextToken(v string) *ListImagePipelinesOutput {
 14443  	s.NextToken = &v
 14444  	return s
 14445  }
 14446  
 14447  // SetRequestId sets the RequestId field's value.
 14448  func (s *ListImagePipelinesOutput) SetRequestId(v string) *ListImagePipelinesOutput {
 14449  	s.RequestId = &v
 14450  	return s
 14451  }
 14452  
 14453  type ListImageRecipesInput struct {
 14454  	_ struct{} `type:"structure"`
 14455  
 14456  	// Use the following filters to streamline results:
 14457  	//
 14458  	//    * name
 14459  	//
 14460  	//    * parentImage
 14461  	//
 14462  	//    * platform
 14463  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14464  
 14465  	// The maximum items to return in a request.
 14466  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14467  
 14468  	// A token to specify where to start paginating. This is the NextToken from
 14469  	// a previously truncated response.
 14470  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14471  
 14472  	// The owner defines which image recipes you want to list. By default, this
 14473  	// request will only show image recipes owned by your account. You can use this
 14474  	// field to specify if you want to view image recipes owned by yourself, by
 14475  	// Amazon, or those image recipes that have been shared with you by other customers.
 14476  	Owner *string `locationName:"owner" type:"string" enum:"Ownership"`
 14477  }
 14478  
 14479  // String returns the string representation.
 14480  //
 14481  // API parameter values that are decorated as "sensitive" in the API will not
 14482  // be included in the string output. The member name will be present, but the
 14483  // value will be replaced with "sensitive".
 14484  func (s ListImageRecipesInput) String() string {
 14485  	return awsutil.Prettify(s)
 14486  }
 14487  
 14488  // GoString returns the string representation.
 14489  //
 14490  // API parameter values that are decorated as "sensitive" in the API will not
 14491  // be included in the string output. The member name will be present, but the
 14492  // value will be replaced with "sensitive".
 14493  func (s ListImageRecipesInput) GoString() string {
 14494  	return s.String()
 14495  }
 14496  
 14497  // Validate inspects the fields of the type to determine if they are valid.
 14498  func (s *ListImageRecipesInput) Validate() error {
 14499  	invalidParams := request.ErrInvalidParams{Context: "ListImageRecipesInput"}
 14500  	if s.Filters != nil && len(s.Filters) < 1 {
 14501  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14502  	}
 14503  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14504  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14505  	}
 14506  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14507  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14508  	}
 14509  	if s.Filters != nil {
 14510  		for i, v := range s.Filters {
 14511  			if v == nil {
 14512  				continue
 14513  			}
 14514  			if err := v.Validate(); err != nil {
 14515  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14516  			}
 14517  		}
 14518  	}
 14519  
 14520  	if invalidParams.Len() > 0 {
 14521  		return invalidParams
 14522  	}
 14523  	return nil
 14524  }
 14525  
 14526  // SetFilters sets the Filters field's value.
 14527  func (s *ListImageRecipesInput) SetFilters(v []*Filter) *ListImageRecipesInput {
 14528  	s.Filters = v
 14529  	return s
 14530  }
 14531  
 14532  // SetMaxResults sets the MaxResults field's value.
 14533  func (s *ListImageRecipesInput) SetMaxResults(v int64) *ListImageRecipesInput {
 14534  	s.MaxResults = &v
 14535  	return s
 14536  }
 14537  
 14538  // SetNextToken sets the NextToken field's value.
 14539  func (s *ListImageRecipesInput) SetNextToken(v string) *ListImageRecipesInput {
 14540  	s.NextToken = &v
 14541  	return s
 14542  }
 14543  
 14544  // SetOwner sets the Owner field's value.
 14545  func (s *ListImageRecipesInput) SetOwner(v string) *ListImageRecipesInput {
 14546  	s.Owner = &v
 14547  	return s
 14548  }
 14549  
 14550  type ListImageRecipesOutput struct {
 14551  	_ struct{} `type:"structure"`
 14552  
 14553  	// The list of image pipelines.
 14554  	ImageRecipeSummaryList []*ImageRecipeSummary `locationName:"imageRecipeSummaryList" type:"list"`
 14555  
 14556  	// The next token used for paginated responses. When this is not empty, there
 14557  	// are additional elements that the service has not included in this request.
 14558  	// Use this token with the next request to retrieve additional objects.
 14559  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14560  
 14561  	// The request ID that uniquely identifies this request.
 14562  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14563  }
 14564  
 14565  // String returns the string representation.
 14566  //
 14567  // API parameter values that are decorated as "sensitive" in the API will not
 14568  // be included in the string output. The member name will be present, but the
 14569  // value will be replaced with "sensitive".
 14570  func (s ListImageRecipesOutput) String() string {
 14571  	return awsutil.Prettify(s)
 14572  }
 14573  
 14574  // GoString returns the string representation.
 14575  //
 14576  // API parameter values that are decorated as "sensitive" in the API will not
 14577  // be included in the string output. The member name will be present, but the
 14578  // value will be replaced with "sensitive".
 14579  func (s ListImageRecipesOutput) GoString() string {
 14580  	return s.String()
 14581  }
 14582  
 14583  // SetImageRecipeSummaryList sets the ImageRecipeSummaryList field's value.
 14584  func (s *ListImageRecipesOutput) SetImageRecipeSummaryList(v []*ImageRecipeSummary) *ListImageRecipesOutput {
 14585  	s.ImageRecipeSummaryList = v
 14586  	return s
 14587  }
 14588  
 14589  // SetNextToken sets the NextToken field's value.
 14590  func (s *ListImageRecipesOutput) SetNextToken(v string) *ListImageRecipesOutput {
 14591  	s.NextToken = &v
 14592  	return s
 14593  }
 14594  
 14595  // SetRequestId sets the RequestId field's value.
 14596  func (s *ListImageRecipesOutput) SetRequestId(v string) *ListImageRecipesOutput {
 14597  	s.RequestId = &v
 14598  	return s
 14599  }
 14600  
 14601  type ListImagesInput struct {
 14602  	_ struct{} `type:"structure"`
 14603  
 14604  	// Requests a list of images with a specific recipe name.
 14605  	ByName *bool `locationName:"byName" type:"boolean"`
 14606  
 14607  	// Use the following filters to streamline results:
 14608  	//
 14609  	//    * name
 14610  	//
 14611  	//    * osVersion
 14612  	//
 14613  	//    * platform
 14614  	//
 14615  	//    * type
 14616  	//
 14617  	//    * version
 14618  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14619  
 14620  	// Includes deprecated images in the response list.
 14621  	IncludeDeprecated *bool `locationName:"includeDeprecated" type:"boolean"`
 14622  
 14623  	// The maximum items to return in a request.
 14624  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14625  
 14626  	// A token to specify where to start paginating. This is the NextToken from
 14627  	// a previously truncated response.
 14628  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14629  
 14630  	// The owner defines which images you want to list. By default, this request
 14631  	// will only show images owned by your account. You can use this field to specify
 14632  	// if you want to view images owned by yourself, by Amazon, or those images
 14633  	// that have been shared with you by other customers.
 14634  	Owner *string `locationName:"owner" type:"string" enum:"Ownership"`
 14635  }
 14636  
 14637  // String returns the string representation.
 14638  //
 14639  // API parameter values that are decorated as "sensitive" in the API will not
 14640  // be included in the string output. The member name will be present, but the
 14641  // value will be replaced with "sensitive".
 14642  func (s ListImagesInput) String() string {
 14643  	return awsutil.Prettify(s)
 14644  }
 14645  
 14646  // GoString returns the string representation.
 14647  //
 14648  // API parameter values that are decorated as "sensitive" in the API will not
 14649  // be included in the string output. The member name will be present, but the
 14650  // value will be replaced with "sensitive".
 14651  func (s ListImagesInput) GoString() string {
 14652  	return s.String()
 14653  }
 14654  
 14655  // Validate inspects the fields of the type to determine if they are valid.
 14656  func (s *ListImagesInput) Validate() error {
 14657  	invalidParams := request.ErrInvalidParams{Context: "ListImagesInput"}
 14658  	if s.Filters != nil && len(s.Filters) < 1 {
 14659  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14660  	}
 14661  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14662  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14663  	}
 14664  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14665  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14666  	}
 14667  	if s.Filters != nil {
 14668  		for i, v := range s.Filters {
 14669  			if v == nil {
 14670  				continue
 14671  			}
 14672  			if err := v.Validate(); err != nil {
 14673  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14674  			}
 14675  		}
 14676  	}
 14677  
 14678  	if invalidParams.Len() > 0 {
 14679  		return invalidParams
 14680  	}
 14681  	return nil
 14682  }
 14683  
 14684  // SetByName sets the ByName field's value.
 14685  func (s *ListImagesInput) SetByName(v bool) *ListImagesInput {
 14686  	s.ByName = &v
 14687  	return s
 14688  }
 14689  
 14690  // SetFilters sets the Filters field's value.
 14691  func (s *ListImagesInput) SetFilters(v []*Filter) *ListImagesInput {
 14692  	s.Filters = v
 14693  	return s
 14694  }
 14695  
 14696  // SetIncludeDeprecated sets the IncludeDeprecated field's value.
 14697  func (s *ListImagesInput) SetIncludeDeprecated(v bool) *ListImagesInput {
 14698  	s.IncludeDeprecated = &v
 14699  	return s
 14700  }
 14701  
 14702  // SetMaxResults sets the MaxResults field's value.
 14703  func (s *ListImagesInput) SetMaxResults(v int64) *ListImagesInput {
 14704  	s.MaxResults = &v
 14705  	return s
 14706  }
 14707  
 14708  // SetNextToken sets the NextToken field's value.
 14709  func (s *ListImagesInput) SetNextToken(v string) *ListImagesInput {
 14710  	s.NextToken = &v
 14711  	return s
 14712  }
 14713  
 14714  // SetOwner sets the Owner field's value.
 14715  func (s *ListImagesInput) SetOwner(v string) *ListImagesInput {
 14716  	s.Owner = &v
 14717  	return s
 14718  }
 14719  
 14720  type ListImagesOutput struct {
 14721  	_ struct{} `type:"structure"`
 14722  
 14723  	// The list of image semantic versions.
 14724  	//
 14725  	// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You
 14726  	// can assign values for the first three, and can filter on all of them.
 14727  	//
 14728  	// Filtering: With semantic versioning, you have the flexibility to use wildcards
 14729  	// (x) to specify the most recent versions or nodes when selecting the base
 14730  	// image or components for your recipe. When you use a wildcard in any node,
 14731  	// all nodes to the right of the first wildcard must also be wildcards.
 14732  	ImageVersionList []*ImageVersion `locationName:"imageVersionList" type:"list"`
 14733  
 14734  	// The next token used for paginated responses. When this is not empty, there
 14735  	// are additional elements that the service has not included in this request.
 14736  	// Use this token with the next request to retrieve additional objects.
 14737  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14738  
 14739  	// The request ID that uniquely identifies this request.
 14740  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14741  }
 14742  
 14743  // String returns the string representation.
 14744  //
 14745  // API parameter values that are decorated as "sensitive" in the API will not
 14746  // be included in the string output. The member name will be present, but the
 14747  // value will be replaced with "sensitive".
 14748  func (s ListImagesOutput) String() string {
 14749  	return awsutil.Prettify(s)
 14750  }
 14751  
 14752  // GoString returns the string representation.
 14753  //
 14754  // API parameter values that are decorated as "sensitive" in the API will not
 14755  // be included in the string output. The member name will be present, but the
 14756  // value will be replaced with "sensitive".
 14757  func (s ListImagesOutput) GoString() string {
 14758  	return s.String()
 14759  }
 14760  
 14761  // SetImageVersionList sets the ImageVersionList field's value.
 14762  func (s *ListImagesOutput) SetImageVersionList(v []*ImageVersion) *ListImagesOutput {
 14763  	s.ImageVersionList = v
 14764  	return s
 14765  }
 14766  
 14767  // SetNextToken sets the NextToken field's value.
 14768  func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput {
 14769  	s.NextToken = &v
 14770  	return s
 14771  }
 14772  
 14773  // SetRequestId sets the RequestId field's value.
 14774  func (s *ListImagesOutput) SetRequestId(v string) *ListImagesOutput {
 14775  	s.RequestId = &v
 14776  	return s
 14777  }
 14778  
 14779  type ListInfrastructureConfigurationsInput struct {
 14780  	_ struct{} `type:"structure"`
 14781  
 14782  	// You can filter on name to streamline results.
 14783  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14784  
 14785  	// The maximum items to return in a request.
 14786  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 14787  
 14788  	// A token to specify where to start paginating. This is the NextToken from
 14789  	// a previously truncated response.
 14790  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14791  }
 14792  
 14793  // String returns the string representation.
 14794  //
 14795  // API parameter values that are decorated as "sensitive" in the API will not
 14796  // be included in the string output. The member name will be present, but the
 14797  // value will be replaced with "sensitive".
 14798  func (s ListInfrastructureConfigurationsInput) String() string {
 14799  	return awsutil.Prettify(s)
 14800  }
 14801  
 14802  // GoString returns the string representation.
 14803  //
 14804  // API parameter values that are decorated as "sensitive" in the API will not
 14805  // be included in the string output. The member name will be present, but the
 14806  // value will be replaced with "sensitive".
 14807  func (s ListInfrastructureConfigurationsInput) GoString() string {
 14808  	return s.String()
 14809  }
 14810  
 14811  // Validate inspects the fields of the type to determine if they are valid.
 14812  func (s *ListInfrastructureConfigurationsInput) Validate() error {
 14813  	invalidParams := request.ErrInvalidParams{Context: "ListInfrastructureConfigurationsInput"}
 14814  	if s.Filters != nil && len(s.Filters) < 1 {
 14815  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14816  	}
 14817  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14818  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14819  	}
 14820  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14821  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14822  	}
 14823  	if s.Filters != nil {
 14824  		for i, v := range s.Filters {
 14825  			if v == nil {
 14826  				continue
 14827  			}
 14828  			if err := v.Validate(); err != nil {
 14829  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14830  			}
 14831  		}
 14832  	}
 14833  
 14834  	if invalidParams.Len() > 0 {
 14835  		return invalidParams
 14836  	}
 14837  	return nil
 14838  }
 14839  
 14840  // SetFilters sets the Filters field's value.
 14841  func (s *ListInfrastructureConfigurationsInput) SetFilters(v []*Filter) *ListInfrastructureConfigurationsInput {
 14842  	s.Filters = v
 14843  	return s
 14844  }
 14845  
 14846  // SetMaxResults sets the MaxResults field's value.
 14847  func (s *ListInfrastructureConfigurationsInput) SetMaxResults(v int64) *ListInfrastructureConfigurationsInput {
 14848  	s.MaxResults = &v
 14849  	return s
 14850  }
 14851  
 14852  // SetNextToken sets the NextToken field's value.
 14853  func (s *ListInfrastructureConfigurationsInput) SetNextToken(v string) *ListInfrastructureConfigurationsInput {
 14854  	s.NextToken = &v
 14855  	return s
 14856  }
 14857  
 14858  type ListInfrastructureConfigurationsOutput struct {
 14859  	_ struct{} `type:"structure"`
 14860  
 14861  	// The list of infrastructure configurations.
 14862  	InfrastructureConfigurationSummaryList []*InfrastructureConfigurationSummary `locationName:"infrastructureConfigurationSummaryList" type:"list"`
 14863  
 14864  	// The next token used for paginated responses. When this is not empty, there
 14865  	// are additional elements that the service has not included in this request.
 14866  	// Use this token with the next request to retrieve additional objects.
 14867  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14868  
 14869  	// The request ID that uniquely identifies this request.
 14870  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 14871  }
 14872  
 14873  // String returns the string representation.
 14874  //
 14875  // API parameter values that are decorated as "sensitive" in the API will not
 14876  // be included in the string output. The member name will be present, but the
 14877  // value will be replaced with "sensitive".
 14878  func (s ListInfrastructureConfigurationsOutput) String() string {
 14879  	return awsutil.Prettify(s)
 14880  }
 14881  
 14882  // GoString returns the string representation.
 14883  //
 14884  // API parameter values that are decorated as "sensitive" in the API will not
 14885  // be included in the string output. The member name will be present, but the
 14886  // value will be replaced with "sensitive".
 14887  func (s ListInfrastructureConfigurationsOutput) GoString() string {
 14888  	return s.String()
 14889  }
 14890  
 14891  // SetInfrastructureConfigurationSummaryList sets the InfrastructureConfigurationSummaryList field's value.
 14892  func (s *ListInfrastructureConfigurationsOutput) SetInfrastructureConfigurationSummaryList(v []*InfrastructureConfigurationSummary) *ListInfrastructureConfigurationsOutput {
 14893  	s.InfrastructureConfigurationSummaryList = v
 14894  	return s
 14895  }
 14896  
 14897  // SetNextToken sets the NextToken field's value.
 14898  func (s *ListInfrastructureConfigurationsOutput) SetNextToken(v string) *ListInfrastructureConfigurationsOutput {
 14899  	s.NextToken = &v
 14900  	return s
 14901  }
 14902  
 14903  // SetRequestId sets the RequestId field's value.
 14904  func (s *ListInfrastructureConfigurationsOutput) SetRequestId(v string) *ListInfrastructureConfigurationsOutput {
 14905  	s.RequestId = &v
 14906  	return s
 14907  }
 14908  
 14909  type ListTagsForResourceInput struct {
 14910  	_ struct{} `type:"structure" nopayload:"true"`
 14911  
 14912  	// The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.
 14913  	//
 14914  	// ResourceArn is a required field
 14915  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 14916  }
 14917  
 14918  // String returns the string representation.
 14919  //
 14920  // API parameter values that are decorated as "sensitive" in the API will not
 14921  // be included in the string output. The member name will be present, but the
 14922  // value will be replaced with "sensitive".
 14923  func (s ListTagsForResourceInput) String() string {
 14924  	return awsutil.Prettify(s)
 14925  }
 14926  
 14927  // GoString returns the string representation.
 14928  //
 14929  // API parameter values that are decorated as "sensitive" in the API will not
 14930  // be included in the string output. The member name will be present, but the
 14931  // value will be replaced with "sensitive".
 14932  func (s ListTagsForResourceInput) GoString() string {
 14933  	return s.String()
 14934  }
 14935  
 14936  // Validate inspects the fields of the type to determine if they are valid.
 14937  func (s *ListTagsForResourceInput) Validate() error {
 14938  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 14939  	if s.ResourceArn == nil {
 14940  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14941  	}
 14942  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14943  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14944  	}
 14945  
 14946  	if invalidParams.Len() > 0 {
 14947  		return invalidParams
 14948  	}
 14949  	return nil
 14950  }
 14951  
 14952  // SetResourceArn sets the ResourceArn field's value.
 14953  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 14954  	s.ResourceArn = &v
 14955  	return s
 14956  }
 14957  
 14958  type ListTagsForResourceOutput struct {
 14959  	_ struct{} `type:"structure"`
 14960  
 14961  	// The tags for the specified resource.
 14962  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 14963  }
 14964  
 14965  // String returns the string representation.
 14966  //
 14967  // API parameter values that are decorated as "sensitive" in the API will not
 14968  // be included in the string output. The member name will be present, but the
 14969  // value will be replaced with "sensitive".
 14970  func (s ListTagsForResourceOutput) String() string {
 14971  	return awsutil.Prettify(s)
 14972  }
 14973  
 14974  // GoString returns the string representation.
 14975  //
 14976  // API parameter values that are decorated as "sensitive" in the API will not
 14977  // be included in the string output. The member name will be present, but the
 14978  // value will be replaced with "sensitive".
 14979  func (s ListTagsForResourceOutput) GoString() string {
 14980  	return s.String()
 14981  }
 14982  
 14983  // SetTags sets the Tags field's value.
 14984  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 14985  	s.Tags = v
 14986  	return s
 14987  }
 14988  
 14989  // Logging configuration defines where Image Builder uploads your logs.
 14990  type Logging struct {
 14991  	_ struct{} `type:"structure"`
 14992  
 14993  	// The Amazon S3 logging configuration.
 14994  	S3Logs *S3Logs `locationName:"s3Logs" type:"structure"`
 14995  }
 14996  
 14997  // String returns the string representation.
 14998  //
 14999  // API parameter values that are decorated as "sensitive" in the API will not
 15000  // be included in the string output. The member name will be present, but the
 15001  // value will be replaced with "sensitive".
 15002  func (s Logging) String() string {
 15003  	return awsutil.Prettify(s)
 15004  }
 15005  
 15006  // GoString returns the string representation.
 15007  //
 15008  // API parameter values that are decorated as "sensitive" in the API will not
 15009  // be included in the string output. The member name will be present, but the
 15010  // value will be replaced with "sensitive".
 15011  func (s Logging) GoString() string {
 15012  	return s.String()
 15013  }
 15014  
 15015  // Validate inspects the fields of the type to determine if they are valid.
 15016  func (s *Logging) Validate() error {
 15017  	invalidParams := request.ErrInvalidParams{Context: "Logging"}
 15018  	if s.S3Logs != nil {
 15019  		if err := s.S3Logs.Validate(); err != nil {
 15020  			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
 15021  		}
 15022  	}
 15023  
 15024  	if invalidParams.Len() > 0 {
 15025  		return invalidParams
 15026  	}
 15027  	return nil
 15028  }
 15029  
 15030  // SetS3Logs sets the S3Logs field's value.
 15031  func (s *Logging) SetS3Logs(v *S3Logs) *Logging {
 15032  	s.S3Logs = v
 15033  	return s
 15034  }
 15035  
 15036  // The resources produced by this image.
 15037  type OutputResources struct {
 15038  	_ struct{} `type:"structure"`
 15039  
 15040  	// The Amazon EC2 AMIs created by this image.
 15041  	Amis []*Ami `locationName:"amis" type:"list"`
 15042  
 15043  	// Container images that the pipeline has generated and stored in the output
 15044  	// repository.
 15045  	Containers []*Container `locationName:"containers" type:"list"`
 15046  }
 15047  
 15048  // String returns the string representation.
 15049  //
 15050  // API parameter values that are decorated as "sensitive" in the API will not
 15051  // be included in the string output. The member name will be present, but the
 15052  // value will be replaced with "sensitive".
 15053  func (s OutputResources) String() string {
 15054  	return awsutil.Prettify(s)
 15055  }
 15056  
 15057  // GoString returns the string representation.
 15058  //
 15059  // API parameter values that are decorated as "sensitive" in the API will not
 15060  // be included in the string output. The member name will be present, but the
 15061  // value will be replaced with "sensitive".
 15062  func (s OutputResources) GoString() string {
 15063  	return s.String()
 15064  }
 15065  
 15066  // SetAmis sets the Amis field's value.
 15067  func (s *OutputResources) SetAmis(v []*Ami) *OutputResources {
 15068  	s.Amis = v
 15069  	return s
 15070  }
 15071  
 15072  // SetContainers sets the Containers field's value.
 15073  func (s *OutputResources) SetContainers(v []*Container) *OutputResources {
 15074  	s.Containers = v
 15075  	return s
 15076  }
 15077  
 15078  type PutComponentPolicyInput struct {
 15079  	_ struct{} `type:"structure"`
 15080  
 15081  	// The Amazon Resource Name (ARN) of the component that this policy should be
 15082  	// applied to.
 15083  	//
 15084  	// ComponentArn is a required field
 15085  	ComponentArn *string `locationName:"componentArn" type:"string" required:"true"`
 15086  
 15087  	// The policy to apply.
 15088  	//
 15089  	// Policy is a required field
 15090  	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
 15091  }
 15092  
 15093  // String returns the string representation.
 15094  //
 15095  // API parameter values that are decorated as "sensitive" in the API will not
 15096  // be included in the string output. The member name will be present, but the
 15097  // value will be replaced with "sensitive".
 15098  func (s PutComponentPolicyInput) String() string {
 15099  	return awsutil.Prettify(s)
 15100  }
 15101  
 15102  // GoString returns the string representation.
 15103  //
 15104  // API parameter values that are decorated as "sensitive" in the API will not
 15105  // be included in the string output. The member name will be present, but the
 15106  // value will be replaced with "sensitive".
 15107  func (s PutComponentPolicyInput) GoString() string {
 15108  	return s.String()
 15109  }
 15110  
 15111  // Validate inspects the fields of the type to determine if they are valid.
 15112  func (s *PutComponentPolicyInput) Validate() error {
 15113  	invalidParams := request.ErrInvalidParams{Context: "PutComponentPolicyInput"}
 15114  	if s.ComponentArn == nil {
 15115  		invalidParams.Add(request.NewErrParamRequired("ComponentArn"))
 15116  	}
 15117  	if s.Policy == nil {
 15118  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 15119  	}
 15120  	if s.Policy != nil && len(*s.Policy) < 1 {
 15121  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 15122  	}
 15123  
 15124  	if invalidParams.Len() > 0 {
 15125  		return invalidParams
 15126  	}
 15127  	return nil
 15128  }
 15129  
 15130  // SetComponentArn sets the ComponentArn field's value.
 15131  func (s *PutComponentPolicyInput) SetComponentArn(v string) *PutComponentPolicyInput {
 15132  	s.ComponentArn = &v
 15133  	return s
 15134  }
 15135  
 15136  // SetPolicy sets the Policy field's value.
 15137  func (s *PutComponentPolicyInput) SetPolicy(v string) *PutComponentPolicyInput {
 15138  	s.Policy = &v
 15139  	return s
 15140  }
 15141  
 15142  type PutComponentPolicyOutput struct {
 15143  	_ struct{} `type:"structure"`
 15144  
 15145  	// The Amazon Resource Name (ARN) of the component that this policy was applied
 15146  	// to.
 15147  	ComponentArn *string `locationName:"componentArn" type:"string"`
 15148  
 15149  	// The request ID that uniquely identifies this request.
 15150  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 15151  }
 15152  
 15153  // String returns the string representation.
 15154  //
 15155  // API parameter values that are decorated as "sensitive" in the API will not
 15156  // be included in the string output. The member name will be present, but the
 15157  // value will be replaced with "sensitive".
 15158  func (s PutComponentPolicyOutput) String() string {
 15159  	return awsutil.Prettify(s)
 15160  }
 15161  
 15162  // GoString returns the string representation.
 15163  //
 15164  // API parameter values that are decorated as "sensitive" in the API will not
 15165  // be included in the string output. The member name will be present, but the
 15166  // value will be replaced with "sensitive".
 15167  func (s PutComponentPolicyOutput) GoString() string {
 15168  	return s.String()
 15169  }
 15170  
 15171  // SetComponentArn sets the ComponentArn field's value.
 15172  func (s *PutComponentPolicyOutput) SetComponentArn(v string) *PutComponentPolicyOutput {
 15173  	s.ComponentArn = &v
 15174  	return s
 15175  }
 15176  
 15177  // SetRequestId sets the RequestId field's value.
 15178  func (s *PutComponentPolicyOutput) SetRequestId(v string) *PutComponentPolicyOutput {
 15179  	s.RequestId = &v
 15180  	return s
 15181  }
 15182  
 15183  type PutContainerRecipePolicyInput struct {
 15184  	_ struct{} `type:"structure"`
 15185  
 15186  	// The Amazon Resource Name (ARN) of the container recipe that this policy should
 15187  	// be applied to.
 15188  	//
 15189  	// ContainerRecipeArn is a required field
 15190  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string" required:"true"`
 15191  
 15192  	// The policy to apply to the container recipe.
 15193  	//
 15194  	// Policy is a required field
 15195  	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
 15196  }
 15197  
 15198  // String returns the string representation.
 15199  //
 15200  // API parameter values that are decorated as "sensitive" in the API will not
 15201  // be included in the string output. The member name will be present, but the
 15202  // value will be replaced with "sensitive".
 15203  func (s PutContainerRecipePolicyInput) String() string {
 15204  	return awsutil.Prettify(s)
 15205  }
 15206  
 15207  // GoString returns the string representation.
 15208  //
 15209  // API parameter values that are decorated as "sensitive" in the API will not
 15210  // be included in the string output. The member name will be present, but the
 15211  // value will be replaced with "sensitive".
 15212  func (s PutContainerRecipePolicyInput) GoString() string {
 15213  	return s.String()
 15214  }
 15215  
 15216  // Validate inspects the fields of the type to determine if they are valid.
 15217  func (s *PutContainerRecipePolicyInput) Validate() error {
 15218  	invalidParams := request.ErrInvalidParams{Context: "PutContainerRecipePolicyInput"}
 15219  	if s.ContainerRecipeArn == nil {
 15220  		invalidParams.Add(request.NewErrParamRequired("ContainerRecipeArn"))
 15221  	}
 15222  	if s.Policy == nil {
 15223  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 15224  	}
 15225  	if s.Policy != nil && len(*s.Policy) < 1 {
 15226  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 15227  	}
 15228  
 15229  	if invalidParams.Len() > 0 {
 15230  		return invalidParams
 15231  	}
 15232  	return nil
 15233  }
 15234  
 15235  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 15236  func (s *PutContainerRecipePolicyInput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyInput {
 15237  	s.ContainerRecipeArn = &v
 15238  	return s
 15239  }
 15240  
 15241  // SetPolicy sets the Policy field's value.
 15242  func (s *PutContainerRecipePolicyInput) SetPolicy(v string) *PutContainerRecipePolicyInput {
 15243  	s.Policy = &v
 15244  	return s
 15245  }
 15246  
 15247  type PutContainerRecipePolicyOutput struct {
 15248  	_ struct{} `type:"structure"`
 15249  
 15250  	// The Amazon Resource Name (ARN) of the container recipe that this policy was
 15251  	// applied to.
 15252  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
 15253  
 15254  	// The request ID that uniquely identifies this request.
 15255  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 15256  }
 15257  
 15258  // String returns the string representation.
 15259  //
 15260  // API parameter values that are decorated as "sensitive" in the API will not
 15261  // be included in the string output. The member name will be present, but the
 15262  // value will be replaced with "sensitive".
 15263  func (s PutContainerRecipePolicyOutput) String() string {
 15264  	return awsutil.Prettify(s)
 15265  }
 15266  
 15267  // GoString returns the string representation.
 15268  //
 15269  // API parameter values that are decorated as "sensitive" in the API will not
 15270  // be included in the string output. The member name will be present, but the
 15271  // value will be replaced with "sensitive".
 15272  func (s PutContainerRecipePolicyOutput) GoString() string {
 15273  	return s.String()
 15274  }
 15275  
 15276  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 15277  func (s *PutContainerRecipePolicyOutput) SetContainerRecipeArn(v string) *PutContainerRecipePolicyOutput {
 15278  	s.ContainerRecipeArn = &v
 15279  	return s
 15280  }
 15281  
 15282  // SetRequestId sets the RequestId field's value.
 15283  func (s *PutContainerRecipePolicyOutput) SetRequestId(v string) *PutContainerRecipePolicyOutput {
 15284  	s.RequestId = &v
 15285  	return s
 15286  }
 15287  
 15288  type PutImagePolicyInput struct {
 15289  	_ struct{} `type:"structure"`
 15290  
 15291  	// The Amazon Resource Name (ARN) of the image that this policy should be applied
 15292  	// to.
 15293  	//
 15294  	// ImageArn is a required field
 15295  	ImageArn *string `locationName:"imageArn" type:"string" required:"true"`
 15296  
 15297  	// The policy to apply.
 15298  	//
 15299  	// Policy is a required field
 15300  	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
 15301  }
 15302  
 15303  // String returns the string representation.
 15304  //
 15305  // API parameter values that are decorated as "sensitive" in the API will not
 15306  // be included in the string output. The member name will be present, but the
 15307  // value will be replaced with "sensitive".
 15308  func (s PutImagePolicyInput) String() string {
 15309  	return awsutil.Prettify(s)
 15310  }
 15311  
 15312  // GoString returns the string representation.
 15313  //
 15314  // API parameter values that are decorated as "sensitive" in the API will not
 15315  // be included in the string output. The member name will be present, but the
 15316  // value will be replaced with "sensitive".
 15317  func (s PutImagePolicyInput) GoString() string {
 15318  	return s.String()
 15319  }
 15320  
 15321  // Validate inspects the fields of the type to determine if they are valid.
 15322  func (s *PutImagePolicyInput) Validate() error {
 15323  	invalidParams := request.ErrInvalidParams{Context: "PutImagePolicyInput"}
 15324  	if s.ImageArn == nil {
 15325  		invalidParams.Add(request.NewErrParamRequired("ImageArn"))
 15326  	}
 15327  	if s.Policy == nil {
 15328  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 15329  	}
 15330  	if s.Policy != nil && len(*s.Policy) < 1 {
 15331  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 15332  	}
 15333  
 15334  	if invalidParams.Len() > 0 {
 15335  		return invalidParams
 15336  	}
 15337  	return nil
 15338  }
 15339  
 15340  // SetImageArn sets the ImageArn field's value.
 15341  func (s *PutImagePolicyInput) SetImageArn(v string) *PutImagePolicyInput {
 15342  	s.ImageArn = &v
 15343  	return s
 15344  }
 15345  
 15346  // SetPolicy sets the Policy field's value.
 15347  func (s *PutImagePolicyInput) SetPolicy(v string) *PutImagePolicyInput {
 15348  	s.Policy = &v
 15349  	return s
 15350  }
 15351  
 15352  type PutImagePolicyOutput struct {
 15353  	_ struct{} `type:"structure"`
 15354  
 15355  	// The Amazon Resource Name (ARN) of the image that this policy was applied
 15356  	// to.
 15357  	ImageArn *string `locationName:"imageArn" type:"string"`
 15358  
 15359  	// The request ID that uniquely identifies this request.
 15360  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 15361  }
 15362  
 15363  // String returns the string representation.
 15364  //
 15365  // API parameter values that are decorated as "sensitive" in the API will not
 15366  // be included in the string output. The member name will be present, but the
 15367  // value will be replaced with "sensitive".
 15368  func (s PutImagePolicyOutput) String() string {
 15369  	return awsutil.Prettify(s)
 15370  }
 15371  
 15372  // GoString returns the string representation.
 15373  //
 15374  // API parameter values that are decorated as "sensitive" in the API will not
 15375  // be included in the string output. The member name will be present, but the
 15376  // value will be replaced with "sensitive".
 15377  func (s PutImagePolicyOutput) GoString() string {
 15378  	return s.String()
 15379  }
 15380  
 15381  // SetImageArn sets the ImageArn field's value.
 15382  func (s *PutImagePolicyOutput) SetImageArn(v string) *PutImagePolicyOutput {
 15383  	s.ImageArn = &v
 15384  	return s
 15385  }
 15386  
 15387  // SetRequestId sets the RequestId field's value.
 15388  func (s *PutImagePolicyOutput) SetRequestId(v string) *PutImagePolicyOutput {
 15389  	s.RequestId = &v
 15390  	return s
 15391  }
 15392  
 15393  type PutImageRecipePolicyInput struct {
 15394  	_ struct{} `type:"structure"`
 15395  
 15396  	// The Amazon Resource Name (ARN) of the image recipe that this policy should
 15397  	// be applied to.
 15398  	//
 15399  	// ImageRecipeArn is a required field
 15400  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string" required:"true"`
 15401  
 15402  	// The policy to apply.
 15403  	//
 15404  	// Policy is a required field
 15405  	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
 15406  }
 15407  
 15408  // String returns the string representation.
 15409  //
 15410  // API parameter values that are decorated as "sensitive" in the API will not
 15411  // be included in the string output. The member name will be present, but the
 15412  // value will be replaced with "sensitive".
 15413  func (s PutImageRecipePolicyInput) String() string {
 15414  	return awsutil.Prettify(s)
 15415  }
 15416  
 15417  // GoString returns the string representation.
 15418  //
 15419  // API parameter values that are decorated as "sensitive" in the API will not
 15420  // be included in the string output. The member name will be present, but the
 15421  // value will be replaced with "sensitive".
 15422  func (s PutImageRecipePolicyInput) GoString() string {
 15423  	return s.String()
 15424  }
 15425  
 15426  // Validate inspects the fields of the type to determine if they are valid.
 15427  func (s *PutImageRecipePolicyInput) Validate() error {
 15428  	invalidParams := request.ErrInvalidParams{Context: "PutImageRecipePolicyInput"}
 15429  	if s.ImageRecipeArn == nil {
 15430  		invalidParams.Add(request.NewErrParamRequired("ImageRecipeArn"))
 15431  	}
 15432  	if s.Policy == nil {
 15433  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 15434  	}
 15435  	if s.Policy != nil && len(*s.Policy) < 1 {
 15436  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 15437  	}
 15438  
 15439  	if invalidParams.Len() > 0 {
 15440  		return invalidParams
 15441  	}
 15442  	return nil
 15443  }
 15444  
 15445  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 15446  func (s *PutImageRecipePolicyInput) SetImageRecipeArn(v string) *PutImageRecipePolicyInput {
 15447  	s.ImageRecipeArn = &v
 15448  	return s
 15449  }
 15450  
 15451  // SetPolicy sets the Policy field's value.
 15452  func (s *PutImageRecipePolicyInput) SetPolicy(v string) *PutImageRecipePolicyInput {
 15453  	s.Policy = &v
 15454  	return s
 15455  }
 15456  
 15457  type PutImageRecipePolicyOutput struct {
 15458  	_ struct{} `type:"structure"`
 15459  
 15460  	// The Amazon Resource Name (ARN) of the image recipe that this policy was applied
 15461  	// to.
 15462  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
 15463  
 15464  	// The request ID that uniquely identifies this request.
 15465  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 15466  }
 15467  
 15468  // String returns the string representation.
 15469  //
 15470  // API parameter values that are decorated as "sensitive" in the API will not
 15471  // be included in the string output. The member name will be present, but the
 15472  // value will be replaced with "sensitive".
 15473  func (s PutImageRecipePolicyOutput) String() string {
 15474  	return awsutil.Prettify(s)
 15475  }
 15476  
 15477  // GoString returns the string representation.
 15478  //
 15479  // API parameter values that are decorated as "sensitive" in the API will not
 15480  // be included in the string output. The member name will be present, but the
 15481  // value will be replaced with "sensitive".
 15482  func (s PutImageRecipePolicyOutput) GoString() string {
 15483  	return s.String()
 15484  }
 15485  
 15486  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 15487  func (s *PutImageRecipePolicyOutput) SetImageRecipeArn(v string) *PutImageRecipePolicyOutput {
 15488  	s.ImageRecipeArn = &v
 15489  	return s
 15490  }
 15491  
 15492  // SetRequestId sets the RequestId field's value.
 15493  func (s *PutImageRecipePolicyOutput) SetRequestId(v string) *PutImageRecipePolicyOutput {
 15494  	s.RequestId = &v
 15495  	return s
 15496  }
 15497  
 15498  // The resource that you are trying to create already exists.
 15499  type ResourceAlreadyExistsException struct {
 15500  	_            struct{}                  `type:"structure"`
 15501  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15502  
 15503  	Message_ *string `locationName:"message" type:"string"`
 15504  }
 15505  
 15506  // String returns the string representation.
 15507  //
 15508  // API parameter values that are decorated as "sensitive" in the API will not
 15509  // be included in the string output. The member name will be present, but the
 15510  // value will be replaced with "sensitive".
 15511  func (s ResourceAlreadyExistsException) String() string {
 15512  	return awsutil.Prettify(s)
 15513  }
 15514  
 15515  // GoString returns the string representation.
 15516  //
 15517  // API parameter values that are decorated as "sensitive" in the API will not
 15518  // be included in the string output. The member name will be present, but the
 15519  // value will be replaced with "sensitive".
 15520  func (s ResourceAlreadyExistsException) GoString() string {
 15521  	return s.String()
 15522  }
 15523  
 15524  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 15525  	return &ResourceAlreadyExistsException{
 15526  		RespMetadata: v,
 15527  	}
 15528  }
 15529  
 15530  // Code returns the exception type name.
 15531  func (s *ResourceAlreadyExistsException) Code() string {
 15532  	return "ResourceAlreadyExistsException"
 15533  }
 15534  
 15535  // Message returns the exception's message.
 15536  func (s *ResourceAlreadyExistsException) Message() string {
 15537  	if s.Message_ != nil {
 15538  		return *s.Message_
 15539  	}
 15540  	return ""
 15541  }
 15542  
 15543  // OrigErr always returns nil, satisfies awserr.Error interface.
 15544  func (s *ResourceAlreadyExistsException) OrigErr() error {
 15545  	return nil
 15546  }
 15547  
 15548  func (s *ResourceAlreadyExistsException) Error() string {
 15549  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15550  }
 15551  
 15552  // Status code returns the HTTP status code for the request's response error.
 15553  func (s *ResourceAlreadyExistsException) StatusCode() int {
 15554  	return s.RespMetadata.StatusCode
 15555  }
 15556  
 15557  // RequestID returns the service's response RequestID for request.
 15558  func (s *ResourceAlreadyExistsException) RequestID() string {
 15559  	return s.RespMetadata.RequestID
 15560  }
 15561  
 15562  // You have attempted to mutate or delete a resource with a dependency that
 15563  // prohibits this action. See the error message for more details.
 15564  type ResourceDependencyException struct {
 15565  	_            struct{}                  `type:"structure"`
 15566  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15567  
 15568  	Message_ *string `locationName:"message" type:"string"`
 15569  }
 15570  
 15571  // String returns the string representation.
 15572  //
 15573  // API parameter values that are decorated as "sensitive" in the API will not
 15574  // be included in the string output. The member name will be present, but the
 15575  // value will be replaced with "sensitive".
 15576  func (s ResourceDependencyException) String() string {
 15577  	return awsutil.Prettify(s)
 15578  }
 15579  
 15580  // GoString returns the string representation.
 15581  //
 15582  // API parameter values that are decorated as "sensitive" in the API will not
 15583  // be included in the string output. The member name will be present, but the
 15584  // value will be replaced with "sensitive".
 15585  func (s ResourceDependencyException) GoString() string {
 15586  	return s.String()
 15587  }
 15588  
 15589  func newErrorResourceDependencyException(v protocol.ResponseMetadata) error {
 15590  	return &ResourceDependencyException{
 15591  		RespMetadata: v,
 15592  	}
 15593  }
 15594  
 15595  // Code returns the exception type name.
 15596  func (s *ResourceDependencyException) Code() string {
 15597  	return "ResourceDependencyException"
 15598  }
 15599  
 15600  // Message returns the exception's message.
 15601  func (s *ResourceDependencyException) Message() string {
 15602  	if s.Message_ != nil {
 15603  		return *s.Message_
 15604  	}
 15605  	return ""
 15606  }
 15607  
 15608  // OrigErr always returns nil, satisfies awserr.Error interface.
 15609  func (s *ResourceDependencyException) OrigErr() error {
 15610  	return nil
 15611  }
 15612  
 15613  func (s *ResourceDependencyException) Error() string {
 15614  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15615  }
 15616  
 15617  // Status code returns the HTTP status code for the request's response error.
 15618  func (s *ResourceDependencyException) StatusCode() int {
 15619  	return s.RespMetadata.StatusCode
 15620  }
 15621  
 15622  // RequestID returns the service's response RequestID for request.
 15623  func (s *ResourceDependencyException) RequestID() string {
 15624  	return s.RespMetadata.RequestID
 15625  }
 15626  
 15627  // The resource that you are trying to operate on is currently in use. Review
 15628  // the message details and retry later.
 15629  type ResourceInUseException struct {
 15630  	_            struct{}                  `type:"structure"`
 15631  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15632  
 15633  	Message_ *string `locationName:"message" type:"string"`
 15634  }
 15635  
 15636  // String returns the string representation.
 15637  //
 15638  // API parameter values that are decorated as "sensitive" in the API will not
 15639  // be included in the string output. The member name will be present, but the
 15640  // value will be replaced with "sensitive".
 15641  func (s ResourceInUseException) String() string {
 15642  	return awsutil.Prettify(s)
 15643  }
 15644  
 15645  // GoString returns the string representation.
 15646  //
 15647  // API parameter values that are decorated as "sensitive" in the API will not
 15648  // be included in the string output. The member name will be present, but the
 15649  // value will be replaced with "sensitive".
 15650  func (s ResourceInUseException) GoString() string {
 15651  	return s.String()
 15652  }
 15653  
 15654  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 15655  	return &ResourceInUseException{
 15656  		RespMetadata: v,
 15657  	}
 15658  }
 15659  
 15660  // Code returns the exception type name.
 15661  func (s *ResourceInUseException) Code() string {
 15662  	return "ResourceInUseException"
 15663  }
 15664  
 15665  // Message returns the exception's message.
 15666  func (s *ResourceInUseException) Message() string {
 15667  	if s.Message_ != nil {
 15668  		return *s.Message_
 15669  	}
 15670  	return ""
 15671  }
 15672  
 15673  // OrigErr always returns nil, satisfies awserr.Error interface.
 15674  func (s *ResourceInUseException) OrigErr() error {
 15675  	return nil
 15676  }
 15677  
 15678  func (s *ResourceInUseException) Error() string {
 15679  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15680  }
 15681  
 15682  // Status code returns the HTTP status code for the request's response error.
 15683  func (s *ResourceInUseException) StatusCode() int {
 15684  	return s.RespMetadata.StatusCode
 15685  }
 15686  
 15687  // RequestID returns the service's response RequestID for request.
 15688  func (s *ResourceInUseException) RequestID() string {
 15689  	return s.RespMetadata.RequestID
 15690  }
 15691  
 15692  // At least one of the resources referenced by your request does not exist.
 15693  type ResourceNotFoundException struct {
 15694  	_            struct{}                  `type:"structure"`
 15695  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15696  
 15697  	Message_ *string `locationName:"message" type:"string"`
 15698  }
 15699  
 15700  // String returns the string representation.
 15701  //
 15702  // API parameter values that are decorated as "sensitive" in the API will not
 15703  // be included in the string output. The member name will be present, but the
 15704  // value will be replaced with "sensitive".
 15705  func (s ResourceNotFoundException) String() string {
 15706  	return awsutil.Prettify(s)
 15707  }
 15708  
 15709  // GoString returns the string representation.
 15710  //
 15711  // API parameter values that are decorated as "sensitive" in the API will not
 15712  // be included in the string output. The member name will be present, but the
 15713  // value will be replaced with "sensitive".
 15714  func (s ResourceNotFoundException) GoString() string {
 15715  	return s.String()
 15716  }
 15717  
 15718  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 15719  	return &ResourceNotFoundException{
 15720  		RespMetadata: v,
 15721  	}
 15722  }
 15723  
 15724  // Code returns the exception type name.
 15725  func (s *ResourceNotFoundException) Code() string {
 15726  	return "ResourceNotFoundException"
 15727  }
 15728  
 15729  // Message returns the exception's message.
 15730  func (s *ResourceNotFoundException) Message() string {
 15731  	if s.Message_ != nil {
 15732  		return *s.Message_
 15733  	}
 15734  	return ""
 15735  }
 15736  
 15737  // OrigErr always returns nil, satisfies awserr.Error interface.
 15738  func (s *ResourceNotFoundException) OrigErr() error {
 15739  	return nil
 15740  }
 15741  
 15742  func (s *ResourceNotFoundException) Error() string {
 15743  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15744  }
 15745  
 15746  // Status code returns the HTTP status code for the request's response error.
 15747  func (s *ResourceNotFoundException) StatusCode() int {
 15748  	return s.RespMetadata.StatusCode
 15749  }
 15750  
 15751  // RequestID returns the service's response RequestID for request.
 15752  func (s *ResourceNotFoundException) RequestID() string {
 15753  	return s.RespMetadata.RequestID
 15754  }
 15755  
 15756  // Amazon S3 logging configuration.
 15757  type S3Logs struct {
 15758  	_ struct{} `type:"structure"`
 15759  
 15760  	// The Amazon S3 bucket in which to store the logs.
 15761  	S3BucketName *string `locationName:"s3BucketName" min:"1" type:"string"`
 15762  
 15763  	// The Amazon S3 path in which to store the logs.
 15764  	S3KeyPrefix *string `locationName:"s3KeyPrefix" min:"1" type:"string"`
 15765  }
 15766  
 15767  // String returns the string representation.
 15768  //
 15769  // API parameter values that are decorated as "sensitive" in the API will not
 15770  // be included in the string output. The member name will be present, but the
 15771  // value will be replaced with "sensitive".
 15772  func (s S3Logs) String() string {
 15773  	return awsutil.Prettify(s)
 15774  }
 15775  
 15776  // GoString returns the string representation.
 15777  //
 15778  // API parameter values that are decorated as "sensitive" in the API will not
 15779  // be included in the string output. The member name will be present, but the
 15780  // value will be replaced with "sensitive".
 15781  func (s S3Logs) GoString() string {
 15782  	return s.String()
 15783  }
 15784  
 15785  // Validate inspects the fields of the type to determine if they are valid.
 15786  func (s *S3Logs) Validate() error {
 15787  	invalidParams := request.ErrInvalidParams{Context: "S3Logs"}
 15788  	if s.S3BucketName != nil && len(*s.S3BucketName) < 1 {
 15789  		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 1))
 15790  	}
 15791  	if s.S3KeyPrefix != nil && len(*s.S3KeyPrefix) < 1 {
 15792  		invalidParams.Add(request.NewErrParamMinLen("S3KeyPrefix", 1))
 15793  	}
 15794  
 15795  	if invalidParams.Len() > 0 {
 15796  		return invalidParams
 15797  	}
 15798  	return nil
 15799  }
 15800  
 15801  // SetS3BucketName sets the S3BucketName field's value.
 15802  func (s *S3Logs) SetS3BucketName(v string) *S3Logs {
 15803  	s.S3BucketName = &v
 15804  	return s
 15805  }
 15806  
 15807  // SetS3KeyPrefix sets the S3KeyPrefix field's value.
 15808  func (s *S3Logs) SetS3KeyPrefix(v string) *S3Logs {
 15809  	s.S3KeyPrefix = &v
 15810  	return s
 15811  }
 15812  
 15813  // A schedule configures how often and when a pipeline will automatically create
 15814  // a new image.
 15815  type Schedule struct {
 15816  	_ struct{} `type:"structure"`
 15817  
 15818  	// The condition configures when the pipeline should trigger a new image build.
 15819  	// When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE,
 15820  	// and you use semantic version filters on the base image or components in your
 15821  	// image recipe, EC2 Image Builder will build a new image only when there are
 15822  	// new versions of the image or components in your recipe that match the semantic
 15823  	// version filter. When it is set to EXPRESSION_MATCH_ONLY, it will build a
 15824  	// new image every time the CRON expression matches the current time. For semantic
 15825  	// version syntax, see CreateComponent (https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html)
 15826  	// in the EC2 Image Builder API Reference.
 15827  	PipelineExecutionStartCondition *string `locationName:"pipelineExecutionStartCondition" type:"string" enum:"PipelineExecutionStartCondition"`
 15828  
 15829  	// The cron expression determines how often EC2 Image Builder evaluates your
 15830  	// pipelineExecutionStartCondition.
 15831  	//
 15832  	// For information on how to format a cron expression in Image Builder, see
 15833  	// Use cron expressions in EC2 Image Builder (https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html).
 15834  	ScheduleExpression *string `locationName:"scheduleExpression" min:"1" type:"string"`
 15835  
 15836  	// The timezone that applies to the scheduling expression. For example, "Etc/UTC",
 15837  	// "America/Los_Angeles" in the IANA timezone format (https://www.joda.org/joda-time/timezones.html).
 15838  	// If not specified this defaults to UTC.
 15839  	Timezone *string `locationName:"timezone" min:"3" type:"string"`
 15840  }
 15841  
 15842  // String returns the string representation.
 15843  //
 15844  // API parameter values that are decorated as "sensitive" in the API will not
 15845  // be included in the string output. The member name will be present, but the
 15846  // value will be replaced with "sensitive".
 15847  func (s Schedule) String() string {
 15848  	return awsutil.Prettify(s)
 15849  }
 15850  
 15851  // GoString returns the string representation.
 15852  //
 15853  // API parameter values that are decorated as "sensitive" in the API will not
 15854  // be included in the string output. The member name will be present, but the
 15855  // value will be replaced with "sensitive".
 15856  func (s Schedule) GoString() string {
 15857  	return s.String()
 15858  }
 15859  
 15860  // Validate inspects the fields of the type to determine if they are valid.
 15861  func (s *Schedule) Validate() error {
 15862  	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
 15863  	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
 15864  		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
 15865  	}
 15866  	if s.Timezone != nil && len(*s.Timezone) < 3 {
 15867  		invalidParams.Add(request.NewErrParamMinLen("Timezone", 3))
 15868  	}
 15869  
 15870  	if invalidParams.Len() > 0 {
 15871  		return invalidParams
 15872  	}
 15873  	return nil
 15874  }
 15875  
 15876  // SetPipelineExecutionStartCondition sets the PipelineExecutionStartCondition field's value.
 15877  func (s *Schedule) SetPipelineExecutionStartCondition(v string) *Schedule {
 15878  	s.PipelineExecutionStartCondition = &v
 15879  	return s
 15880  }
 15881  
 15882  // SetScheduleExpression sets the ScheduleExpression field's value.
 15883  func (s *Schedule) SetScheduleExpression(v string) *Schedule {
 15884  	s.ScheduleExpression = &v
 15885  	return s
 15886  }
 15887  
 15888  // SetTimezone sets the Timezone field's value.
 15889  func (s *Schedule) SetTimezone(v string) *Schedule {
 15890  	s.Timezone = &v
 15891  	return s
 15892  }
 15893  
 15894  // This exception is thrown when the service encounters an unrecoverable exception.
 15895  type ServiceException struct {
 15896  	_            struct{}                  `type:"structure"`
 15897  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15898  
 15899  	Message_ *string `locationName:"message" type:"string"`
 15900  }
 15901  
 15902  // String returns the string representation.
 15903  //
 15904  // API parameter values that are decorated as "sensitive" in the API will not
 15905  // be included in the string output. The member name will be present, but the
 15906  // value will be replaced with "sensitive".
 15907  func (s ServiceException) String() string {
 15908  	return awsutil.Prettify(s)
 15909  }
 15910  
 15911  // GoString returns the string representation.
 15912  //
 15913  // API parameter values that are decorated as "sensitive" in the API will not
 15914  // be included in the string output. The member name will be present, but the
 15915  // value will be replaced with "sensitive".
 15916  func (s ServiceException) GoString() string {
 15917  	return s.String()
 15918  }
 15919  
 15920  func newErrorServiceException(v protocol.ResponseMetadata) error {
 15921  	return &ServiceException{
 15922  		RespMetadata: v,
 15923  	}
 15924  }
 15925  
 15926  // Code returns the exception type name.
 15927  func (s *ServiceException) Code() string {
 15928  	return "ServiceException"
 15929  }
 15930  
 15931  // Message returns the exception's message.
 15932  func (s *ServiceException) Message() string {
 15933  	if s.Message_ != nil {
 15934  		return *s.Message_
 15935  	}
 15936  	return ""
 15937  }
 15938  
 15939  // OrigErr always returns nil, satisfies awserr.Error interface.
 15940  func (s *ServiceException) OrigErr() error {
 15941  	return nil
 15942  }
 15943  
 15944  func (s *ServiceException) Error() string {
 15945  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15946  }
 15947  
 15948  // Status code returns the HTTP status code for the request's response error.
 15949  func (s *ServiceException) StatusCode() int {
 15950  	return s.RespMetadata.StatusCode
 15951  }
 15952  
 15953  // RequestID returns the service's response RequestID for request.
 15954  func (s *ServiceException) RequestID() string {
 15955  	return s.RespMetadata.RequestID
 15956  }
 15957  
 15958  // You have exceeded the number of permitted resources or operations for this
 15959  // service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder).
 15960  type ServiceQuotaExceededException struct {
 15961  	_            struct{}                  `type:"structure"`
 15962  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15963  
 15964  	Message_ *string `locationName:"message" type:"string"`
 15965  }
 15966  
 15967  // String returns the string representation.
 15968  //
 15969  // API parameter values that are decorated as "sensitive" in the API will not
 15970  // be included in the string output. The member name will be present, but the
 15971  // value will be replaced with "sensitive".
 15972  func (s ServiceQuotaExceededException) String() string {
 15973  	return awsutil.Prettify(s)
 15974  }
 15975  
 15976  // GoString returns the string representation.
 15977  //
 15978  // API parameter values that are decorated as "sensitive" in the API will not
 15979  // be included in the string output. The member name will be present, but the
 15980  // value will be replaced with "sensitive".
 15981  func (s ServiceQuotaExceededException) GoString() string {
 15982  	return s.String()
 15983  }
 15984  
 15985  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 15986  	return &ServiceQuotaExceededException{
 15987  		RespMetadata: v,
 15988  	}
 15989  }
 15990  
 15991  // Code returns the exception type name.
 15992  func (s *ServiceQuotaExceededException) Code() string {
 15993  	return "ServiceQuotaExceededException"
 15994  }
 15995  
 15996  // Message returns the exception's message.
 15997  func (s *ServiceQuotaExceededException) Message() string {
 15998  	if s.Message_ != nil {
 15999  		return *s.Message_
 16000  	}
 16001  	return ""
 16002  }
 16003  
 16004  // OrigErr always returns nil, satisfies awserr.Error interface.
 16005  func (s *ServiceQuotaExceededException) OrigErr() error {
 16006  	return nil
 16007  }
 16008  
 16009  func (s *ServiceQuotaExceededException) Error() string {
 16010  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16011  }
 16012  
 16013  // Status code returns the HTTP status code for the request's response error.
 16014  func (s *ServiceQuotaExceededException) StatusCode() int {
 16015  	return s.RespMetadata.StatusCode
 16016  }
 16017  
 16018  // RequestID returns the service's response RequestID for request.
 16019  func (s *ServiceQuotaExceededException) RequestID() string {
 16020  	return s.RespMetadata.RequestID
 16021  }
 16022  
 16023  // The service is unable to process your request at this time.
 16024  type ServiceUnavailableException struct {
 16025  	_            struct{}                  `type:"structure"`
 16026  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16027  
 16028  	Message_ *string `locationName:"message" type:"string"`
 16029  }
 16030  
 16031  // String returns the string representation.
 16032  //
 16033  // API parameter values that are decorated as "sensitive" in the API will not
 16034  // be included in the string output. The member name will be present, but the
 16035  // value will be replaced with "sensitive".
 16036  func (s ServiceUnavailableException) String() string {
 16037  	return awsutil.Prettify(s)
 16038  }
 16039  
 16040  // GoString returns the string representation.
 16041  //
 16042  // API parameter values that are decorated as "sensitive" in the API will not
 16043  // be included in the string output. The member name will be present, but the
 16044  // value will be replaced with "sensitive".
 16045  func (s ServiceUnavailableException) GoString() string {
 16046  	return s.String()
 16047  }
 16048  
 16049  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 16050  	return &ServiceUnavailableException{
 16051  		RespMetadata: v,
 16052  	}
 16053  }
 16054  
 16055  // Code returns the exception type name.
 16056  func (s *ServiceUnavailableException) Code() string {
 16057  	return "ServiceUnavailableException"
 16058  }
 16059  
 16060  // Message returns the exception's message.
 16061  func (s *ServiceUnavailableException) Message() string {
 16062  	if s.Message_ != nil {
 16063  		return *s.Message_
 16064  	}
 16065  	return ""
 16066  }
 16067  
 16068  // OrigErr always returns nil, satisfies awserr.Error interface.
 16069  func (s *ServiceUnavailableException) OrigErr() error {
 16070  	return nil
 16071  }
 16072  
 16073  func (s *ServiceUnavailableException) Error() string {
 16074  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16075  }
 16076  
 16077  // Status code returns the HTTP status code for the request's response error.
 16078  func (s *ServiceUnavailableException) StatusCode() int {
 16079  	return s.RespMetadata.StatusCode
 16080  }
 16081  
 16082  // RequestID returns the service's response RequestID for request.
 16083  func (s *ServiceUnavailableException) RequestID() string {
 16084  	return s.RespMetadata.RequestID
 16085  }
 16086  
 16087  type StartImagePipelineExecutionInput struct {
 16088  	_ struct{} `type:"structure"`
 16089  
 16090  	// The idempotency token used to make this request idempotent.
 16091  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
 16092  
 16093  	// The Amazon Resource Name (ARN) of the image pipeline that you want to manually
 16094  	// invoke.
 16095  	//
 16096  	// ImagePipelineArn is a required field
 16097  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"`
 16098  }
 16099  
 16100  // String returns the string representation.
 16101  //
 16102  // API parameter values that are decorated as "sensitive" in the API will not
 16103  // be included in the string output. The member name will be present, but the
 16104  // value will be replaced with "sensitive".
 16105  func (s StartImagePipelineExecutionInput) String() string {
 16106  	return awsutil.Prettify(s)
 16107  }
 16108  
 16109  // GoString returns the string representation.
 16110  //
 16111  // API parameter values that are decorated as "sensitive" in the API will not
 16112  // be included in the string output. The member name will be present, but the
 16113  // value will be replaced with "sensitive".
 16114  func (s StartImagePipelineExecutionInput) GoString() string {
 16115  	return s.String()
 16116  }
 16117  
 16118  // Validate inspects the fields of the type to determine if they are valid.
 16119  func (s *StartImagePipelineExecutionInput) Validate() error {
 16120  	invalidParams := request.ErrInvalidParams{Context: "StartImagePipelineExecutionInput"}
 16121  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
 16122  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
 16123  	}
 16124  	if s.ImagePipelineArn == nil {
 16125  		invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn"))
 16126  	}
 16127  
 16128  	if invalidParams.Len() > 0 {
 16129  		return invalidParams
 16130  	}
 16131  	return nil
 16132  }
 16133  
 16134  // SetClientToken sets the ClientToken field's value.
 16135  func (s *StartImagePipelineExecutionInput) SetClientToken(v string) *StartImagePipelineExecutionInput {
 16136  	s.ClientToken = &v
 16137  	return s
 16138  }
 16139  
 16140  // SetImagePipelineArn sets the ImagePipelineArn field's value.
 16141  func (s *StartImagePipelineExecutionInput) SetImagePipelineArn(v string) *StartImagePipelineExecutionInput {
 16142  	s.ImagePipelineArn = &v
 16143  	return s
 16144  }
 16145  
 16146  type StartImagePipelineExecutionOutput struct {
 16147  	_ struct{} `type:"structure"`
 16148  
 16149  	// The idempotency token used to make this request idempotent.
 16150  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
 16151  
 16152  	// The Amazon Resource Name (ARN) of the image that was created by this request.
 16153  	ImageBuildVersionArn *string `locationName:"imageBuildVersionArn" type:"string"`
 16154  
 16155  	// The request ID that uniquely identifies this request.
 16156  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 16157  }
 16158  
 16159  // String returns the string representation.
 16160  //
 16161  // API parameter values that are decorated as "sensitive" in the API will not
 16162  // be included in the string output. The member name will be present, but the
 16163  // value will be replaced with "sensitive".
 16164  func (s StartImagePipelineExecutionOutput) String() string {
 16165  	return awsutil.Prettify(s)
 16166  }
 16167  
 16168  // GoString returns the string representation.
 16169  //
 16170  // API parameter values that are decorated as "sensitive" in the API will not
 16171  // be included in the string output. The member name will be present, but the
 16172  // value will be replaced with "sensitive".
 16173  func (s StartImagePipelineExecutionOutput) GoString() string {
 16174  	return s.String()
 16175  }
 16176  
 16177  // SetClientToken sets the ClientToken field's value.
 16178  func (s *StartImagePipelineExecutionOutput) SetClientToken(v string) *StartImagePipelineExecutionOutput {
 16179  	s.ClientToken = &v
 16180  	return s
 16181  }
 16182  
 16183  // SetImageBuildVersionArn sets the ImageBuildVersionArn field's value.
 16184  func (s *StartImagePipelineExecutionOutput) SetImageBuildVersionArn(v string) *StartImagePipelineExecutionOutput {
 16185  	s.ImageBuildVersionArn = &v
 16186  	return s
 16187  }
 16188  
 16189  // SetRequestId sets the RequestId field's value.
 16190  func (s *StartImagePipelineExecutionOutput) SetRequestId(v string) *StartImagePipelineExecutionOutput {
 16191  	s.RequestId = &v
 16192  	return s
 16193  }
 16194  
 16195  // Contains settings for the Systems Manager agent on your build instance.
 16196  type SystemsManagerAgent struct {
 16197  	_ struct{} `type:"structure"`
 16198  
 16199  	// Controls whether the Systems Manager agent is removed from your final build
 16200  	// image, prior to creating the new AMI. If this is set to true, then the agent
 16201  	// is removed from the final image. If it's set to false, then the agent is
 16202  	// left in, so that it is included in the new AMI. The default value is false.
 16203  	UninstallAfterBuild *bool `locationName:"uninstallAfterBuild" type:"boolean"`
 16204  }
 16205  
 16206  // String returns the string representation.
 16207  //
 16208  // API parameter values that are decorated as "sensitive" in the API will not
 16209  // be included in the string output. The member name will be present, but the
 16210  // value will be replaced with "sensitive".
 16211  func (s SystemsManagerAgent) String() string {
 16212  	return awsutil.Prettify(s)
 16213  }
 16214  
 16215  // GoString returns the string representation.
 16216  //
 16217  // API parameter values that are decorated as "sensitive" in the API will not
 16218  // be included in the string output. The member name will be present, but the
 16219  // value will be replaced with "sensitive".
 16220  func (s SystemsManagerAgent) GoString() string {
 16221  	return s.String()
 16222  }
 16223  
 16224  // SetUninstallAfterBuild sets the UninstallAfterBuild field's value.
 16225  func (s *SystemsManagerAgent) SetUninstallAfterBuild(v bool) *SystemsManagerAgent {
 16226  	s.UninstallAfterBuild = &v
 16227  	return s
 16228  }
 16229  
 16230  type TagResourceInput struct {
 16231  	_ struct{} `type:"structure"`
 16232  
 16233  	// The Amazon Resource Name (ARN) of the resource that you want to tag.
 16234  	//
 16235  	// ResourceArn is a required field
 16236  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 16237  
 16238  	// The tags to apply to the resource.
 16239  	//
 16240  	// Tags is a required field
 16241  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
 16242  }
 16243  
 16244  // String returns the string representation.
 16245  //
 16246  // API parameter values that are decorated as "sensitive" in the API will not
 16247  // be included in the string output. The member name will be present, but the
 16248  // value will be replaced with "sensitive".
 16249  func (s TagResourceInput) String() string {
 16250  	return awsutil.Prettify(s)
 16251  }
 16252  
 16253  // GoString returns the string representation.
 16254  //
 16255  // API parameter values that are decorated as "sensitive" in the API will not
 16256  // be included in the string output. The member name will be present, but the
 16257  // value will be replaced with "sensitive".
 16258  func (s TagResourceInput) GoString() string {
 16259  	return s.String()
 16260  }
 16261  
 16262  // Validate inspects the fields of the type to determine if they are valid.
 16263  func (s *TagResourceInput) Validate() error {
 16264  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 16265  	if s.ResourceArn == nil {
 16266  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16267  	}
 16268  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 16269  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 16270  	}
 16271  	if s.Tags == nil {
 16272  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 16273  	}
 16274  	if s.Tags != nil && len(s.Tags) < 1 {
 16275  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 16276  	}
 16277  
 16278  	if invalidParams.Len() > 0 {
 16279  		return invalidParams
 16280  	}
 16281  	return nil
 16282  }
 16283  
 16284  // SetResourceArn sets the ResourceArn field's value.
 16285  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 16286  	s.ResourceArn = &v
 16287  	return s
 16288  }
 16289  
 16290  // SetTags sets the Tags field's value.
 16291  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 16292  	s.Tags = v
 16293  	return s
 16294  }
 16295  
 16296  type TagResourceOutput struct {
 16297  	_ struct{} `type:"structure" nopayload:"true"`
 16298  }
 16299  
 16300  // String returns the string representation.
 16301  //
 16302  // API parameter values that are decorated as "sensitive" in the API will not
 16303  // be included in the string output. The member name will be present, but the
 16304  // value will be replaced with "sensitive".
 16305  func (s TagResourceOutput) String() string {
 16306  	return awsutil.Prettify(s)
 16307  }
 16308  
 16309  // GoString returns the string representation.
 16310  //
 16311  // API parameter values that are decorated as "sensitive" in the API will not
 16312  // be included in the string output. The member name will be present, but the
 16313  // value will be replaced with "sensitive".
 16314  func (s TagResourceOutput) GoString() string {
 16315  	return s.String()
 16316  }
 16317  
 16318  // The container repository where the output container image is stored.
 16319  type TargetContainerRepository struct {
 16320  	_ struct{} `type:"structure"`
 16321  
 16322  	// The name of the container repository where the output container image is
 16323  	// stored. This name is prefixed by the repository location.
 16324  	//
 16325  	// RepositoryName is a required field
 16326  	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
 16327  
 16328  	// Specifies the service in which this image was registered.
 16329  	//
 16330  	// Service is a required field
 16331  	Service *string `locationName:"service" type:"string" required:"true" enum:"ContainerRepositoryService"`
 16332  }
 16333  
 16334  // String returns the string representation.
 16335  //
 16336  // API parameter values that are decorated as "sensitive" in the API will not
 16337  // be included in the string output. The member name will be present, but the
 16338  // value will be replaced with "sensitive".
 16339  func (s TargetContainerRepository) String() string {
 16340  	return awsutil.Prettify(s)
 16341  }
 16342  
 16343  // GoString returns the string representation.
 16344  //
 16345  // API parameter values that are decorated as "sensitive" in the API will not
 16346  // be included in the string output. The member name will be present, but the
 16347  // value will be replaced with "sensitive".
 16348  func (s TargetContainerRepository) GoString() string {
 16349  	return s.String()
 16350  }
 16351  
 16352  // Validate inspects the fields of the type to determine if they are valid.
 16353  func (s *TargetContainerRepository) Validate() error {
 16354  	invalidParams := request.ErrInvalidParams{Context: "TargetContainerRepository"}
 16355  	if s.RepositoryName == nil {
 16356  		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
 16357  	}
 16358  	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
 16359  		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
 16360  	}
 16361  	if s.Service == nil {
 16362  		invalidParams.Add(request.NewErrParamRequired("Service"))
 16363  	}
 16364  
 16365  	if invalidParams.Len() > 0 {
 16366  		return invalidParams
 16367  	}
 16368  	return nil
 16369  }
 16370  
 16371  // SetRepositoryName sets the RepositoryName field's value.
 16372  func (s *TargetContainerRepository) SetRepositoryName(v string) *TargetContainerRepository {
 16373  	s.RepositoryName = &v
 16374  	return s
 16375  }
 16376  
 16377  // SetService sets the Service field's value.
 16378  func (s *TargetContainerRepository) SetService(v string) *TargetContainerRepository {
 16379  	s.Service = &v
 16380  	return s
 16381  }
 16382  
 16383  type UntagResourceInput struct {
 16384  	_ struct{} `type:"structure" nopayload:"true"`
 16385  
 16386  	// The Amazon Resource Name (ARN) of the resource that you want to untag.
 16387  	//
 16388  	// ResourceArn is a required field
 16389  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 16390  
 16391  	// The tag keys to remove from the resource.
 16392  	//
 16393  	// TagKeys is a required field
 16394  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 16395  }
 16396  
 16397  // String returns the string representation.
 16398  //
 16399  // API parameter values that are decorated as "sensitive" in the API will not
 16400  // be included in the string output. The member name will be present, but the
 16401  // value will be replaced with "sensitive".
 16402  func (s UntagResourceInput) String() string {
 16403  	return awsutil.Prettify(s)
 16404  }
 16405  
 16406  // GoString returns the string representation.
 16407  //
 16408  // API parameter values that are decorated as "sensitive" in the API will not
 16409  // be included in the string output. The member name will be present, but the
 16410  // value will be replaced with "sensitive".
 16411  func (s UntagResourceInput) GoString() string {
 16412  	return s.String()
 16413  }
 16414  
 16415  // Validate inspects the fields of the type to determine if they are valid.
 16416  func (s *UntagResourceInput) Validate() error {
 16417  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 16418  	if s.ResourceArn == nil {
 16419  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16420  	}
 16421  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 16422  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 16423  	}
 16424  	if s.TagKeys == nil {
 16425  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 16426  	}
 16427  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 16428  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 16429  	}
 16430  
 16431  	if invalidParams.Len() > 0 {
 16432  		return invalidParams
 16433  	}
 16434  	return nil
 16435  }
 16436  
 16437  // SetResourceArn sets the ResourceArn field's value.
 16438  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 16439  	s.ResourceArn = &v
 16440  	return s
 16441  }
 16442  
 16443  // SetTagKeys sets the TagKeys field's value.
 16444  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 16445  	s.TagKeys = v
 16446  	return s
 16447  }
 16448  
 16449  type UntagResourceOutput struct {
 16450  	_ struct{} `type:"structure" nopayload:"true"`
 16451  }
 16452  
 16453  // String returns the string representation.
 16454  //
 16455  // API parameter values that are decorated as "sensitive" in the API will not
 16456  // be included in the string output. The member name will be present, but the
 16457  // value will be replaced with "sensitive".
 16458  func (s UntagResourceOutput) String() string {
 16459  	return awsutil.Prettify(s)
 16460  }
 16461  
 16462  // GoString returns the string representation.
 16463  //
 16464  // API parameter values that are decorated as "sensitive" in the API will not
 16465  // be included in the string output. The member name will be present, but the
 16466  // value will be replaced with "sensitive".
 16467  func (s UntagResourceOutput) GoString() string {
 16468  	return s.String()
 16469  }
 16470  
 16471  type UpdateDistributionConfigurationInput struct {
 16472  	_ struct{} `type:"structure"`
 16473  
 16474  	// The idempotency token of the distribution configuration.
 16475  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
 16476  
 16477  	// The description of the distribution configuration.
 16478  	Description *string `locationName:"description" min:"1" type:"string"`
 16479  
 16480  	// The Amazon Resource Name (ARN) of the distribution configuration that you
 16481  	// want to update.
 16482  	//
 16483  	// DistributionConfigurationArn is a required field
 16484  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string" required:"true"`
 16485  
 16486  	// The distributions of the distribution configuration.
 16487  	//
 16488  	// Distributions is a required field
 16489  	Distributions []*Distribution `locationName:"distributions" type:"list" required:"true"`
 16490  }
 16491  
 16492  // String returns the string representation.
 16493  //
 16494  // API parameter values that are decorated as "sensitive" in the API will not
 16495  // be included in the string output. The member name will be present, but the
 16496  // value will be replaced with "sensitive".
 16497  func (s UpdateDistributionConfigurationInput) String() string {
 16498  	return awsutil.Prettify(s)
 16499  }
 16500  
 16501  // GoString returns the string representation.
 16502  //
 16503  // API parameter values that are decorated as "sensitive" in the API will not
 16504  // be included in the string output. The member name will be present, but the
 16505  // value will be replaced with "sensitive".
 16506  func (s UpdateDistributionConfigurationInput) GoString() string {
 16507  	return s.String()
 16508  }
 16509  
 16510  // Validate inspects the fields of the type to determine if they are valid.
 16511  func (s *UpdateDistributionConfigurationInput) Validate() error {
 16512  	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionConfigurationInput"}
 16513  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
 16514  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
 16515  	}
 16516  	if s.Description != nil && len(*s.Description) < 1 {
 16517  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 16518  	}
 16519  	if s.DistributionConfigurationArn == nil {
 16520  		invalidParams.Add(request.NewErrParamRequired("DistributionConfigurationArn"))
 16521  	}
 16522  	if s.Distributions == nil {
 16523  		invalidParams.Add(request.NewErrParamRequired("Distributions"))
 16524  	}
 16525  	if s.Distributions != nil {
 16526  		for i, v := range s.Distributions {
 16527  			if v == nil {
 16528  				continue
 16529  			}
 16530  			if err := v.Validate(); err != nil {
 16531  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Distributions", i), err.(request.ErrInvalidParams))
 16532  			}
 16533  		}
 16534  	}
 16535  
 16536  	if invalidParams.Len() > 0 {
 16537  		return invalidParams
 16538  	}
 16539  	return nil
 16540  }
 16541  
 16542  // SetClientToken sets the ClientToken field's value.
 16543  func (s *UpdateDistributionConfigurationInput) SetClientToken(v string) *UpdateDistributionConfigurationInput {
 16544  	s.ClientToken = &v
 16545  	return s
 16546  }
 16547  
 16548  // SetDescription sets the Description field's value.
 16549  func (s *UpdateDistributionConfigurationInput) SetDescription(v string) *UpdateDistributionConfigurationInput {
 16550  	s.Description = &v
 16551  	return s
 16552  }
 16553  
 16554  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
 16555  func (s *UpdateDistributionConfigurationInput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationInput {
 16556  	s.DistributionConfigurationArn = &v
 16557  	return s
 16558  }
 16559  
 16560  // SetDistributions sets the Distributions field's value.
 16561  func (s *UpdateDistributionConfigurationInput) SetDistributions(v []*Distribution) *UpdateDistributionConfigurationInput {
 16562  	s.Distributions = v
 16563  	return s
 16564  }
 16565  
 16566  type UpdateDistributionConfigurationOutput struct {
 16567  	_ struct{} `type:"structure"`
 16568  
 16569  	// The idempotency token used to make this request idempotent.
 16570  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
 16571  
 16572  	// The Amazon Resource Name (ARN) of the distribution configuration that was
 16573  	// updated by this request.
 16574  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
 16575  
 16576  	// The request ID that uniquely identifies this request.
 16577  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 16578  }
 16579  
 16580  // String returns the string representation.
 16581  //
 16582  // API parameter values that are decorated as "sensitive" in the API will not
 16583  // be included in the string output. The member name will be present, but the
 16584  // value will be replaced with "sensitive".
 16585  func (s UpdateDistributionConfigurationOutput) String() string {
 16586  	return awsutil.Prettify(s)
 16587  }
 16588  
 16589  // GoString returns the string representation.
 16590  //
 16591  // API parameter values that are decorated as "sensitive" in the API will not
 16592  // be included in the string output. The member name will be present, but the
 16593  // value will be replaced with "sensitive".
 16594  func (s UpdateDistributionConfigurationOutput) GoString() string {
 16595  	return s.String()
 16596  }
 16597  
 16598  // SetClientToken sets the ClientToken field's value.
 16599  func (s *UpdateDistributionConfigurationOutput) SetClientToken(v string) *UpdateDistributionConfigurationOutput {
 16600  	s.ClientToken = &v
 16601  	return s
 16602  }
 16603  
 16604  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
 16605  func (s *UpdateDistributionConfigurationOutput) SetDistributionConfigurationArn(v string) *UpdateDistributionConfigurationOutput {
 16606  	s.DistributionConfigurationArn = &v
 16607  	return s
 16608  }
 16609  
 16610  // SetRequestId sets the RequestId field's value.
 16611  func (s *UpdateDistributionConfigurationOutput) SetRequestId(v string) *UpdateDistributionConfigurationOutput {
 16612  	s.RequestId = &v
 16613  	return s
 16614  }
 16615  
 16616  type UpdateImagePipelineInput struct {
 16617  	_ struct{} `type:"structure"`
 16618  
 16619  	// The idempotency token used to make this request idempotent.
 16620  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
 16621  
 16622  	// The Amazon Resource Name (ARN) of the container pipeline to update.
 16623  	ContainerRecipeArn *string `locationName:"containerRecipeArn" type:"string"`
 16624  
 16625  	// The description of the image pipeline.
 16626  	Description *string `locationName:"description" min:"1" type:"string"`
 16627  
 16628  	// The Amazon Resource Name (ARN) of the distribution configuration that will
 16629  	// be used to configure and distribute images updated by this image pipeline.
 16630  	DistributionConfigurationArn *string `locationName:"distributionConfigurationArn" type:"string"`
 16631  
 16632  	// Collects additional information about the image being created, including
 16633  	// the operating system (OS) version and package list. This information is used
 16634  	// to enhance the overall experience of using EC2 Image Builder. Enabled by
 16635  	// default.
 16636  	EnhancedImageMetadataEnabled *bool `locationName:"enhancedImageMetadataEnabled" type:"boolean"`
 16637  
 16638  	// The Amazon Resource Name (ARN) of the image pipeline that you want to update.
 16639  	//
 16640  	// ImagePipelineArn is a required field
 16641  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string" required:"true"`
 16642  
 16643  	// The Amazon Resource Name (ARN) of the image recipe that will be used to configure
 16644  	// images updated by this image pipeline.
 16645  	ImageRecipeArn *string `locationName:"imageRecipeArn" type:"string"`
 16646  
 16647  	// The image test configuration of the image pipeline.
 16648  	ImageTestsConfiguration *ImageTestsConfiguration `locationName:"imageTestsConfiguration" type:"structure"`
 16649  
 16650  	// The Amazon Resource Name (ARN) of the infrastructure configuration that will
 16651  	// be used to build images updated by this image pipeline.
 16652  	//
 16653  	// InfrastructureConfigurationArn is a required field
 16654  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
 16655  
 16656  	// The schedule of the image pipeline.
 16657  	Schedule *Schedule `locationName:"schedule" type:"structure"`
 16658  
 16659  	// The status of the image pipeline.
 16660  	Status *string `locationName:"status" type:"string" enum:"PipelineStatus"`
 16661  }
 16662  
 16663  // String returns the string representation.
 16664  //
 16665  // API parameter values that are decorated as "sensitive" in the API will not
 16666  // be included in the string output. The member name will be present, but the
 16667  // value will be replaced with "sensitive".
 16668  func (s UpdateImagePipelineInput) String() string {
 16669  	return awsutil.Prettify(s)
 16670  }
 16671  
 16672  // GoString returns the string representation.
 16673  //
 16674  // API parameter values that are decorated as "sensitive" in the API will not
 16675  // be included in the string output. The member name will be present, but the
 16676  // value will be replaced with "sensitive".
 16677  func (s UpdateImagePipelineInput) GoString() string {
 16678  	return s.String()
 16679  }
 16680  
 16681  // Validate inspects the fields of the type to determine if they are valid.
 16682  func (s *UpdateImagePipelineInput) Validate() error {
 16683  	invalidParams := request.ErrInvalidParams{Context: "UpdateImagePipelineInput"}
 16684  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
 16685  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
 16686  	}
 16687  	if s.Description != nil && len(*s.Description) < 1 {
 16688  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 16689  	}
 16690  	if s.ImagePipelineArn == nil {
 16691  		invalidParams.Add(request.NewErrParamRequired("ImagePipelineArn"))
 16692  	}
 16693  	if s.InfrastructureConfigurationArn == nil {
 16694  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
 16695  	}
 16696  	if s.ImageTestsConfiguration != nil {
 16697  		if err := s.ImageTestsConfiguration.Validate(); err != nil {
 16698  			invalidParams.AddNested("ImageTestsConfiguration", err.(request.ErrInvalidParams))
 16699  		}
 16700  	}
 16701  	if s.Schedule != nil {
 16702  		if err := s.Schedule.Validate(); err != nil {
 16703  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
 16704  		}
 16705  	}
 16706  
 16707  	if invalidParams.Len() > 0 {
 16708  		return invalidParams
 16709  	}
 16710  	return nil
 16711  }
 16712  
 16713  // SetClientToken sets the ClientToken field's value.
 16714  func (s *UpdateImagePipelineInput) SetClientToken(v string) *UpdateImagePipelineInput {
 16715  	s.ClientToken = &v
 16716  	return s
 16717  }
 16718  
 16719  // SetContainerRecipeArn sets the ContainerRecipeArn field's value.
 16720  func (s *UpdateImagePipelineInput) SetContainerRecipeArn(v string) *UpdateImagePipelineInput {
 16721  	s.ContainerRecipeArn = &v
 16722  	return s
 16723  }
 16724  
 16725  // SetDescription sets the Description field's value.
 16726  func (s *UpdateImagePipelineInput) SetDescription(v string) *UpdateImagePipelineInput {
 16727  	s.Description = &v
 16728  	return s
 16729  }
 16730  
 16731  // SetDistributionConfigurationArn sets the DistributionConfigurationArn field's value.
 16732  func (s *UpdateImagePipelineInput) SetDistributionConfigurationArn(v string) *UpdateImagePipelineInput {
 16733  	s.DistributionConfigurationArn = &v
 16734  	return s
 16735  }
 16736  
 16737  // SetEnhancedImageMetadataEnabled sets the EnhancedImageMetadataEnabled field's value.
 16738  func (s *UpdateImagePipelineInput) SetEnhancedImageMetadataEnabled(v bool) *UpdateImagePipelineInput {
 16739  	s.EnhancedImageMetadataEnabled = &v
 16740  	return s
 16741  }
 16742  
 16743  // SetImagePipelineArn sets the ImagePipelineArn field's value.
 16744  func (s *UpdateImagePipelineInput) SetImagePipelineArn(v string) *UpdateImagePipelineInput {
 16745  	s.ImagePipelineArn = &v
 16746  	return s
 16747  }
 16748  
 16749  // SetImageRecipeArn sets the ImageRecipeArn field's value.
 16750  func (s *UpdateImagePipelineInput) SetImageRecipeArn(v string) *UpdateImagePipelineInput {
 16751  	s.ImageRecipeArn = &v
 16752  	return s
 16753  }
 16754  
 16755  // SetImageTestsConfiguration sets the ImageTestsConfiguration field's value.
 16756  func (s *UpdateImagePipelineInput) SetImageTestsConfiguration(v *ImageTestsConfiguration) *UpdateImagePipelineInput {
 16757  	s.ImageTestsConfiguration = v
 16758  	return s
 16759  }
 16760  
 16761  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
 16762  func (s *UpdateImagePipelineInput) SetInfrastructureConfigurationArn(v string) *UpdateImagePipelineInput {
 16763  	s.InfrastructureConfigurationArn = &v
 16764  	return s
 16765  }
 16766  
 16767  // SetSchedule sets the Schedule field's value.
 16768  func (s *UpdateImagePipelineInput) SetSchedule(v *Schedule) *UpdateImagePipelineInput {
 16769  	s.Schedule = v
 16770  	return s
 16771  }
 16772  
 16773  // SetStatus sets the Status field's value.
 16774  func (s *UpdateImagePipelineInput) SetStatus(v string) *UpdateImagePipelineInput {
 16775  	s.Status = &v
 16776  	return s
 16777  }
 16778  
 16779  type UpdateImagePipelineOutput struct {
 16780  	_ struct{} `type:"structure"`
 16781  
 16782  	// The idempotency token used to make this request idempotent.
 16783  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
 16784  
 16785  	// The Amazon Resource Name (ARN) of the image pipeline that was updated by
 16786  	// this request.
 16787  	ImagePipelineArn *string `locationName:"imagePipelineArn" type:"string"`
 16788  
 16789  	// The request ID that uniquely identifies this request.
 16790  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 16791  }
 16792  
 16793  // String returns the string representation.
 16794  //
 16795  // API parameter values that are decorated as "sensitive" in the API will not
 16796  // be included in the string output. The member name will be present, but the
 16797  // value will be replaced with "sensitive".
 16798  func (s UpdateImagePipelineOutput) String() string {
 16799  	return awsutil.Prettify(s)
 16800  }
 16801  
 16802  // GoString returns the string representation.
 16803  //
 16804  // API parameter values that are decorated as "sensitive" in the API will not
 16805  // be included in the string output. The member name will be present, but the
 16806  // value will be replaced with "sensitive".
 16807  func (s UpdateImagePipelineOutput) GoString() string {
 16808  	return s.String()
 16809  }
 16810  
 16811  // SetClientToken sets the ClientToken field's value.
 16812  func (s *UpdateImagePipelineOutput) SetClientToken(v string) *UpdateImagePipelineOutput {
 16813  	s.ClientToken = &v
 16814  	return s
 16815  }
 16816  
 16817  // SetImagePipelineArn sets the ImagePipelineArn field's value.
 16818  func (s *UpdateImagePipelineOutput) SetImagePipelineArn(v string) *UpdateImagePipelineOutput {
 16819  	s.ImagePipelineArn = &v
 16820  	return s
 16821  }
 16822  
 16823  // SetRequestId sets the RequestId field's value.
 16824  func (s *UpdateImagePipelineOutput) SetRequestId(v string) *UpdateImagePipelineOutput {
 16825  	s.RequestId = &v
 16826  	return s
 16827  }
 16828  
 16829  type UpdateInfrastructureConfigurationInput struct {
 16830  	_ struct{} `type:"structure"`
 16831  
 16832  	// The idempotency token used to make this request idempotent.
 16833  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
 16834  
 16835  	// The description of the infrastructure configuration.
 16836  	Description *string `locationName:"description" min:"1" type:"string"`
 16837  
 16838  	// The Amazon Resource Name (ARN) of the infrastructure configuration that you
 16839  	// want to update.
 16840  	//
 16841  	// InfrastructureConfigurationArn is a required field
 16842  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string" required:"true"`
 16843  
 16844  	// The instance metadata options that you can set for the HTTP requests that
 16845  	// pipeline builds use to launch EC2 build and test instances. For more information
 16846  	// about instance metadata options, see one of the following links:
 16847  	//
 16848  	//    * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)
 16849  	//    in the Amazon EC2 User Guide for Linux instances.
 16850  	//
 16851  	//    * Configure the instance metadata options (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html)
 16852  	//    in the Amazon EC2 Windows Guide for Windows instances.
 16853  	InstanceMetadataOptions *InstanceMetadataOptions `locationName:"instanceMetadataOptions" type:"structure"`
 16854  
 16855  	// The instance profile to associate with the instance used to customize your
 16856  	// Amazon EC2 AMI.
 16857  	//
 16858  	// InstanceProfileName is a required field
 16859  	InstanceProfileName *string `locationName:"instanceProfileName" min:"1" type:"string" required:"true"`
 16860  
 16861  	// The instance types of the infrastructure configuration. You can specify one
 16862  	// or more instance types to use for this build. The service will pick one of
 16863  	// these instance types based on availability.
 16864  	InstanceTypes []*string `locationName:"instanceTypes" type:"list"`
 16865  
 16866  	// The key pair of the infrastructure configuration. You can use this to log
 16867  	// on to and debug the instance used to create your image.
 16868  	KeyPair *string `locationName:"keyPair" min:"1" type:"string"`
 16869  
 16870  	// The logging configuration of the infrastructure configuration.
 16871  	Logging *Logging `locationName:"logging" type:"structure"`
 16872  
 16873  	// The tags attached to the resource created by Image Builder.
 16874  	ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"`
 16875  
 16876  	// The security group IDs to associate with the instance used to customize your
 16877  	// Amazon EC2 AMI.
 16878  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
 16879  
 16880  	// The SNS topic on which to send image build events.
 16881  	SnsTopicArn *string `locationName:"snsTopicArn" type:"string"`
 16882  
 16883  	// The subnet ID to place the instance used to customize your Amazon EC2 AMI
 16884  	// in.
 16885  	SubnetId *string `locationName:"subnetId" min:"1" type:"string"`
 16886  
 16887  	// The terminate instance on failure setting of the infrastructure configuration.
 16888  	// Set to false if you want Image Builder to retain the instance used to configure
 16889  	// your AMI if the build or test phase of your workflow fails.
 16890  	TerminateInstanceOnFailure *bool `locationName:"terminateInstanceOnFailure" type:"boolean"`
 16891  }
 16892  
 16893  // String returns the string representation.
 16894  //
 16895  // API parameter values that are decorated as "sensitive" in the API will not
 16896  // be included in the string output. The member name will be present, but the
 16897  // value will be replaced with "sensitive".
 16898  func (s UpdateInfrastructureConfigurationInput) String() string {
 16899  	return awsutil.Prettify(s)
 16900  }
 16901  
 16902  // GoString returns the string representation.
 16903  //
 16904  // API parameter values that are decorated as "sensitive" in the API will not
 16905  // be included in the string output. The member name will be present, but the
 16906  // value will be replaced with "sensitive".
 16907  func (s UpdateInfrastructureConfigurationInput) GoString() string {
 16908  	return s.String()
 16909  }
 16910  
 16911  // Validate inspects the fields of the type to determine if they are valid.
 16912  func (s *UpdateInfrastructureConfigurationInput) Validate() error {
 16913  	invalidParams := request.ErrInvalidParams{Context: "UpdateInfrastructureConfigurationInput"}
 16914  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
 16915  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
 16916  	}
 16917  	if s.Description != nil && len(*s.Description) < 1 {
 16918  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 16919  	}
 16920  	if s.InfrastructureConfigurationArn == nil {
 16921  		invalidParams.Add(request.NewErrParamRequired("InfrastructureConfigurationArn"))
 16922  	}
 16923  	if s.InstanceProfileName == nil {
 16924  		invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
 16925  	}
 16926  	if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
 16927  		invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
 16928  	}
 16929  	if s.KeyPair != nil && len(*s.KeyPair) < 1 {
 16930  		invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1))
 16931  	}
 16932  	if s.ResourceTags != nil && len(s.ResourceTags) < 1 {
 16933  		invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1))
 16934  	}
 16935  	if s.SubnetId != nil && len(*s.SubnetId) < 1 {
 16936  		invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1))
 16937  	}
 16938  	if s.InstanceMetadataOptions != nil {
 16939  		if err := s.InstanceMetadataOptions.Validate(); err != nil {
 16940  			invalidParams.AddNested("InstanceMetadataOptions", err.(request.ErrInvalidParams))
 16941  		}
 16942  	}
 16943  	if s.Logging != nil {
 16944  		if err := s.Logging.Validate(); err != nil {
 16945  			invalidParams.AddNested("Logging", err.(request.ErrInvalidParams))
 16946  		}
 16947  	}
 16948  
 16949  	if invalidParams.Len() > 0 {
 16950  		return invalidParams
 16951  	}
 16952  	return nil
 16953  }
 16954  
 16955  // SetClientToken sets the ClientToken field's value.
 16956  func (s *UpdateInfrastructureConfigurationInput) SetClientToken(v string) *UpdateInfrastructureConfigurationInput {
 16957  	s.ClientToken = &v
 16958  	return s
 16959  }
 16960  
 16961  // SetDescription sets the Description field's value.
 16962  func (s *UpdateInfrastructureConfigurationInput) SetDescription(v string) *UpdateInfrastructureConfigurationInput {
 16963  	s.Description = &v
 16964  	return s
 16965  }
 16966  
 16967  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
 16968  func (s *UpdateInfrastructureConfigurationInput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationInput {
 16969  	s.InfrastructureConfigurationArn = &v
 16970  	return s
 16971  }
 16972  
 16973  // SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
 16974  func (s *UpdateInfrastructureConfigurationInput) SetInstanceMetadataOptions(v *InstanceMetadataOptions) *UpdateInfrastructureConfigurationInput {
 16975  	s.InstanceMetadataOptions = v
 16976  	return s
 16977  }
 16978  
 16979  // SetInstanceProfileName sets the InstanceProfileName field's value.
 16980  func (s *UpdateInfrastructureConfigurationInput) SetInstanceProfileName(v string) *UpdateInfrastructureConfigurationInput {
 16981  	s.InstanceProfileName = &v
 16982  	return s
 16983  }
 16984  
 16985  // SetInstanceTypes sets the InstanceTypes field's value.
 16986  func (s *UpdateInfrastructureConfigurationInput) SetInstanceTypes(v []*string) *UpdateInfrastructureConfigurationInput {
 16987  	s.InstanceTypes = v
 16988  	return s
 16989  }
 16990  
 16991  // SetKeyPair sets the KeyPair field's value.
 16992  func (s *UpdateInfrastructureConfigurationInput) SetKeyPair(v string) *UpdateInfrastructureConfigurationInput {
 16993  	s.KeyPair = &v
 16994  	return s
 16995  }
 16996  
 16997  // SetLogging sets the Logging field's value.
 16998  func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateInfrastructureConfigurationInput {
 16999  	s.Logging = v
 17000  	return s
 17001  }
 17002  
 17003  // SetResourceTags sets the ResourceTags field's value.
 17004  func (s *UpdateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *UpdateInfrastructureConfigurationInput {
 17005  	s.ResourceTags = v
 17006  	return s
 17007  }
 17008  
 17009  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 17010  func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput {
 17011  	s.SecurityGroupIds = v
 17012  	return s
 17013  }
 17014  
 17015  // SetSnsTopicArn sets the SnsTopicArn field's value.
 17016  func (s *UpdateInfrastructureConfigurationInput) SetSnsTopicArn(v string) *UpdateInfrastructureConfigurationInput {
 17017  	s.SnsTopicArn = &v
 17018  	return s
 17019  }
 17020  
 17021  // SetSubnetId sets the SubnetId field's value.
 17022  func (s *UpdateInfrastructureConfigurationInput) SetSubnetId(v string) *UpdateInfrastructureConfigurationInput {
 17023  	s.SubnetId = &v
 17024  	return s
 17025  }
 17026  
 17027  // SetTerminateInstanceOnFailure sets the TerminateInstanceOnFailure field's value.
 17028  func (s *UpdateInfrastructureConfigurationInput) SetTerminateInstanceOnFailure(v bool) *UpdateInfrastructureConfigurationInput {
 17029  	s.TerminateInstanceOnFailure = &v
 17030  	return s
 17031  }
 17032  
 17033  type UpdateInfrastructureConfigurationOutput struct {
 17034  	_ struct{} `type:"structure"`
 17035  
 17036  	// The idempotency token used to make this request idempotent.
 17037  	ClientToken *string `locationName:"clientToken" min:"1" type:"string"`
 17038  
 17039  	// The Amazon Resource Name (ARN) of the infrastructure configuration that was
 17040  	// updated by this request.
 17041  	InfrastructureConfigurationArn *string `locationName:"infrastructureConfigurationArn" type:"string"`
 17042  
 17043  	// The request ID that uniquely identifies this request.
 17044  	RequestId *string `locationName:"requestId" min:"1" type:"string"`
 17045  }
 17046  
 17047  // String returns the string representation.
 17048  //
 17049  // API parameter values that are decorated as "sensitive" in the API will not
 17050  // be included in the string output. The member name will be present, but the
 17051  // value will be replaced with "sensitive".
 17052  func (s UpdateInfrastructureConfigurationOutput) String() string {
 17053  	return awsutil.Prettify(s)
 17054  }
 17055  
 17056  // GoString returns the string representation.
 17057  //
 17058  // API parameter values that are decorated as "sensitive" in the API will not
 17059  // be included in the string output. The member name will be present, but the
 17060  // value will be replaced with "sensitive".
 17061  func (s UpdateInfrastructureConfigurationOutput) GoString() string {
 17062  	return s.String()
 17063  }
 17064  
 17065  // SetClientToken sets the ClientToken field's value.
 17066  func (s *UpdateInfrastructureConfigurationOutput) SetClientToken(v string) *UpdateInfrastructureConfigurationOutput {
 17067  	s.ClientToken = &v
 17068  	return s
 17069  }
 17070  
 17071  // SetInfrastructureConfigurationArn sets the InfrastructureConfigurationArn field's value.
 17072  func (s *UpdateInfrastructureConfigurationOutput) SetInfrastructureConfigurationArn(v string) *UpdateInfrastructureConfigurationOutput {
 17073  	s.InfrastructureConfigurationArn = &v
 17074  	return s
 17075  }
 17076  
 17077  // SetRequestId sets the RequestId field's value.
 17078  func (s *UpdateInfrastructureConfigurationOutput) SetRequestId(v string) *UpdateInfrastructureConfigurationOutput {
 17079  	s.RequestId = &v
 17080  	return s
 17081  }
 17082  
 17083  const (
 17084  	// ComponentFormatShell is a ComponentFormat enum value
 17085  	ComponentFormatShell = "SHELL"
 17086  )
 17087  
 17088  // ComponentFormat_Values returns all elements of the ComponentFormat enum
 17089  func ComponentFormat_Values() []string {
 17090  	return []string{
 17091  		ComponentFormatShell,
 17092  	}
 17093  }
 17094  
 17095  const (
 17096  	// ComponentStatusDeprecated is a ComponentStatus enum value
 17097  	ComponentStatusDeprecated = "DEPRECATED"
 17098  )
 17099  
 17100  // ComponentStatus_Values returns all elements of the ComponentStatus enum
 17101  func ComponentStatus_Values() []string {
 17102  	return []string{
 17103  		ComponentStatusDeprecated,
 17104  	}
 17105  }
 17106  
 17107  const (
 17108  	// ComponentTypeBuild is a ComponentType enum value
 17109  	ComponentTypeBuild = "BUILD"
 17110  
 17111  	// ComponentTypeTest is a ComponentType enum value
 17112  	ComponentTypeTest = "TEST"
 17113  )
 17114  
 17115  // ComponentType_Values returns all elements of the ComponentType enum
 17116  func ComponentType_Values() []string {
 17117  	return []string{
 17118  		ComponentTypeBuild,
 17119  		ComponentTypeTest,
 17120  	}
 17121  }
 17122  
 17123  const (
 17124  	// ContainerRepositoryServiceEcr is a ContainerRepositoryService enum value
 17125  	ContainerRepositoryServiceEcr = "ECR"
 17126  )
 17127  
 17128  // ContainerRepositoryService_Values returns all elements of the ContainerRepositoryService enum
 17129  func ContainerRepositoryService_Values() []string {
 17130  	return []string{
 17131  		ContainerRepositoryServiceEcr,
 17132  	}
 17133  }
 17134  
 17135  const (
 17136  	// ContainerTypeDocker is a ContainerType enum value
 17137  	ContainerTypeDocker = "DOCKER"
 17138  )
 17139  
 17140  // ContainerType_Values returns all elements of the ContainerType enum
 17141  func ContainerType_Values() []string {
 17142  	return []string{
 17143  		ContainerTypeDocker,
 17144  	}
 17145  }
 17146  
 17147  const (
 17148  	// EbsVolumeTypeStandard is a EbsVolumeType enum value
 17149  	EbsVolumeTypeStandard = "standard"
 17150  
 17151  	// EbsVolumeTypeIo1 is a EbsVolumeType enum value
 17152  	EbsVolumeTypeIo1 = "io1"
 17153  
 17154  	// EbsVolumeTypeIo2 is a EbsVolumeType enum value
 17155  	EbsVolumeTypeIo2 = "io2"
 17156  
 17157  	// EbsVolumeTypeGp2 is a EbsVolumeType enum value
 17158  	EbsVolumeTypeGp2 = "gp2"
 17159  
 17160  	// EbsVolumeTypeGp3 is a EbsVolumeType enum value
 17161  	EbsVolumeTypeGp3 = "gp3"
 17162  
 17163  	// EbsVolumeTypeSc1 is a EbsVolumeType enum value
 17164  	EbsVolumeTypeSc1 = "sc1"
 17165  
 17166  	// EbsVolumeTypeSt1 is a EbsVolumeType enum value
 17167  	EbsVolumeTypeSt1 = "st1"
 17168  )
 17169  
 17170  // EbsVolumeType_Values returns all elements of the EbsVolumeType enum
 17171  func EbsVolumeType_Values() []string {
 17172  	return []string{
 17173  		EbsVolumeTypeStandard,
 17174  		EbsVolumeTypeIo1,
 17175  		EbsVolumeTypeIo2,
 17176  		EbsVolumeTypeGp2,
 17177  		EbsVolumeTypeGp3,
 17178  		EbsVolumeTypeSc1,
 17179  		EbsVolumeTypeSt1,
 17180  	}
 17181  }
 17182  
 17183  const (
 17184  	// ImageStatusPending is a ImageStatus enum value
 17185  	ImageStatusPending = "PENDING"
 17186  
 17187  	// ImageStatusCreating is a ImageStatus enum value
 17188  	ImageStatusCreating = "CREATING"
 17189  
 17190  	// ImageStatusBuilding is a ImageStatus enum value
 17191  	ImageStatusBuilding = "BUILDING"
 17192  
 17193  	// ImageStatusTesting is a ImageStatus enum value
 17194  	ImageStatusTesting = "TESTING"
 17195  
 17196  	// ImageStatusDistributing is a ImageStatus enum value
 17197  	ImageStatusDistributing = "DISTRIBUTING"
 17198  
 17199  	// ImageStatusIntegrating is a ImageStatus enum value
 17200  	ImageStatusIntegrating = "INTEGRATING"
 17201  
 17202  	// ImageStatusAvailable is a ImageStatus enum value
 17203  	ImageStatusAvailable = "AVAILABLE"
 17204  
 17205  	// ImageStatusCancelled is a ImageStatus enum value
 17206  	ImageStatusCancelled = "CANCELLED"
 17207  
 17208  	// ImageStatusFailed is a ImageStatus enum value
 17209  	ImageStatusFailed = "FAILED"
 17210  
 17211  	// ImageStatusDeprecated is a ImageStatus enum value
 17212  	ImageStatusDeprecated = "DEPRECATED"
 17213  
 17214  	// ImageStatusDeleted is a ImageStatus enum value
 17215  	ImageStatusDeleted = "DELETED"
 17216  )
 17217  
 17218  // ImageStatus_Values returns all elements of the ImageStatus enum
 17219  func ImageStatus_Values() []string {
 17220  	return []string{
 17221  		ImageStatusPending,
 17222  		ImageStatusCreating,
 17223  		ImageStatusBuilding,
 17224  		ImageStatusTesting,
 17225  		ImageStatusDistributing,
 17226  		ImageStatusIntegrating,
 17227  		ImageStatusAvailable,
 17228  		ImageStatusCancelled,
 17229  		ImageStatusFailed,
 17230  		ImageStatusDeprecated,
 17231  		ImageStatusDeleted,
 17232  	}
 17233  }
 17234  
 17235  const (
 17236  	// ImageTypeAmi is a ImageType enum value
 17237  	ImageTypeAmi = "AMI"
 17238  
 17239  	// ImageTypeDocker is a ImageType enum value
 17240  	ImageTypeDocker = "DOCKER"
 17241  )
 17242  
 17243  // ImageType_Values returns all elements of the ImageType enum
 17244  func ImageType_Values() []string {
 17245  	return []string{
 17246  		ImageTypeAmi,
 17247  		ImageTypeDocker,
 17248  	}
 17249  }
 17250  
 17251  const (
 17252  	// OwnershipSelf is a Ownership enum value
 17253  	OwnershipSelf = "Self"
 17254  
 17255  	// OwnershipShared is a Ownership enum value
 17256  	OwnershipShared = "Shared"
 17257  
 17258  	// OwnershipAmazon is a Ownership enum value
 17259  	OwnershipAmazon = "Amazon"
 17260  )
 17261  
 17262  // Ownership_Values returns all elements of the Ownership enum
 17263  func Ownership_Values() []string {
 17264  	return []string{
 17265  		OwnershipSelf,
 17266  		OwnershipShared,
 17267  		OwnershipAmazon,
 17268  	}
 17269  }
 17270  
 17271  const (
 17272  	// PipelineExecutionStartConditionExpressionMatchOnly is a PipelineExecutionStartCondition enum value
 17273  	PipelineExecutionStartConditionExpressionMatchOnly = "EXPRESSION_MATCH_ONLY"
 17274  
 17275  	// PipelineExecutionStartConditionExpressionMatchAndDependencyUpdatesAvailable is a PipelineExecutionStartCondition enum value
 17276  	PipelineExecutionStartConditionExpressionMatchAndDependencyUpdatesAvailable = "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
 17277  )
 17278  
 17279  // PipelineExecutionStartCondition_Values returns all elements of the PipelineExecutionStartCondition enum
 17280  func PipelineExecutionStartCondition_Values() []string {
 17281  	return []string{
 17282  		PipelineExecutionStartConditionExpressionMatchOnly,
 17283  		PipelineExecutionStartConditionExpressionMatchAndDependencyUpdatesAvailable,
 17284  	}
 17285  }
 17286  
 17287  const (
 17288  	// PipelineStatusDisabled is a PipelineStatus enum value
 17289  	PipelineStatusDisabled = "DISABLED"
 17290  
 17291  	// PipelineStatusEnabled is a PipelineStatus enum value
 17292  	PipelineStatusEnabled = "ENABLED"
 17293  )
 17294  
 17295  // PipelineStatus_Values returns all elements of the PipelineStatus enum
 17296  func PipelineStatus_Values() []string {
 17297  	return []string{
 17298  		PipelineStatusDisabled,
 17299  		PipelineStatusEnabled,
 17300  	}
 17301  }
 17302  
 17303  const (
 17304  	// PlatformWindows is a Platform enum value
 17305  	PlatformWindows = "Windows"
 17306  
 17307  	// PlatformLinux is a Platform enum value
 17308  	PlatformLinux = "Linux"
 17309  )
 17310  
 17311  // Platform_Values returns all elements of the Platform enum
 17312  func Platform_Values() []string {
 17313  	return []string{
 17314  		PlatformWindows,
 17315  		PlatformLinux,
 17316  	}
 17317  }