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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package securityhub
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAcceptAdministratorInvitation = "AcceptAdministratorInvitation"
    17  
    18  // AcceptAdministratorInvitationRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptAdministratorInvitation operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AcceptAdministratorInvitation for more information on using the AcceptAdministratorInvitation
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AcceptAdministratorInvitationRequest method.
    34  //    req, resp := client.AcceptAdministratorInvitationRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptAdministratorInvitation
    42  func (c *SecurityHub) AcceptAdministratorInvitationRequest(input *AcceptAdministratorInvitationInput) (req *request.Request, output *AcceptAdministratorInvitationOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptAdministratorInvitation,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/administrator",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptAdministratorInvitationInput{}
    51  	}
    52  
    53  	output = &AcceptAdministratorInvitationOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AcceptAdministratorInvitation API operation for AWS SecurityHub.
    60  //
    61  // Accepts the invitation to be a member account and be monitored by the Security
    62  // Hub administrator account that the invitation was sent from.
    63  //
    64  // This operation is only used by member accounts that are not added through
    65  // Organizations.
    66  //
    67  // When the member account accepts the invitation, permission is granted to
    68  // the administrator account to view findings generated in the member account.
    69  //
    70  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    71  // with awserr.Error's Code and Message methods to get detailed information about
    72  // the error.
    73  //
    74  // See the AWS API reference guide for AWS SecurityHub's
    75  // API operation AcceptAdministratorInvitation for usage and error information.
    76  //
    77  // Returned Error Types:
    78  //   * InternalException
    79  //   Internal server error.
    80  //
    81  //   * InvalidInputException
    82  //   The request was rejected because you supplied an invalid or out-of-range
    83  //   value for an input parameter.
    84  //
    85  //   * LimitExceededException
    86  //   The request was rejected because it attempted to create resources beyond
    87  //   the current Amazon Web Services account or throttling limits. The error code
    88  //   describes the limit exceeded.
    89  //
    90  //   * ResourceNotFoundException
    91  //   The request was rejected because we can't find the specified resource.
    92  //
    93  //   * InvalidAccessException
    94  //   There is an issue with the account used to make the request. Either Security
    95  //   Hub is not enabled for the account, or the account does not have permission
    96  //   to perform this action.
    97  //
    98  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptAdministratorInvitation
    99  func (c *SecurityHub) AcceptAdministratorInvitation(input *AcceptAdministratorInvitationInput) (*AcceptAdministratorInvitationOutput, error) {
   100  	req, out := c.AcceptAdministratorInvitationRequest(input)
   101  	return out, req.Send()
   102  }
   103  
   104  // AcceptAdministratorInvitationWithContext is the same as AcceptAdministratorInvitation with the addition of
   105  // the ability to pass a context and additional request options.
   106  //
   107  // See AcceptAdministratorInvitation 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 *SecurityHub) AcceptAdministratorInvitationWithContext(ctx aws.Context, input *AcceptAdministratorInvitationInput, opts ...request.Option) (*AcceptAdministratorInvitationOutput, error) {
   114  	req, out := c.AcceptAdministratorInvitationRequest(input)
   115  	req.SetContext(ctx)
   116  	req.ApplyOptions(opts...)
   117  	return out, req.Send()
   118  }
   119  
   120  const opAcceptInvitation = "AcceptInvitation"
   121  
   122  // AcceptInvitationRequest generates a "aws/request.Request" representing the
   123  // client's request for the AcceptInvitation 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 AcceptInvitation for more information on using the AcceptInvitation
   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 AcceptInvitationRequest method.
   138  //    req, resp := client.AcceptInvitationRequest(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/securityhub-2018-10-26/AcceptInvitation
   146  //
   147  // Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
   148  func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
   149  	if c.Client.Config.Logger != nil {
   150  		c.Client.Config.Logger.Log("This operation, AcceptInvitation, has been deprecated")
   151  	}
   152  	op := &request.Operation{
   153  		Name:       opAcceptInvitation,
   154  		HTTPMethod: "POST",
   155  		HTTPPath:   "/master",
   156  	}
   157  
   158  	if input == nil {
   159  		input = &AcceptInvitationInput{}
   160  	}
   161  
   162  	output = &AcceptInvitationOutput{}
   163  	req = c.newRequest(op, input, output)
   164  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   165  	return
   166  }
   167  
   168  // AcceptInvitation API operation for AWS SecurityHub.
   169  //
   170  // This method is deprecated. Instead, use AcceptAdministratorInvitation.
   171  //
   172  // The Security Hub console continues to use AcceptInvitation. It will eventually
   173  // change to use AcceptAdministratorInvitation. Any IAM policies that specifically
   174  // control access to this function must continue to use AcceptInvitation. You
   175  // should also add AcceptAdministratorInvitation to your policies to ensure
   176  // that the correct permissions are in place after the console begins to use
   177  // AcceptAdministratorInvitation.
   178  //
   179  // Accepts the invitation to be a member account and be monitored by the Security
   180  // Hub administrator account that the invitation was sent from.
   181  //
   182  // This operation is only used by member accounts that are not added through
   183  // Organizations.
   184  //
   185  // When the member account accepts the invitation, permission is granted to
   186  // the administrator account to view findings generated in the member account.
   187  //
   188  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   189  // with awserr.Error's Code and Message methods to get detailed information about
   190  // the error.
   191  //
   192  // See the AWS API reference guide for AWS SecurityHub's
   193  // API operation AcceptInvitation for usage and error information.
   194  //
   195  // Returned Error Types:
   196  //   * InternalException
   197  //   Internal server error.
   198  //
   199  //   * InvalidInputException
   200  //   The request was rejected because you supplied an invalid or out-of-range
   201  //   value for an input parameter.
   202  //
   203  //   * LimitExceededException
   204  //   The request was rejected because it attempted to create resources beyond
   205  //   the current Amazon Web Services account or throttling limits. The error code
   206  //   describes the limit exceeded.
   207  //
   208  //   * ResourceNotFoundException
   209  //   The request was rejected because we can't find the specified resource.
   210  //
   211  //   * InvalidAccessException
   212  //   There is an issue with the account used to make the request. Either Security
   213  //   Hub is not enabled for the account, or the account does not have permission
   214  //   to perform this action.
   215  //
   216  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
   217  //
   218  // Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
   219  func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
   220  	req, out := c.AcceptInvitationRequest(input)
   221  	return out, req.Send()
   222  }
   223  
   224  // AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
   225  // the ability to pass a context and additional request options.
   226  //
   227  // See AcceptInvitation for details on how to use this API operation.
   228  //
   229  // The context must be non-nil and will be used for request cancellation. If
   230  // the context is nil a panic will occur. In the future the SDK may create
   231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   232  // for more information on using Contexts.
   233  //
   234  // Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
   235  func (c *SecurityHub) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
   236  	req, out := c.AcceptInvitationRequest(input)
   237  	req.SetContext(ctx)
   238  	req.ApplyOptions(opts...)
   239  	return out, req.Send()
   240  }
   241  
   242  const opBatchDisableStandards = "BatchDisableStandards"
   243  
   244  // BatchDisableStandardsRequest generates a "aws/request.Request" representing the
   245  // client's request for the BatchDisableStandards operation. The "output" return
   246  // value will be populated with the request's response once the request completes
   247  // successfully.
   248  //
   249  // Use "Send" method on the returned Request to send the API call to the service.
   250  // the "output" return value is not valid until after Send returns without error.
   251  //
   252  // See BatchDisableStandards for more information on using the BatchDisableStandards
   253  // API call, and error handling.
   254  //
   255  // This method is useful when you want to inject custom logic or configuration
   256  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   257  //
   258  //
   259  //    // Example sending a request using the BatchDisableStandardsRequest method.
   260  //    req, resp := client.BatchDisableStandardsRequest(params)
   261  //
   262  //    err := req.Send()
   263  //    if err == nil { // resp is now filled
   264  //        fmt.Println(resp)
   265  //    }
   266  //
   267  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
   268  func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsInput) (req *request.Request, output *BatchDisableStandardsOutput) {
   269  	op := &request.Operation{
   270  		Name:       opBatchDisableStandards,
   271  		HTTPMethod: "POST",
   272  		HTTPPath:   "/standards/deregister",
   273  	}
   274  
   275  	if input == nil {
   276  		input = &BatchDisableStandardsInput{}
   277  	}
   278  
   279  	output = &BatchDisableStandardsOutput{}
   280  	req = c.newRequest(op, input, output)
   281  	return
   282  }
   283  
   284  // BatchDisableStandards API operation for AWS SecurityHub.
   285  //
   286  // Disables the standards specified by the provided StandardsSubscriptionArns.
   287  //
   288  // For more information, see Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
   289  // section of the Security Hub User Guide.
   290  //
   291  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   292  // with awserr.Error's Code and Message methods to get detailed information about
   293  // the error.
   294  //
   295  // See the AWS API reference guide for AWS SecurityHub's
   296  // API operation BatchDisableStandards for usage and error information.
   297  //
   298  // Returned Error Types:
   299  //   * InternalException
   300  //   Internal server error.
   301  //
   302  //   * InvalidInputException
   303  //   The request was rejected because you supplied an invalid or out-of-range
   304  //   value for an input parameter.
   305  //
   306  //   * InvalidAccessException
   307  //   There is an issue with the account used to make the request. Either Security
   308  //   Hub is not enabled for the account, or the account does not have permission
   309  //   to perform this action.
   310  //
   311  //   * LimitExceededException
   312  //   The request was rejected because it attempted to create resources beyond
   313  //   the current Amazon Web Services account or throttling limits. The error code
   314  //   describes the limit exceeded.
   315  //
   316  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
   317  func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) {
   318  	req, out := c.BatchDisableStandardsRequest(input)
   319  	return out, req.Send()
   320  }
   321  
   322  // BatchDisableStandardsWithContext is the same as BatchDisableStandards with the addition of
   323  // the ability to pass a context and additional request options.
   324  //
   325  // See BatchDisableStandards for details on how to use this API operation.
   326  //
   327  // The context must be non-nil and will be used for request cancellation. If
   328  // the context is nil a panic will occur. In the future the SDK may create
   329  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   330  // for more information on using Contexts.
   331  func (c *SecurityHub) BatchDisableStandardsWithContext(ctx aws.Context, input *BatchDisableStandardsInput, opts ...request.Option) (*BatchDisableStandardsOutput, error) {
   332  	req, out := c.BatchDisableStandardsRequest(input)
   333  	req.SetContext(ctx)
   334  	req.ApplyOptions(opts...)
   335  	return out, req.Send()
   336  }
   337  
   338  const opBatchEnableStandards = "BatchEnableStandards"
   339  
   340  // BatchEnableStandardsRequest generates a "aws/request.Request" representing the
   341  // client's request for the BatchEnableStandards operation. The "output" return
   342  // value will be populated with the request's response once the request completes
   343  // successfully.
   344  //
   345  // Use "Send" method on the returned Request to send the API call to the service.
   346  // the "output" return value is not valid until after Send returns without error.
   347  //
   348  // See BatchEnableStandards for more information on using the BatchEnableStandards
   349  // API call, and error handling.
   350  //
   351  // This method is useful when you want to inject custom logic or configuration
   352  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   353  //
   354  //
   355  //    // Example sending a request using the BatchEnableStandardsRequest method.
   356  //    req, resp := client.BatchEnableStandardsRequest(params)
   357  //
   358  //    err := req.Send()
   359  //    if err == nil { // resp is now filled
   360  //        fmt.Println(resp)
   361  //    }
   362  //
   363  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
   364  func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInput) (req *request.Request, output *BatchEnableStandardsOutput) {
   365  	op := &request.Operation{
   366  		Name:       opBatchEnableStandards,
   367  		HTTPMethod: "POST",
   368  		HTTPPath:   "/standards/register",
   369  	}
   370  
   371  	if input == nil {
   372  		input = &BatchEnableStandardsInput{}
   373  	}
   374  
   375  	output = &BatchEnableStandardsOutput{}
   376  	req = c.newRequest(op, input, output)
   377  	return
   378  }
   379  
   380  // BatchEnableStandards API operation for AWS SecurityHub.
   381  //
   382  // Enables the standards specified by the provided StandardsArn. To obtain the
   383  // ARN for a standard, use the DescribeStandards operation.
   384  //
   385  // For more information, see the Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
   386  // section of the Security Hub User Guide.
   387  //
   388  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   389  // with awserr.Error's Code and Message methods to get detailed information about
   390  // the error.
   391  //
   392  // See the AWS API reference guide for AWS SecurityHub's
   393  // API operation BatchEnableStandards for usage and error information.
   394  //
   395  // Returned Error Types:
   396  //   * InternalException
   397  //   Internal server error.
   398  //
   399  //   * InvalidInputException
   400  //   The request was rejected because you supplied an invalid or out-of-range
   401  //   value for an input parameter.
   402  //
   403  //   * InvalidAccessException
   404  //   There is an issue with the account used to make the request. Either Security
   405  //   Hub is not enabled for the account, or the account does not have permission
   406  //   to perform this action.
   407  //
   408  //   * LimitExceededException
   409  //   The request was rejected because it attempted to create resources beyond
   410  //   the current Amazon Web Services account or throttling limits. The error code
   411  //   describes the limit exceeded.
   412  //
   413  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
   414  func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) {
   415  	req, out := c.BatchEnableStandardsRequest(input)
   416  	return out, req.Send()
   417  }
   418  
   419  // BatchEnableStandardsWithContext is the same as BatchEnableStandards with the addition of
   420  // the ability to pass a context and additional request options.
   421  //
   422  // See BatchEnableStandards for details on how to use this API operation.
   423  //
   424  // The context must be non-nil and will be used for request cancellation. If
   425  // the context is nil a panic will occur. In the future the SDK may create
   426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   427  // for more information on using Contexts.
   428  func (c *SecurityHub) BatchEnableStandardsWithContext(ctx aws.Context, input *BatchEnableStandardsInput, opts ...request.Option) (*BatchEnableStandardsOutput, error) {
   429  	req, out := c.BatchEnableStandardsRequest(input)
   430  	req.SetContext(ctx)
   431  	req.ApplyOptions(opts...)
   432  	return out, req.Send()
   433  }
   434  
   435  const opBatchImportFindings = "BatchImportFindings"
   436  
   437  // BatchImportFindingsRequest generates a "aws/request.Request" representing the
   438  // client's request for the BatchImportFindings operation. The "output" return
   439  // value will be populated with the request's response once the request completes
   440  // successfully.
   441  //
   442  // Use "Send" method on the returned Request to send the API call to the service.
   443  // the "output" return value is not valid until after Send returns without error.
   444  //
   445  // See BatchImportFindings for more information on using the BatchImportFindings
   446  // API call, and error handling.
   447  //
   448  // This method is useful when you want to inject custom logic or configuration
   449  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   450  //
   451  //
   452  //    // Example sending a request using the BatchImportFindingsRequest method.
   453  //    req, resp := client.BatchImportFindingsRequest(params)
   454  //
   455  //    err := req.Send()
   456  //    if err == nil { // resp is now filled
   457  //        fmt.Println(resp)
   458  //    }
   459  //
   460  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
   461  func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput) (req *request.Request, output *BatchImportFindingsOutput) {
   462  	op := &request.Operation{
   463  		Name:       opBatchImportFindings,
   464  		HTTPMethod: "POST",
   465  		HTTPPath:   "/findings/import",
   466  	}
   467  
   468  	if input == nil {
   469  		input = &BatchImportFindingsInput{}
   470  	}
   471  
   472  	output = &BatchImportFindingsOutput{}
   473  	req = c.newRequest(op, input, output)
   474  	return
   475  }
   476  
   477  // BatchImportFindings API operation for AWS SecurityHub.
   478  //
   479  // Imports security findings generated from an integrated product into Security
   480  // Hub. This action is requested by the integrated product to import its findings
   481  // into Security Hub.
   482  //
   483  // The maximum allowed size for a finding is 240 Kb. An error is returned for
   484  // any finding larger than 240 Kb.
   485  //
   486  // After a finding is created, BatchImportFindings cannot be used to update
   487  // the following finding fields and objects, which Security Hub customers use
   488  // to manage their investigation workflow.
   489  //
   490  //    * Note
   491  //
   492  //    * UserDefinedFields
   493  //
   494  //    * VerificationState
   495  //
   496  //    * Workflow
   497  //
   498  // Finding providers also should not use BatchImportFindings to update the following
   499  // attributes.
   500  //
   501  //    * Confidence
   502  //
   503  //    * Criticality
   504  //
   505  //    * RelatedFindings
   506  //
   507  //    * Severity
   508  //
   509  //    * Types
   510  //
   511  // Instead, finding providers use FindingProviderFields to provide values for
   512  // these attributes.
   513  //
   514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   515  // with awserr.Error's Code and Message methods to get detailed information about
   516  // the error.
   517  //
   518  // See the AWS API reference guide for AWS SecurityHub's
   519  // API operation BatchImportFindings for usage and error information.
   520  //
   521  // Returned Error Types:
   522  //   * InternalException
   523  //   Internal server error.
   524  //
   525  //   * InvalidInputException
   526  //   The request was rejected because you supplied an invalid or out-of-range
   527  //   value for an input parameter.
   528  //
   529  //   * LimitExceededException
   530  //   The request was rejected because it attempted to create resources beyond
   531  //   the current Amazon Web Services account or throttling limits. The error code
   532  //   describes the limit exceeded.
   533  //
   534  //   * InvalidAccessException
   535  //   There is an issue with the account used to make the request. Either Security
   536  //   Hub is not enabled for the account, or the account does not have permission
   537  //   to perform this action.
   538  //
   539  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
   540  func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) {
   541  	req, out := c.BatchImportFindingsRequest(input)
   542  	return out, req.Send()
   543  }
   544  
   545  // BatchImportFindingsWithContext is the same as BatchImportFindings with the addition of
   546  // the ability to pass a context and additional request options.
   547  //
   548  // See BatchImportFindings for details on how to use this API operation.
   549  //
   550  // The context must be non-nil and will be used for request cancellation. If
   551  // the context is nil a panic will occur. In the future the SDK may create
   552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   553  // for more information on using Contexts.
   554  func (c *SecurityHub) BatchImportFindingsWithContext(ctx aws.Context, input *BatchImportFindingsInput, opts ...request.Option) (*BatchImportFindingsOutput, error) {
   555  	req, out := c.BatchImportFindingsRequest(input)
   556  	req.SetContext(ctx)
   557  	req.ApplyOptions(opts...)
   558  	return out, req.Send()
   559  }
   560  
   561  const opBatchUpdateFindings = "BatchUpdateFindings"
   562  
   563  // BatchUpdateFindingsRequest generates a "aws/request.Request" representing the
   564  // client's request for the BatchUpdateFindings operation. The "output" return
   565  // value will be populated with the request's response once the request completes
   566  // successfully.
   567  //
   568  // Use "Send" method on the returned Request to send the API call to the service.
   569  // the "output" return value is not valid until after Send returns without error.
   570  //
   571  // See BatchUpdateFindings for more information on using the BatchUpdateFindings
   572  // API call, and error handling.
   573  //
   574  // This method is useful when you want to inject custom logic or configuration
   575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   576  //
   577  //
   578  //    // Example sending a request using the BatchUpdateFindingsRequest method.
   579  //    req, resp := client.BatchUpdateFindingsRequest(params)
   580  //
   581  //    err := req.Send()
   582  //    if err == nil { // resp is now filled
   583  //        fmt.Println(resp)
   584  //    }
   585  //
   586  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
   587  func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput) (req *request.Request, output *BatchUpdateFindingsOutput) {
   588  	op := &request.Operation{
   589  		Name:       opBatchUpdateFindings,
   590  		HTTPMethod: "PATCH",
   591  		HTTPPath:   "/findings/batchupdate",
   592  	}
   593  
   594  	if input == nil {
   595  		input = &BatchUpdateFindingsInput{}
   596  	}
   597  
   598  	output = &BatchUpdateFindingsOutput{}
   599  	req = c.newRequest(op, input, output)
   600  	return
   601  }
   602  
   603  // BatchUpdateFindings API operation for AWS SecurityHub.
   604  //
   605  // Used by Security Hub customers to update information about their investigation
   606  // into a finding. Requested by administrator accounts or member accounts. Administrator
   607  // accounts can update findings for their account and their member accounts.
   608  // Member accounts can update findings for their account.
   609  //
   610  // Updates from BatchUpdateFindings do not affect the value of UpdatedAt for
   611  // a finding.
   612  //
   613  // Administrator and member accounts can use BatchUpdateFindings to update the
   614  // following finding fields and objects.
   615  //
   616  //    * Confidence
   617  //
   618  //    * Criticality
   619  //
   620  //    * Note
   621  //
   622  //    * RelatedFindings
   623  //
   624  //    * Severity
   625  //
   626  //    * Types
   627  //
   628  //    * UserDefinedFields
   629  //
   630  //    * VerificationState
   631  //
   632  //    * Workflow
   633  //
   634  // You can configure IAM policies to restrict access to fields and field values.
   635  // For example, you might not want member accounts to be able to suppress findings
   636  // or change the finding severity. See Configuring access to BatchUpdateFindings
   637  // (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-update-batchupdatefindings.html#batchupdatefindings-configure-access)
   638  // in the Security Hub User Guide.
   639  //
   640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   641  // with awserr.Error's Code and Message methods to get detailed information about
   642  // the error.
   643  //
   644  // See the AWS API reference guide for AWS SecurityHub's
   645  // API operation BatchUpdateFindings for usage and error information.
   646  //
   647  // Returned Error Types:
   648  //   * InternalException
   649  //   Internal server error.
   650  //
   651  //   * InvalidInputException
   652  //   The request was rejected because you supplied an invalid or out-of-range
   653  //   value for an input parameter.
   654  //
   655  //   * LimitExceededException
   656  //   The request was rejected because it attempted to create resources beyond
   657  //   the current Amazon Web Services account or throttling limits. The error code
   658  //   describes the limit exceeded.
   659  //
   660  //   * InvalidAccessException
   661  //   There is an issue with the account used to make the request. Either Security
   662  //   Hub is not enabled for the account, or the account does not have permission
   663  //   to perform this action.
   664  //
   665  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
   666  func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) {
   667  	req, out := c.BatchUpdateFindingsRequest(input)
   668  	return out, req.Send()
   669  }
   670  
   671  // BatchUpdateFindingsWithContext is the same as BatchUpdateFindings with the addition of
   672  // the ability to pass a context and additional request options.
   673  //
   674  // See BatchUpdateFindings for details on how to use this API operation.
   675  //
   676  // The context must be non-nil and will be used for request cancellation. If
   677  // the context is nil a panic will occur. In the future the SDK may create
   678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   679  // for more information on using Contexts.
   680  func (c *SecurityHub) BatchUpdateFindingsWithContext(ctx aws.Context, input *BatchUpdateFindingsInput, opts ...request.Option) (*BatchUpdateFindingsOutput, error) {
   681  	req, out := c.BatchUpdateFindingsRequest(input)
   682  	req.SetContext(ctx)
   683  	req.ApplyOptions(opts...)
   684  	return out, req.Send()
   685  }
   686  
   687  const opCreateActionTarget = "CreateActionTarget"
   688  
   689  // CreateActionTargetRequest generates a "aws/request.Request" representing the
   690  // client's request for the CreateActionTarget operation. The "output" return
   691  // value will be populated with the request's response once the request completes
   692  // successfully.
   693  //
   694  // Use "Send" method on the returned Request to send the API call to the service.
   695  // the "output" return value is not valid until after Send returns without error.
   696  //
   697  // See CreateActionTarget for more information on using the CreateActionTarget
   698  // API call, and error handling.
   699  //
   700  // This method is useful when you want to inject custom logic or configuration
   701  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   702  //
   703  //
   704  //    // Example sending a request using the CreateActionTargetRequest method.
   705  //    req, resp := client.CreateActionTargetRequest(params)
   706  //
   707  //    err := req.Send()
   708  //    if err == nil { // resp is now filled
   709  //        fmt.Println(resp)
   710  //    }
   711  //
   712  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
   713  func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) (req *request.Request, output *CreateActionTargetOutput) {
   714  	op := &request.Operation{
   715  		Name:       opCreateActionTarget,
   716  		HTTPMethod: "POST",
   717  		HTTPPath:   "/actionTargets",
   718  	}
   719  
   720  	if input == nil {
   721  		input = &CreateActionTargetInput{}
   722  	}
   723  
   724  	output = &CreateActionTargetOutput{}
   725  	req = c.newRequest(op, input, output)
   726  	return
   727  }
   728  
   729  // CreateActionTarget API operation for AWS SecurityHub.
   730  //
   731  // Creates a custom action target in Security Hub.
   732  //
   733  // You can use custom actions on findings and insights in Security Hub to trigger
   734  // target actions in Amazon CloudWatch Events.
   735  //
   736  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   737  // with awserr.Error's Code and Message methods to get detailed information about
   738  // the error.
   739  //
   740  // See the AWS API reference guide for AWS SecurityHub's
   741  // API operation CreateActionTarget for usage and error information.
   742  //
   743  // Returned Error Types:
   744  //   * InternalException
   745  //   Internal server error.
   746  //
   747  //   * InvalidInputException
   748  //   The request was rejected because you supplied an invalid or out-of-range
   749  //   value for an input parameter.
   750  //
   751  //   * InvalidAccessException
   752  //   There is an issue with the account used to make the request. Either Security
   753  //   Hub is not enabled for the account, or the account does not have permission
   754  //   to perform this action.
   755  //
   756  //   * LimitExceededException
   757  //   The request was rejected because it attempted to create resources beyond
   758  //   the current Amazon Web Services account or throttling limits. The error code
   759  //   describes the limit exceeded.
   760  //
   761  //   * ResourceConflictException
   762  //   The resource specified in the request conflicts with an existing resource.
   763  //
   764  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
   765  func (c *SecurityHub) CreateActionTarget(input *CreateActionTargetInput) (*CreateActionTargetOutput, error) {
   766  	req, out := c.CreateActionTargetRequest(input)
   767  	return out, req.Send()
   768  }
   769  
   770  // CreateActionTargetWithContext is the same as CreateActionTarget with the addition of
   771  // the ability to pass a context and additional request options.
   772  //
   773  // See CreateActionTarget for details on how to use this API operation.
   774  //
   775  // The context must be non-nil and will be used for request cancellation. If
   776  // the context is nil a panic will occur. In the future the SDK may create
   777  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   778  // for more information on using Contexts.
   779  func (c *SecurityHub) CreateActionTargetWithContext(ctx aws.Context, input *CreateActionTargetInput, opts ...request.Option) (*CreateActionTargetOutput, error) {
   780  	req, out := c.CreateActionTargetRequest(input)
   781  	req.SetContext(ctx)
   782  	req.ApplyOptions(opts...)
   783  	return out, req.Send()
   784  }
   785  
   786  const opCreateInsight = "CreateInsight"
   787  
   788  // CreateInsightRequest generates a "aws/request.Request" representing the
   789  // client's request for the CreateInsight operation. The "output" return
   790  // value will be populated with the request's response once the request completes
   791  // successfully.
   792  //
   793  // Use "Send" method on the returned Request to send the API call to the service.
   794  // the "output" return value is not valid until after Send returns without error.
   795  //
   796  // See CreateInsight for more information on using the CreateInsight
   797  // API call, and error handling.
   798  //
   799  // This method is useful when you want to inject custom logic or configuration
   800  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   801  //
   802  //
   803  //    // Example sending a request using the CreateInsightRequest method.
   804  //    req, resp := client.CreateInsightRequest(params)
   805  //
   806  //    err := req.Send()
   807  //    if err == nil { // resp is now filled
   808  //        fmt.Println(resp)
   809  //    }
   810  //
   811  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
   812  func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
   813  	op := &request.Operation{
   814  		Name:       opCreateInsight,
   815  		HTTPMethod: "POST",
   816  		HTTPPath:   "/insights",
   817  	}
   818  
   819  	if input == nil {
   820  		input = &CreateInsightInput{}
   821  	}
   822  
   823  	output = &CreateInsightOutput{}
   824  	req = c.newRequest(op, input, output)
   825  	return
   826  }
   827  
   828  // CreateInsight API operation for AWS SecurityHub.
   829  //
   830  // Creates a custom insight in Security Hub. An insight is a consolidation of
   831  // findings that relate to a security issue that requires attention or remediation.
   832  //
   833  // To group the related findings in the insight, use the GroupByAttribute.
   834  //
   835  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   836  // with awserr.Error's Code and Message methods to get detailed information about
   837  // the error.
   838  //
   839  // See the AWS API reference guide for AWS SecurityHub's
   840  // API operation CreateInsight for usage and error information.
   841  //
   842  // Returned Error Types:
   843  //   * InternalException
   844  //   Internal server error.
   845  //
   846  //   * InvalidInputException
   847  //   The request was rejected because you supplied an invalid or out-of-range
   848  //   value for an input parameter.
   849  //
   850  //   * LimitExceededException
   851  //   The request was rejected because it attempted to create resources beyond
   852  //   the current Amazon Web Services account or throttling limits. The error code
   853  //   describes the limit exceeded.
   854  //
   855  //   * InvalidAccessException
   856  //   There is an issue with the account used to make the request. Either Security
   857  //   Hub is not enabled for the account, or the account does not have permission
   858  //   to perform this action.
   859  //
   860  //   * ResourceConflictException
   861  //   The resource specified in the request conflicts with an existing resource.
   862  //
   863  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
   864  func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
   865  	req, out := c.CreateInsightRequest(input)
   866  	return out, req.Send()
   867  }
   868  
   869  // CreateInsightWithContext is the same as CreateInsight with the addition of
   870  // the ability to pass a context and additional request options.
   871  //
   872  // See CreateInsight for details on how to use this API operation.
   873  //
   874  // The context must be non-nil and will be used for request cancellation. If
   875  // the context is nil a panic will occur. In the future the SDK may create
   876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   877  // for more information on using Contexts.
   878  func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
   879  	req, out := c.CreateInsightRequest(input)
   880  	req.SetContext(ctx)
   881  	req.ApplyOptions(opts...)
   882  	return out, req.Send()
   883  }
   884  
   885  const opCreateMembers = "CreateMembers"
   886  
   887  // CreateMembersRequest generates a "aws/request.Request" representing the
   888  // client's request for the CreateMembers operation. The "output" return
   889  // value will be populated with the request's response once the request completes
   890  // successfully.
   891  //
   892  // Use "Send" method on the returned Request to send the API call to the service.
   893  // the "output" return value is not valid until after Send returns without error.
   894  //
   895  // See CreateMembers for more information on using the CreateMembers
   896  // API call, and error handling.
   897  //
   898  // This method is useful when you want to inject custom logic or configuration
   899  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   900  //
   901  //
   902  //    // Example sending a request using the CreateMembersRequest method.
   903  //    req, resp := client.CreateMembersRequest(params)
   904  //
   905  //    err := req.Send()
   906  //    if err == nil { // resp is now filled
   907  //        fmt.Println(resp)
   908  //    }
   909  //
   910  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
   911  func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
   912  	op := &request.Operation{
   913  		Name:       opCreateMembers,
   914  		HTTPMethod: "POST",
   915  		HTTPPath:   "/members",
   916  	}
   917  
   918  	if input == nil {
   919  		input = &CreateMembersInput{}
   920  	}
   921  
   922  	output = &CreateMembersOutput{}
   923  	req = c.newRequest(op, input, output)
   924  	return
   925  }
   926  
   927  // CreateMembers API operation for AWS SecurityHub.
   928  //
   929  // Creates a member association in Security Hub between the specified accounts
   930  // and the account used to make the request, which is the administrator account.
   931  // If you are integrated with Organizations, then the administrator account
   932  // is designated by the organization management account.
   933  //
   934  // CreateMembers is always used to add accounts that are not organization members.
   935  //
   936  // For accounts that are managed using Organizations, CreateMembers is only
   937  // used in the following cases:
   938  //
   939  //    * Security Hub is not configured to automatically add new organization
   940  //    accounts.
   941  //
   942  //    * The account was disassociated or deleted in Security Hub.
   943  //
   944  // This action can only be used by an account that has Security Hub enabled.
   945  // To enable Security Hub, you can use the EnableSecurityHub operation.
   946  //
   947  // For accounts that are not organization members, you create the account association
   948  // and then send an invitation to the member account. To send the invitation,
   949  // you use the InviteMembers operation. If the account owner accepts the invitation,
   950  // the account becomes a member account in Security Hub.
   951  //
   952  // Accounts that are managed using Organizations do not receive an invitation.
   953  // They automatically become a member account in Security Hub.
   954  //
   955  //    * If the organization account does not have Security Hub enabled, then
   956  //    Security Hub and the default standards are automatically enabled. Note
   957  //    that Security Hub cannot be enabled automatically for the organization
   958  //    management account. The organization management account must enable Security
   959  //    Hub before the administrator account enables it as a member account.
   960  //
   961  //    * For organization accounts that already have Security Hub enabled, Security
   962  //    Hub does not make any other changes to those accounts. It does not change
   963  //    their enabled standards or controls.
   964  //
   965  // A permissions policy is added that permits the administrator account to view
   966  // the findings generated in the member account.
   967  //
   968  // To remove the association between the administrator and member accounts,
   969  // use the DisassociateFromMasterAccount or DisassociateMembers operation.
   970  //
   971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   972  // with awserr.Error's Code and Message methods to get detailed information about
   973  // the error.
   974  //
   975  // See the AWS API reference guide for AWS SecurityHub's
   976  // API operation CreateMembers for usage and error information.
   977  //
   978  // Returned Error Types:
   979  //   * InternalException
   980  //   Internal server error.
   981  //
   982  //   * InvalidInputException
   983  //   The request was rejected because you supplied an invalid or out-of-range
   984  //   value for an input parameter.
   985  //
   986  //   * LimitExceededException
   987  //   The request was rejected because it attempted to create resources beyond
   988  //   the current Amazon Web Services account or throttling limits. The error code
   989  //   describes the limit exceeded.
   990  //
   991  //   * InvalidAccessException
   992  //   There is an issue with the account used to make the request. Either Security
   993  //   Hub is not enabled for the account, or the account does not have permission
   994  //   to perform this action.
   995  //
   996  //   * ResourceConflictException
   997  //   The resource specified in the request conflicts with an existing resource.
   998  //
   999  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
  1000  func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
  1001  	req, out := c.CreateMembersRequest(input)
  1002  	return out, req.Send()
  1003  }
  1004  
  1005  // CreateMembersWithContext is the same as CreateMembers with the addition of
  1006  // the ability to pass a context and additional request options.
  1007  //
  1008  // See CreateMembers for details on how to use this API operation.
  1009  //
  1010  // The context must be non-nil and will be used for request cancellation. If
  1011  // the context is nil a panic will occur. In the future the SDK may create
  1012  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1013  // for more information on using Contexts.
  1014  func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
  1015  	req, out := c.CreateMembersRequest(input)
  1016  	req.SetContext(ctx)
  1017  	req.ApplyOptions(opts...)
  1018  	return out, req.Send()
  1019  }
  1020  
  1021  const opDeclineInvitations = "DeclineInvitations"
  1022  
  1023  // DeclineInvitationsRequest generates a "aws/request.Request" representing the
  1024  // client's request for the DeclineInvitations operation. The "output" return
  1025  // value will be populated with the request's response once the request completes
  1026  // successfully.
  1027  //
  1028  // Use "Send" method on the returned Request to send the API call to the service.
  1029  // the "output" return value is not valid until after Send returns without error.
  1030  //
  1031  // See DeclineInvitations for more information on using the DeclineInvitations
  1032  // API call, and error handling.
  1033  //
  1034  // This method is useful when you want to inject custom logic or configuration
  1035  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1036  //
  1037  //
  1038  //    // Example sending a request using the DeclineInvitationsRequest method.
  1039  //    req, resp := client.DeclineInvitationsRequest(params)
  1040  //
  1041  //    err := req.Send()
  1042  //    if err == nil { // resp is now filled
  1043  //        fmt.Println(resp)
  1044  //    }
  1045  //
  1046  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
  1047  func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
  1048  	op := &request.Operation{
  1049  		Name:       opDeclineInvitations,
  1050  		HTTPMethod: "POST",
  1051  		HTTPPath:   "/invitations/decline",
  1052  	}
  1053  
  1054  	if input == nil {
  1055  		input = &DeclineInvitationsInput{}
  1056  	}
  1057  
  1058  	output = &DeclineInvitationsOutput{}
  1059  	req = c.newRequest(op, input, output)
  1060  	return
  1061  }
  1062  
  1063  // DeclineInvitations API operation for AWS SecurityHub.
  1064  //
  1065  // Declines invitations to become a member account.
  1066  //
  1067  // This operation is only used by accounts that are not part of an organization.
  1068  // Organization accounts do not receive invitations.
  1069  //
  1070  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1071  // with awserr.Error's Code and Message methods to get detailed information about
  1072  // the error.
  1073  //
  1074  // See the AWS API reference guide for AWS SecurityHub's
  1075  // API operation DeclineInvitations for usage and error information.
  1076  //
  1077  // Returned Error Types:
  1078  //   * InternalException
  1079  //   Internal server error.
  1080  //
  1081  //   * InvalidInputException
  1082  //   The request was rejected because you supplied an invalid or out-of-range
  1083  //   value for an input parameter.
  1084  //
  1085  //   * InvalidAccessException
  1086  //   There is an issue with the account used to make the request. Either Security
  1087  //   Hub is not enabled for the account, or the account does not have permission
  1088  //   to perform this action.
  1089  //
  1090  //   * ResourceNotFoundException
  1091  //   The request was rejected because we can't find the specified resource.
  1092  //
  1093  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
  1094  func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
  1095  	req, out := c.DeclineInvitationsRequest(input)
  1096  	return out, req.Send()
  1097  }
  1098  
  1099  // DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
  1100  // the ability to pass a context and additional request options.
  1101  //
  1102  // See DeclineInvitations for details on how to use this API operation.
  1103  //
  1104  // The context must be non-nil and will be used for request cancellation. If
  1105  // the context is nil a panic will occur. In the future the SDK may create
  1106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1107  // for more information on using Contexts.
  1108  func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
  1109  	req, out := c.DeclineInvitationsRequest(input)
  1110  	req.SetContext(ctx)
  1111  	req.ApplyOptions(opts...)
  1112  	return out, req.Send()
  1113  }
  1114  
  1115  const opDeleteActionTarget = "DeleteActionTarget"
  1116  
  1117  // DeleteActionTargetRequest generates a "aws/request.Request" representing the
  1118  // client's request for the DeleteActionTarget operation. The "output" return
  1119  // value will be populated with the request's response once the request completes
  1120  // successfully.
  1121  //
  1122  // Use "Send" method on the returned Request to send the API call to the service.
  1123  // the "output" return value is not valid until after Send returns without error.
  1124  //
  1125  // See DeleteActionTarget for more information on using the DeleteActionTarget
  1126  // API call, and error handling.
  1127  //
  1128  // This method is useful when you want to inject custom logic or configuration
  1129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1130  //
  1131  //
  1132  //    // Example sending a request using the DeleteActionTargetRequest method.
  1133  //    req, resp := client.DeleteActionTargetRequest(params)
  1134  //
  1135  //    err := req.Send()
  1136  //    if err == nil { // resp is now filled
  1137  //        fmt.Println(resp)
  1138  //    }
  1139  //
  1140  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
  1141  func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
  1142  	op := &request.Operation{
  1143  		Name:       opDeleteActionTarget,
  1144  		HTTPMethod: "DELETE",
  1145  		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
  1146  	}
  1147  
  1148  	if input == nil {
  1149  		input = &DeleteActionTargetInput{}
  1150  	}
  1151  
  1152  	output = &DeleteActionTargetOutput{}
  1153  	req = c.newRequest(op, input, output)
  1154  	return
  1155  }
  1156  
  1157  // DeleteActionTarget API operation for AWS SecurityHub.
  1158  //
  1159  // Deletes a custom action target from Security Hub.
  1160  //
  1161  // Deleting a custom action target does not affect any findings or insights
  1162  // that were already sent to Amazon CloudWatch Events using the custom action.
  1163  //
  1164  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1165  // with awserr.Error's Code and Message methods to get detailed information about
  1166  // the error.
  1167  //
  1168  // See the AWS API reference guide for AWS SecurityHub's
  1169  // API operation DeleteActionTarget for usage and error information.
  1170  //
  1171  // Returned Error Types:
  1172  //   * InternalException
  1173  //   Internal server error.
  1174  //
  1175  //   * InvalidInputException
  1176  //   The request was rejected because you supplied an invalid or out-of-range
  1177  //   value for an input parameter.
  1178  //
  1179  //   * InvalidAccessException
  1180  //   There is an issue with the account used to make the request. Either Security
  1181  //   Hub is not enabled for the account, or the account does not have permission
  1182  //   to perform this action.
  1183  //
  1184  //   * ResourceNotFoundException
  1185  //   The request was rejected because we can't find the specified resource.
  1186  //
  1187  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
  1188  func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
  1189  	req, out := c.DeleteActionTargetRequest(input)
  1190  	return out, req.Send()
  1191  }
  1192  
  1193  // DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
  1194  // the ability to pass a context and additional request options.
  1195  //
  1196  // See DeleteActionTarget for details on how to use this API operation.
  1197  //
  1198  // The context must be non-nil and will be used for request cancellation. If
  1199  // the context is nil a panic will occur. In the future the SDK may create
  1200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1201  // for more information on using Contexts.
  1202  func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
  1203  	req, out := c.DeleteActionTargetRequest(input)
  1204  	req.SetContext(ctx)
  1205  	req.ApplyOptions(opts...)
  1206  	return out, req.Send()
  1207  }
  1208  
  1209  const opDeleteInsight = "DeleteInsight"
  1210  
  1211  // DeleteInsightRequest generates a "aws/request.Request" representing the
  1212  // client's request for the DeleteInsight operation. The "output" return
  1213  // value will be populated with the request's response once the request completes
  1214  // successfully.
  1215  //
  1216  // Use "Send" method on the returned Request to send the API call to the service.
  1217  // the "output" return value is not valid until after Send returns without error.
  1218  //
  1219  // See DeleteInsight for more information on using the DeleteInsight
  1220  // API call, and error handling.
  1221  //
  1222  // This method is useful when you want to inject custom logic or configuration
  1223  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1224  //
  1225  //
  1226  //    // Example sending a request using the DeleteInsightRequest method.
  1227  //    req, resp := client.DeleteInsightRequest(params)
  1228  //
  1229  //    err := req.Send()
  1230  //    if err == nil { // resp is now filled
  1231  //        fmt.Println(resp)
  1232  //    }
  1233  //
  1234  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
  1235  func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
  1236  	op := &request.Operation{
  1237  		Name:       opDeleteInsight,
  1238  		HTTPMethod: "DELETE",
  1239  		HTTPPath:   "/insights/{InsightArn+}",
  1240  	}
  1241  
  1242  	if input == nil {
  1243  		input = &DeleteInsightInput{}
  1244  	}
  1245  
  1246  	output = &DeleteInsightOutput{}
  1247  	req = c.newRequest(op, input, output)
  1248  	return
  1249  }
  1250  
  1251  // DeleteInsight API operation for AWS SecurityHub.
  1252  //
  1253  // Deletes the insight specified by the InsightArn.
  1254  //
  1255  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1256  // with awserr.Error's Code and Message methods to get detailed information about
  1257  // the error.
  1258  //
  1259  // See the AWS API reference guide for AWS SecurityHub's
  1260  // API operation DeleteInsight for usage and error information.
  1261  //
  1262  // Returned Error Types:
  1263  //   * InternalException
  1264  //   Internal server error.
  1265  //
  1266  //   * InvalidInputException
  1267  //   The request was rejected because you supplied an invalid or out-of-range
  1268  //   value for an input parameter.
  1269  //
  1270  //   * InvalidAccessException
  1271  //   There is an issue with the account used to make the request. Either Security
  1272  //   Hub is not enabled for the account, or the account does not have permission
  1273  //   to perform this action.
  1274  //
  1275  //   * LimitExceededException
  1276  //   The request was rejected because it attempted to create resources beyond
  1277  //   the current Amazon Web Services account or throttling limits. The error code
  1278  //   describes the limit exceeded.
  1279  //
  1280  //   * ResourceNotFoundException
  1281  //   The request was rejected because we can't find the specified resource.
  1282  //
  1283  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
  1284  func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
  1285  	req, out := c.DeleteInsightRequest(input)
  1286  	return out, req.Send()
  1287  }
  1288  
  1289  // DeleteInsightWithContext is the same as DeleteInsight with the addition of
  1290  // the ability to pass a context and additional request options.
  1291  //
  1292  // See DeleteInsight for details on how to use this API operation.
  1293  //
  1294  // The context must be non-nil and will be used for request cancellation. If
  1295  // the context is nil a panic will occur. In the future the SDK may create
  1296  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1297  // for more information on using Contexts.
  1298  func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
  1299  	req, out := c.DeleteInsightRequest(input)
  1300  	req.SetContext(ctx)
  1301  	req.ApplyOptions(opts...)
  1302  	return out, req.Send()
  1303  }
  1304  
  1305  const opDeleteInvitations = "DeleteInvitations"
  1306  
  1307  // DeleteInvitationsRequest generates a "aws/request.Request" representing the
  1308  // client's request for the DeleteInvitations operation. The "output" return
  1309  // value will be populated with the request's response once the request completes
  1310  // successfully.
  1311  //
  1312  // Use "Send" method on the returned Request to send the API call to the service.
  1313  // the "output" return value is not valid until after Send returns without error.
  1314  //
  1315  // See DeleteInvitations for more information on using the DeleteInvitations
  1316  // API call, and error handling.
  1317  //
  1318  // This method is useful when you want to inject custom logic or configuration
  1319  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1320  //
  1321  //
  1322  //    // Example sending a request using the DeleteInvitationsRequest method.
  1323  //    req, resp := client.DeleteInvitationsRequest(params)
  1324  //
  1325  //    err := req.Send()
  1326  //    if err == nil { // resp is now filled
  1327  //        fmt.Println(resp)
  1328  //    }
  1329  //
  1330  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
  1331  func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
  1332  	op := &request.Operation{
  1333  		Name:       opDeleteInvitations,
  1334  		HTTPMethod: "POST",
  1335  		HTTPPath:   "/invitations/delete",
  1336  	}
  1337  
  1338  	if input == nil {
  1339  		input = &DeleteInvitationsInput{}
  1340  	}
  1341  
  1342  	output = &DeleteInvitationsOutput{}
  1343  	req = c.newRequest(op, input, output)
  1344  	return
  1345  }
  1346  
  1347  // DeleteInvitations API operation for AWS SecurityHub.
  1348  //
  1349  // Deletes invitations received by the Amazon Web Services account to become
  1350  // a member account.
  1351  //
  1352  // This operation is only used by accounts that are not part of an organization.
  1353  // Organization accounts do not receive invitations.
  1354  //
  1355  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1356  // with awserr.Error's Code and Message methods to get detailed information about
  1357  // the error.
  1358  //
  1359  // See the AWS API reference guide for AWS SecurityHub's
  1360  // API operation DeleteInvitations for usage and error information.
  1361  //
  1362  // Returned Error Types:
  1363  //   * InternalException
  1364  //   Internal server error.
  1365  //
  1366  //   * InvalidInputException
  1367  //   The request was rejected because you supplied an invalid or out-of-range
  1368  //   value for an input parameter.
  1369  //
  1370  //   * LimitExceededException
  1371  //   The request was rejected because it attempted to create resources beyond
  1372  //   the current Amazon Web Services account or throttling limits. The error code
  1373  //   describes the limit exceeded.
  1374  //
  1375  //   * ResourceNotFoundException
  1376  //   The request was rejected because we can't find the specified resource.
  1377  //
  1378  //   * InvalidAccessException
  1379  //   There is an issue with the account used to make the request. Either Security
  1380  //   Hub is not enabled for the account, or the account does not have permission
  1381  //   to perform this action.
  1382  //
  1383  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
  1384  func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
  1385  	req, out := c.DeleteInvitationsRequest(input)
  1386  	return out, req.Send()
  1387  }
  1388  
  1389  // DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
  1390  // the ability to pass a context and additional request options.
  1391  //
  1392  // See DeleteInvitations for details on how to use this API operation.
  1393  //
  1394  // The context must be non-nil and will be used for request cancellation. If
  1395  // the context is nil a panic will occur. In the future the SDK may create
  1396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1397  // for more information on using Contexts.
  1398  func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
  1399  	req, out := c.DeleteInvitationsRequest(input)
  1400  	req.SetContext(ctx)
  1401  	req.ApplyOptions(opts...)
  1402  	return out, req.Send()
  1403  }
  1404  
  1405  const opDeleteMembers = "DeleteMembers"
  1406  
  1407  // DeleteMembersRequest generates a "aws/request.Request" representing the
  1408  // client's request for the DeleteMembers operation. The "output" return
  1409  // value will be populated with the request's response once the request completes
  1410  // successfully.
  1411  //
  1412  // Use "Send" method on the returned Request to send the API call to the service.
  1413  // the "output" return value is not valid until after Send returns without error.
  1414  //
  1415  // See DeleteMembers for more information on using the DeleteMembers
  1416  // API call, and error handling.
  1417  //
  1418  // This method is useful when you want to inject custom logic or configuration
  1419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1420  //
  1421  //
  1422  //    // Example sending a request using the DeleteMembersRequest method.
  1423  //    req, resp := client.DeleteMembersRequest(params)
  1424  //
  1425  //    err := req.Send()
  1426  //    if err == nil { // resp is now filled
  1427  //        fmt.Println(resp)
  1428  //    }
  1429  //
  1430  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
  1431  func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
  1432  	op := &request.Operation{
  1433  		Name:       opDeleteMembers,
  1434  		HTTPMethod: "POST",
  1435  		HTTPPath:   "/members/delete",
  1436  	}
  1437  
  1438  	if input == nil {
  1439  		input = &DeleteMembersInput{}
  1440  	}
  1441  
  1442  	output = &DeleteMembersOutput{}
  1443  	req = c.newRequest(op, input, output)
  1444  	return
  1445  }
  1446  
  1447  // DeleteMembers API operation for AWS SecurityHub.
  1448  //
  1449  // Deletes the specified member accounts from Security Hub.
  1450  //
  1451  // Can be used to delete member accounts that belong to an organization as well
  1452  // as member accounts that were invited manually.
  1453  //
  1454  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1455  // with awserr.Error's Code and Message methods to get detailed information about
  1456  // the error.
  1457  //
  1458  // See the AWS API reference guide for AWS SecurityHub's
  1459  // API operation DeleteMembers for usage and error information.
  1460  //
  1461  // Returned Error Types:
  1462  //   * InternalException
  1463  //   Internal server error.
  1464  //
  1465  //   * InvalidInputException
  1466  //   The request was rejected because you supplied an invalid or out-of-range
  1467  //   value for an input parameter.
  1468  //
  1469  //   * InvalidAccessException
  1470  //   There is an issue with the account used to make the request. Either Security
  1471  //   Hub is not enabled for the account, or the account does not have permission
  1472  //   to perform this action.
  1473  //
  1474  //   * LimitExceededException
  1475  //   The request was rejected because it attempted to create resources beyond
  1476  //   the current Amazon Web Services account or throttling limits. The error code
  1477  //   describes the limit exceeded.
  1478  //
  1479  //   * ResourceNotFoundException
  1480  //   The request was rejected because we can't find the specified resource.
  1481  //
  1482  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
  1483  func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
  1484  	req, out := c.DeleteMembersRequest(input)
  1485  	return out, req.Send()
  1486  }
  1487  
  1488  // DeleteMembersWithContext is the same as DeleteMembers with the addition of
  1489  // the ability to pass a context and additional request options.
  1490  //
  1491  // See DeleteMembers for details on how to use this API operation.
  1492  //
  1493  // The context must be non-nil and will be used for request cancellation. If
  1494  // the context is nil a panic will occur. In the future the SDK may create
  1495  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1496  // for more information on using Contexts.
  1497  func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
  1498  	req, out := c.DeleteMembersRequest(input)
  1499  	req.SetContext(ctx)
  1500  	req.ApplyOptions(opts...)
  1501  	return out, req.Send()
  1502  }
  1503  
  1504  const opDescribeActionTargets = "DescribeActionTargets"
  1505  
  1506  // DescribeActionTargetsRequest generates a "aws/request.Request" representing the
  1507  // client's request for the DescribeActionTargets operation. The "output" return
  1508  // value will be populated with the request's response once the request completes
  1509  // successfully.
  1510  //
  1511  // Use "Send" method on the returned Request to send the API call to the service.
  1512  // the "output" return value is not valid until after Send returns without error.
  1513  //
  1514  // See DescribeActionTargets for more information on using the DescribeActionTargets
  1515  // API call, and error handling.
  1516  //
  1517  // This method is useful when you want to inject custom logic or configuration
  1518  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1519  //
  1520  //
  1521  //    // Example sending a request using the DescribeActionTargetsRequest method.
  1522  //    req, resp := client.DescribeActionTargetsRequest(params)
  1523  //
  1524  //    err := req.Send()
  1525  //    if err == nil { // resp is now filled
  1526  //        fmt.Println(resp)
  1527  //    }
  1528  //
  1529  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
  1530  func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
  1531  	op := &request.Operation{
  1532  		Name:       opDescribeActionTargets,
  1533  		HTTPMethod: "POST",
  1534  		HTTPPath:   "/actionTargets/get",
  1535  		Paginator: &request.Paginator{
  1536  			InputTokens:     []string{"NextToken"},
  1537  			OutputTokens:    []string{"NextToken"},
  1538  			LimitToken:      "MaxResults",
  1539  			TruncationToken: "",
  1540  		},
  1541  	}
  1542  
  1543  	if input == nil {
  1544  		input = &DescribeActionTargetsInput{}
  1545  	}
  1546  
  1547  	output = &DescribeActionTargetsOutput{}
  1548  	req = c.newRequest(op, input, output)
  1549  	return
  1550  }
  1551  
  1552  // DescribeActionTargets API operation for AWS SecurityHub.
  1553  //
  1554  // Returns a list of the custom action targets in Security Hub in your account.
  1555  //
  1556  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1557  // with awserr.Error's Code and Message methods to get detailed information about
  1558  // the error.
  1559  //
  1560  // See the AWS API reference guide for AWS SecurityHub's
  1561  // API operation DescribeActionTargets for usage and error information.
  1562  //
  1563  // Returned Error Types:
  1564  //   * InternalException
  1565  //   Internal server error.
  1566  //
  1567  //   * InvalidInputException
  1568  //   The request was rejected because you supplied an invalid or out-of-range
  1569  //   value for an input parameter.
  1570  //
  1571  //   * InvalidAccessException
  1572  //   There is an issue with the account used to make the request. Either Security
  1573  //   Hub is not enabled for the account, or the account does not have permission
  1574  //   to perform this action.
  1575  //
  1576  //   * ResourceNotFoundException
  1577  //   The request was rejected because we can't find the specified resource.
  1578  //
  1579  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
  1580  func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
  1581  	req, out := c.DescribeActionTargetsRequest(input)
  1582  	return out, req.Send()
  1583  }
  1584  
  1585  // DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
  1586  // the ability to pass a context and additional request options.
  1587  //
  1588  // See DescribeActionTargets for details on how to use this API operation.
  1589  //
  1590  // The context must be non-nil and will be used for request cancellation. If
  1591  // the context is nil a panic will occur. In the future the SDK may create
  1592  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1593  // for more information on using Contexts.
  1594  func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
  1595  	req, out := c.DescribeActionTargetsRequest(input)
  1596  	req.SetContext(ctx)
  1597  	req.ApplyOptions(opts...)
  1598  	return out, req.Send()
  1599  }
  1600  
  1601  // DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
  1602  // calling the "fn" function with the response data for each page. To stop
  1603  // iterating, return false from the fn function.
  1604  //
  1605  // See DescribeActionTargets method for more information on how to use this operation.
  1606  //
  1607  // Note: This operation can generate multiple requests to a service.
  1608  //
  1609  //    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
  1610  //    pageNum := 0
  1611  //    err := client.DescribeActionTargetsPages(params,
  1612  //        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
  1613  //            pageNum++
  1614  //            fmt.Println(page)
  1615  //            return pageNum <= 3
  1616  //        })
  1617  //
  1618  func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
  1619  	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
  1620  }
  1621  
  1622  // DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
  1623  // it takes a Context and allows setting request options on the pages.
  1624  //
  1625  // The context must be non-nil and will be used for request cancellation. If
  1626  // the context is nil a panic will occur. In the future the SDK may create
  1627  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1628  // for more information on using Contexts.
  1629  func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
  1630  	p := request.Pagination{
  1631  		NewRequest: func() (*request.Request, error) {
  1632  			var inCpy *DescribeActionTargetsInput
  1633  			if input != nil {
  1634  				tmp := *input
  1635  				inCpy = &tmp
  1636  			}
  1637  			req, _ := c.DescribeActionTargetsRequest(inCpy)
  1638  			req.SetContext(ctx)
  1639  			req.ApplyOptions(opts...)
  1640  			return req, nil
  1641  		},
  1642  	}
  1643  
  1644  	for p.Next() {
  1645  		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
  1646  			break
  1647  		}
  1648  	}
  1649  
  1650  	return p.Err()
  1651  }
  1652  
  1653  const opDescribeHub = "DescribeHub"
  1654  
  1655  // DescribeHubRequest generates a "aws/request.Request" representing the
  1656  // client's request for the DescribeHub operation. The "output" return
  1657  // value will be populated with the request's response once the request completes
  1658  // successfully.
  1659  //
  1660  // Use "Send" method on the returned Request to send the API call to the service.
  1661  // the "output" return value is not valid until after Send returns without error.
  1662  //
  1663  // See DescribeHub for more information on using the DescribeHub
  1664  // API call, and error handling.
  1665  //
  1666  // This method is useful when you want to inject custom logic or configuration
  1667  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1668  //
  1669  //
  1670  //    // Example sending a request using the DescribeHubRequest method.
  1671  //    req, resp := client.DescribeHubRequest(params)
  1672  //
  1673  //    err := req.Send()
  1674  //    if err == nil { // resp is now filled
  1675  //        fmt.Println(resp)
  1676  //    }
  1677  //
  1678  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
  1679  func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
  1680  	op := &request.Operation{
  1681  		Name:       opDescribeHub,
  1682  		HTTPMethod: "GET",
  1683  		HTTPPath:   "/accounts",
  1684  	}
  1685  
  1686  	if input == nil {
  1687  		input = &DescribeHubInput{}
  1688  	}
  1689  
  1690  	output = &DescribeHubOutput{}
  1691  	req = c.newRequest(op, input, output)
  1692  	return
  1693  }
  1694  
  1695  // DescribeHub API operation for AWS SecurityHub.
  1696  //
  1697  // Returns details about the Hub resource in your account, including the HubArn
  1698  // and the time when you enabled Security Hub.
  1699  //
  1700  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1701  // with awserr.Error's Code and Message methods to get detailed information about
  1702  // the error.
  1703  //
  1704  // See the AWS API reference guide for AWS SecurityHub's
  1705  // API operation DescribeHub for usage and error information.
  1706  //
  1707  // Returned Error Types:
  1708  //   * InternalException
  1709  //   Internal server error.
  1710  //
  1711  //   * LimitExceededException
  1712  //   The request was rejected because it attempted to create resources beyond
  1713  //   the current Amazon Web Services account or throttling limits. The error code
  1714  //   describes the limit exceeded.
  1715  //
  1716  //   * InvalidAccessException
  1717  //   There is an issue with the account used to make the request. Either Security
  1718  //   Hub is not enabled for the account, or the account does not have permission
  1719  //   to perform this action.
  1720  //
  1721  //   * InvalidInputException
  1722  //   The request was rejected because you supplied an invalid or out-of-range
  1723  //   value for an input parameter.
  1724  //
  1725  //   * ResourceNotFoundException
  1726  //   The request was rejected because we can't find the specified resource.
  1727  //
  1728  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
  1729  func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
  1730  	req, out := c.DescribeHubRequest(input)
  1731  	return out, req.Send()
  1732  }
  1733  
  1734  // DescribeHubWithContext is the same as DescribeHub with the addition of
  1735  // the ability to pass a context and additional request options.
  1736  //
  1737  // See DescribeHub for details on how to use this API operation.
  1738  //
  1739  // The context must be non-nil and will be used for request cancellation. If
  1740  // the context is nil a panic will occur. In the future the SDK may create
  1741  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1742  // for more information on using Contexts.
  1743  func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
  1744  	req, out := c.DescribeHubRequest(input)
  1745  	req.SetContext(ctx)
  1746  	req.ApplyOptions(opts...)
  1747  	return out, req.Send()
  1748  }
  1749  
  1750  const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
  1751  
  1752  // DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
  1753  // client's request for the DescribeOrganizationConfiguration operation. The "output" return
  1754  // value will be populated with the request's response once the request completes
  1755  // successfully.
  1756  //
  1757  // Use "Send" method on the returned Request to send the API call to the service.
  1758  // the "output" return value is not valid until after Send returns without error.
  1759  //
  1760  // See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
  1761  // API call, and error handling.
  1762  //
  1763  // This method is useful when you want to inject custom logic or configuration
  1764  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1765  //
  1766  //
  1767  //    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
  1768  //    req, resp := client.DescribeOrganizationConfigurationRequest(params)
  1769  //
  1770  //    err := req.Send()
  1771  //    if err == nil { // resp is now filled
  1772  //        fmt.Println(resp)
  1773  //    }
  1774  //
  1775  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
  1776  func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
  1777  	op := &request.Operation{
  1778  		Name:       opDescribeOrganizationConfiguration,
  1779  		HTTPMethod: "GET",
  1780  		HTTPPath:   "/organization/configuration",
  1781  	}
  1782  
  1783  	if input == nil {
  1784  		input = &DescribeOrganizationConfigurationInput{}
  1785  	}
  1786  
  1787  	output = &DescribeOrganizationConfigurationOutput{}
  1788  	req = c.newRequest(op, input, output)
  1789  	return
  1790  }
  1791  
  1792  // DescribeOrganizationConfiguration API operation for AWS SecurityHub.
  1793  //
  1794  // Returns information about the Organizations configuration for Security Hub.
  1795  // Can only be called from a Security Hub administrator account.
  1796  //
  1797  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1798  // with awserr.Error's Code and Message methods to get detailed information about
  1799  // the error.
  1800  //
  1801  // See the AWS API reference guide for AWS SecurityHub's
  1802  // API operation DescribeOrganizationConfiguration for usage and error information.
  1803  //
  1804  // Returned Error Types:
  1805  //   * InternalException
  1806  //   Internal server error.
  1807  //
  1808  //   * InvalidInputException
  1809  //   The request was rejected because you supplied an invalid or out-of-range
  1810  //   value for an input parameter.
  1811  //
  1812  //   * InvalidAccessException
  1813  //   There is an issue with the account used to make the request. Either Security
  1814  //   Hub is not enabled for the account, or the account does not have permission
  1815  //   to perform this action.
  1816  //
  1817  //   * LimitExceededException
  1818  //   The request was rejected because it attempted to create resources beyond
  1819  //   the current Amazon Web Services account or throttling limits. The error code
  1820  //   describes the limit exceeded.
  1821  //
  1822  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
  1823  func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
  1824  	req, out := c.DescribeOrganizationConfigurationRequest(input)
  1825  	return out, req.Send()
  1826  }
  1827  
  1828  // DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
  1829  // the ability to pass a context and additional request options.
  1830  //
  1831  // See DescribeOrganizationConfiguration for details on how to use this API operation.
  1832  //
  1833  // The context must be non-nil and will be used for request cancellation. If
  1834  // the context is nil a panic will occur. In the future the SDK may create
  1835  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1836  // for more information on using Contexts.
  1837  func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
  1838  	req, out := c.DescribeOrganizationConfigurationRequest(input)
  1839  	req.SetContext(ctx)
  1840  	req.ApplyOptions(opts...)
  1841  	return out, req.Send()
  1842  }
  1843  
  1844  const opDescribeProducts = "DescribeProducts"
  1845  
  1846  // DescribeProductsRequest generates a "aws/request.Request" representing the
  1847  // client's request for the DescribeProducts operation. The "output" return
  1848  // value will be populated with the request's response once the request completes
  1849  // successfully.
  1850  //
  1851  // Use "Send" method on the returned Request to send the API call to the service.
  1852  // the "output" return value is not valid until after Send returns without error.
  1853  //
  1854  // See DescribeProducts for more information on using the DescribeProducts
  1855  // API call, and error handling.
  1856  //
  1857  // This method is useful when you want to inject custom logic or configuration
  1858  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1859  //
  1860  //
  1861  //    // Example sending a request using the DescribeProductsRequest method.
  1862  //    req, resp := client.DescribeProductsRequest(params)
  1863  //
  1864  //    err := req.Send()
  1865  //    if err == nil { // resp is now filled
  1866  //        fmt.Println(resp)
  1867  //    }
  1868  //
  1869  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
  1870  func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
  1871  	op := &request.Operation{
  1872  		Name:       opDescribeProducts,
  1873  		HTTPMethod: "GET",
  1874  		HTTPPath:   "/products",
  1875  		Paginator: &request.Paginator{
  1876  			InputTokens:     []string{"NextToken"},
  1877  			OutputTokens:    []string{"NextToken"},
  1878  			LimitToken:      "MaxResults",
  1879  			TruncationToken: "",
  1880  		},
  1881  	}
  1882  
  1883  	if input == nil {
  1884  		input = &DescribeProductsInput{}
  1885  	}
  1886  
  1887  	output = &DescribeProductsOutput{}
  1888  	req = c.newRequest(op, input, output)
  1889  	return
  1890  }
  1891  
  1892  // DescribeProducts API operation for AWS SecurityHub.
  1893  //
  1894  // Returns information about product integrations in Security Hub.
  1895  //
  1896  // You can optionally provide an integration ARN. If you provide an integration
  1897  // ARN, then the results only include that integration.
  1898  //
  1899  // If you do not provide an integration ARN, then the results include all of
  1900  // the available product integrations.
  1901  //
  1902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1903  // with awserr.Error's Code and Message methods to get detailed information about
  1904  // the error.
  1905  //
  1906  // See the AWS API reference guide for AWS SecurityHub's
  1907  // API operation DescribeProducts for usage and error information.
  1908  //
  1909  // Returned Error Types:
  1910  //   * InternalException
  1911  //   Internal server error.
  1912  //
  1913  //   * LimitExceededException
  1914  //   The request was rejected because it attempted to create resources beyond
  1915  //   the current Amazon Web Services account or throttling limits. The error code
  1916  //   describes the limit exceeded.
  1917  //
  1918  //   * InvalidAccessException
  1919  //   There is an issue with the account used to make the request. Either Security
  1920  //   Hub is not enabled for the account, or the account does not have permission
  1921  //   to perform this action.
  1922  //
  1923  //   * InvalidInputException
  1924  //   The request was rejected because you supplied an invalid or out-of-range
  1925  //   value for an input parameter.
  1926  //
  1927  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
  1928  func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
  1929  	req, out := c.DescribeProductsRequest(input)
  1930  	return out, req.Send()
  1931  }
  1932  
  1933  // DescribeProductsWithContext is the same as DescribeProducts with the addition of
  1934  // the ability to pass a context and additional request options.
  1935  //
  1936  // See DescribeProducts for details on how to use this API operation.
  1937  //
  1938  // The context must be non-nil and will be used for request cancellation. If
  1939  // the context is nil a panic will occur. In the future the SDK may create
  1940  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1941  // for more information on using Contexts.
  1942  func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
  1943  	req, out := c.DescribeProductsRequest(input)
  1944  	req.SetContext(ctx)
  1945  	req.ApplyOptions(opts...)
  1946  	return out, req.Send()
  1947  }
  1948  
  1949  // DescribeProductsPages iterates over the pages of a DescribeProducts operation,
  1950  // calling the "fn" function with the response data for each page. To stop
  1951  // iterating, return false from the fn function.
  1952  //
  1953  // See DescribeProducts method for more information on how to use this operation.
  1954  //
  1955  // Note: This operation can generate multiple requests to a service.
  1956  //
  1957  //    // Example iterating over at most 3 pages of a DescribeProducts operation.
  1958  //    pageNum := 0
  1959  //    err := client.DescribeProductsPages(params,
  1960  //        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
  1961  //            pageNum++
  1962  //            fmt.Println(page)
  1963  //            return pageNum <= 3
  1964  //        })
  1965  //
  1966  func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
  1967  	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
  1968  }
  1969  
  1970  // DescribeProductsPagesWithContext same as DescribeProductsPages except
  1971  // it takes a Context and allows setting request options on the pages.
  1972  //
  1973  // The context must be non-nil and will be used for request cancellation. If
  1974  // the context is nil a panic will occur. In the future the SDK may create
  1975  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1976  // for more information on using Contexts.
  1977  func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
  1978  	p := request.Pagination{
  1979  		NewRequest: func() (*request.Request, error) {
  1980  			var inCpy *DescribeProductsInput
  1981  			if input != nil {
  1982  				tmp := *input
  1983  				inCpy = &tmp
  1984  			}
  1985  			req, _ := c.DescribeProductsRequest(inCpy)
  1986  			req.SetContext(ctx)
  1987  			req.ApplyOptions(opts...)
  1988  			return req, nil
  1989  		},
  1990  	}
  1991  
  1992  	for p.Next() {
  1993  		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
  1994  			break
  1995  		}
  1996  	}
  1997  
  1998  	return p.Err()
  1999  }
  2000  
  2001  const opDescribeStandards = "DescribeStandards"
  2002  
  2003  // DescribeStandardsRequest generates a "aws/request.Request" representing the
  2004  // client's request for the DescribeStandards operation. The "output" return
  2005  // value will be populated with the request's response once the request completes
  2006  // successfully.
  2007  //
  2008  // Use "Send" method on the returned Request to send the API call to the service.
  2009  // the "output" return value is not valid until after Send returns without error.
  2010  //
  2011  // See DescribeStandards for more information on using the DescribeStandards
  2012  // API call, and error handling.
  2013  //
  2014  // This method is useful when you want to inject custom logic or configuration
  2015  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2016  //
  2017  //
  2018  //    // Example sending a request using the DescribeStandardsRequest method.
  2019  //    req, resp := client.DescribeStandardsRequest(params)
  2020  //
  2021  //    err := req.Send()
  2022  //    if err == nil { // resp is now filled
  2023  //        fmt.Println(resp)
  2024  //    }
  2025  //
  2026  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
  2027  func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
  2028  	op := &request.Operation{
  2029  		Name:       opDescribeStandards,
  2030  		HTTPMethod: "GET",
  2031  		HTTPPath:   "/standards",
  2032  		Paginator: &request.Paginator{
  2033  			InputTokens:     []string{"NextToken"},
  2034  			OutputTokens:    []string{"NextToken"},
  2035  			LimitToken:      "MaxResults",
  2036  			TruncationToken: "",
  2037  		},
  2038  	}
  2039  
  2040  	if input == nil {
  2041  		input = &DescribeStandardsInput{}
  2042  	}
  2043  
  2044  	output = &DescribeStandardsOutput{}
  2045  	req = c.newRequest(op, input, output)
  2046  	return
  2047  }
  2048  
  2049  // DescribeStandards API operation for AWS SecurityHub.
  2050  //
  2051  // Returns a list of the available standards in Security Hub.
  2052  //
  2053  // For each standard, the results include the standard ARN, the name, and a
  2054  // description.
  2055  //
  2056  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2057  // with awserr.Error's Code and Message methods to get detailed information about
  2058  // the error.
  2059  //
  2060  // See the AWS API reference guide for AWS SecurityHub's
  2061  // API operation DescribeStandards for usage and error information.
  2062  //
  2063  // Returned Error Types:
  2064  //   * InternalException
  2065  //   Internal server error.
  2066  //
  2067  //   * InvalidInputException
  2068  //   The request was rejected because you supplied an invalid or out-of-range
  2069  //   value for an input parameter.
  2070  //
  2071  //   * InvalidAccessException
  2072  //   There is an issue with the account used to make the request. Either Security
  2073  //   Hub is not enabled for the account, or the account does not have permission
  2074  //   to perform this action.
  2075  //
  2076  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
  2077  func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
  2078  	req, out := c.DescribeStandardsRequest(input)
  2079  	return out, req.Send()
  2080  }
  2081  
  2082  // DescribeStandardsWithContext is the same as DescribeStandards with the addition of
  2083  // the ability to pass a context and additional request options.
  2084  //
  2085  // See DescribeStandards for details on how to use this API operation.
  2086  //
  2087  // The context must be non-nil and will be used for request cancellation. If
  2088  // the context is nil a panic will occur. In the future the SDK may create
  2089  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2090  // for more information on using Contexts.
  2091  func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
  2092  	req, out := c.DescribeStandardsRequest(input)
  2093  	req.SetContext(ctx)
  2094  	req.ApplyOptions(opts...)
  2095  	return out, req.Send()
  2096  }
  2097  
  2098  // DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
  2099  // calling the "fn" function with the response data for each page. To stop
  2100  // iterating, return false from the fn function.
  2101  //
  2102  // See DescribeStandards method for more information on how to use this operation.
  2103  //
  2104  // Note: This operation can generate multiple requests to a service.
  2105  //
  2106  //    // Example iterating over at most 3 pages of a DescribeStandards operation.
  2107  //    pageNum := 0
  2108  //    err := client.DescribeStandardsPages(params,
  2109  //        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
  2110  //            pageNum++
  2111  //            fmt.Println(page)
  2112  //            return pageNum <= 3
  2113  //        })
  2114  //
  2115  func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
  2116  	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
  2117  }
  2118  
  2119  // DescribeStandardsPagesWithContext same as DescribeStandardsPages except
  2120  // it takes a Context and allows setting request options on the pages.
  2121  //
  2122  // The context must be non-nil and will be used for request cancellation. If
  2123  // the context is nil a panic will occur. In the future the SDK may create
  2124  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2125  // for more information on using Contexts.
  2126  func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
  2127  	p := request.Pagination{
  2128  		NewRequest: func() (*request.Request, error) {
  2129  			var inCpy *DescribeStandardsInput
  2130  			if input != nil {
  2131  				tmp := *input
  2132  				inCpy = &tmp
  2133  			}
  2134  			req, _ := c.DescribeStandardsRequest(inCpy)
  2135  			req.SetContext(ctx)
  2136  			req.ApplyOptions(opts...)
  2137  			return req, nil
  2138  		},
  2139  	}
  2140  
  2141  	for p.Next() {
  2142  		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
  2143  			break
  2144  		}
  2145  	}
  2146  
  2147  	return p.Err()
  2148  }
  2149  
  2150  const opDescribeStandardsControls = "DescribeStandardsControls"
  2151  
  2152  // DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
  2153  // client's request for the DescribeStandardsControls operation. The "output" return
  2154  // value will be populated with the request's response once the request completes
  2155  // successfully.
  2156  //
  2157  // Use "Send" method on the returned Request to send the API call to the service.
  2158  // the "output" return value is not valid until after Send returns without error.
  2159  //
  2160  // See DescribeStandardsControls for more information on using the DescribeStandardsControls
  2161  // API call, and error handling.
  2162  //
  2163  // This method is useful when you want to inject custom logic or configuration
  2164  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2165  //
  2166  //
  2167  //    // Example sending a request using the DescribeStandardsControlsRequest method.
  2168  //    req, resp := client.DescribeStandardsControlsRequest(params)
  2169  //
  2170  //    err := req.Send()
  2171  //    if err == nil { // resp is now filled
  2172  //        fmt.Println(resp)
  2173  //    }
  2174  //
  2175  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
  2176  func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
  2177  	op := &request.Operation{
  2178  		Name:       opDescribeStandardsControls,
  2179  		HTTPMethod: "GET",
  2180  		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
  2181  		Paginator: &request.Paginator{
  2182  			InputTokens:     []string{"NextToken"},
  2183  			OutputTokens:    []string{"NextToken"},
  2184  			LimitToken:      "MaxResults",
  2185  			TruncationToken: "",
  2186  		},
  2187  	}
  2188  
  2189  	if input == nil {
  2190  		input = &DescribeStandardsControlsInput{}
  2191  	}
  2192  
  2193  	output = &DescribeStandardsControlsOutput{}
  2194  	req = c.newRequest(op, input, output)
  2195  	return
  2196  }
  2197  
  2198  // DescribeStandardsControls API operation for AWS SecurityHub.
  2199  //
  2200  // Returns a list of security standards controls.
  2201  //
  2202  // For each control, the results include information about whether it is currently
  2203  // enabled, the severity, and a link to remediation information.
  2204  //
  2205  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2206  // with awserr.Error's Code and Message methods to get detailed information about
  2207  // the error.
  2208  //
  2209  // See the AWS API reference guide for AWS SecurityHub's
  2210  // API operation DescribeStandardsControls for usage and error information.
  2211  //
  2212  // Returned Error Types:
  2213  //   * InternalException
  2214  //   Internal server error.
  2215  //
  2216  //   * InvalidInputException
  2217  //   The request was rejected because you supplied an invalid or out-of-range
  2218  //   value for an input parameter.
  2219  //
  2220  //   * InvalidAccessException
  2221  //   There is an issue with the account used to make the request. Either Security
  2222  //   Hub is not enabled for the account, or the account does not have permission
  2223  //   to perform this action.
  2224  //
  2225  //   * ResourceNotFoundException
  2226  //   The request was rejected because we can't find the specified resource.
  2227  //
  2228  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
  2229  func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
  2230  	req, out := c.DescribeStandardsControlsRequest(input)
  2231  	return out, req.Send()
  2232  }
  2233  
  2234  // DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
  2235  // the ability to pass a context and additional request options.
  2236  //
  2237  // See DescribeStandardsControls for details on how to use this API operation.
  2238  //
  2239  // The context must be non-nil and will be used for request cancellation. If
  2240  // the context is nil a panic will occur. In the future the SDK may create
  2241  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2242  // for more information on using Contexts.
  2243  func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
  2244  	req, out := c.DescribeStandardsControlsRequest(input)
  2245  	req.SetContext(ctx)
  2246  	req.ApplyOptions(opts...)
  2247  	return out, req.Send()
  2248  }
  2249  
  2250  // DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
  2251  // calling the "fn" function with the response data for each page. To stop
  2252  // iterating, return false from the fn function.
  2253  //
  2254  // See DescribeStandardsControls method for more information on how to use this operation.
  2255  //
  2256  // Note: This operation can generate multiple requests to a service.
  2257  //
  2258  //    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
  2259  //    pageNum := 0
  2260  //    err := client.DescribeStandardsControlsPages(params,
  2261  //        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
  2262  //            pageNum++
  2263  //            fmt.Println(page)
  2264  //            return pageNum <= 3
  2265  //        })
  2266  //
  2267  func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
  2268  	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
  2269  }
  2270  
  2271  // DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
  2272  // it takes a Context and allows setting request options on the pages.
  2273  //
  2274  // The context must be non-nil and will be used for request cancellation. If
  2275  // the context is nil a panic will occur. In the future the SDK may create
  2276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2277  // for more information on using Contexts.
  2278  func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
  2279  	p := request.Pagination{
  2280  		NewRequest: func() (*request.Request, error) {
  2281  			var inCpy *DescribeStandardsControlsInput
  2282  			if input != nil {
  2283  				tmp := *input
  2284  				inCpy = &tmp
  2285  			}
  2286  			req, _ := c.DescribeStandardsControlsRequest(inCpy)
  2287  			req.SetContext(ctx)
  2288  			req.ApplyOptions(opts...)
  2289  			return req, nil
  2290  		},
  2291  	}
  2292  
  2293  	for p.Next() {
  2294  		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
  2295  			break
  2296  		}
  2297  	}
  2298  
  2299  	return p.Err()
  2300  }
  2301  
  2302  const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
  2303  
  2304  // DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
  2305  // client's request for the DisableImportFindingsForProduct operation. The "output" return
  2306  // value will be populated with the request's response once the request completes
  2307  // successfully.
  2308  //
  2309  // Use "Send" method on the returned Request to send the API call to the service.
  2310  // the "output" return value is not valid until after Send returns without error.
  2311  //
  2312  // See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
  2313  // API call, and error handling.
  2314  //
  2315  // This method is useful when you want to inject custom logic or configuration
  2316  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2317  //
  2318  //
  2319  //    // Example sending a request using the DisableImportFindingsForProductRequest method.
  2320  //    req, resp := client.DisableImportFindingsForProductRequest(params)
  2321  //
  2322  //    err := req.Send()
  2323  //    if err == nil { // resp is now filled
  2324  //        fmt.Println(resp)
  2325  //    }
  2326  //
  2327  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
  2328  func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
  2329  	op := &request.Operation{
  2330  		Name:       opDisableImportFindingsForProduct,
  2331  		HTTPMethod: "DELETE",
  2332  		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
  2333  	}
  2334  
  2335  	if input == nil {
  2336  		input = &DisableImportFindingsForProductInput{}
  2337  	}
  2338  
  2339  	output = &DisableImportFindingsForProductOutput{}
  2340  	req = c.newRequest(op, input, output)
  2341  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2342  	return
  2343  }
  2344  
  2345  // DisableImportFindingsForProduct API operation for AWS SecurityHub.
  2346  //
  2347  // Disables the integration of the specified product with Security Hub. After
  2348  // the integration is disabled, findings from that product are no longer sent
  2349  // to Security Hub.
  2350  //
  2351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2352  // with awserr.Error's Code and Message methods to get detailed information about
  2353  // the error.
  2354  //
  2355  // See the AWS API reference guide for AWS SecurityHub's
  2356  // API operation DisableImportFindingsForProduct for usage and error information.
  2357  //
  2358  // Returned Error Types:
  2359  //   * InternalException
  2360  //   Internal server error.
  2361  //
  2362  //   * InvalidInputException
  2363  //   The request was rejected because you supplied an invalid or out-of-range
  2364  //   value for an input parameter.
  2365  //
  2366  //   * ResourceNotFoundException
  2367  //   The request was rejected because we can't find the specified resource.
  2368  //
  2369  //   * InvalidAccessException
  2370  //   There is an issue with the account used to make the request. Either Security
  2371  //   Hub is not enabled for the account, or the account does not have permission
  2372  //   to perform this action.
  2373  //
  2374  //   * LimitExceededException
  2375  //   The request was rejected because it attempted to create resources beyond
  2376  //   the current Amazon Web Services account or throttling limits. The error code
  2377  //   describes the limit exceeded.
  2378  //
  2379  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
  2380  func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
  2381  	req, out := c.DisableImportFindingsForProductRequest(input)
  2382  	return out, req.Send()
  2383  }
  2384  
  2385  // DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
  2386  // the ability to pass a context and additional request options.
  2387  //
  2388  // See DisableImportFindingsForProduct for details on how to use this API operation.
  2389  //
  2390  // The context must be non-nil and will be used for request cancellation. If
  2391  // the context is nil a panic will occur. In the future the SDK may create
  2392  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2393  // for more information on using Contexts.
  2394  func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
  2395  	req, out := c.DisableImportFindingsForProductRequest(input)
  2396  	req.SetContext(ctx)
  2397  	req.ApplyOptions(opts...)
  2398  	return out, req.Send()
  2399  }
  2400  
  2401  const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
  2402  
  2403  // DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
  2404  // client's request for the DisableOrganizationAdminAccount operation. The "output" return
  2405  // value will be populated with the request's response once the request completes
  2406  // successfully.
  2407  //
  2408  // Use "Send" method on the returned Request to send the API call to the service.
  2409  // the "output" return value is not valid until after Send returns without error.
  2410  //
  2411  // See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
  2412  // API call, and error handling.
  2413  //
  2414  // This method is useful when you want to inject custom logic or configuration
  2415  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2416  //
  2417  //
  2418  //    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
  2419  //    req, resp := client.DisableOrganizationAdminAccountRequest(params)
  2420  //
  2421  //    err := req.Send()
  2422  //    if err == nil { // resp is now filled
  2423  //        fmt.Println(resp)
  2424  //    }
  2425  //
  2426  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
  2427  func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
  2428  	op := &request.Operation{
  2429  		Name:       opDisableOrganizationAdminAccount,
  2430  		HTTPMethod: "POST",
  2431  		HTTPPath:   "/organization/admin/disable",
  2432  	}
  2433  
  2434  	if input == nil {
  2435  		input = &DisableOrganizationAdminAccountInput{}
  2436  	}
  2437  
  2438  	output = &DisableOrganizationAdminAccountOutput{}
  2439  	req = c.newRequest(op, input, output)
  2440  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2441  	return
  2442  }
  2443  
  2444  // DisableOrganizationAdminAccount API operation for AWS SecurityHub.
  2445  //
  2446  // Disables a Security Hub administrator account. Can only be called by the
  2447  // organization management account.
  2448  //
  2449  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2450  // with awserr.Error's Code and Message methods to get detailed information about
  2451  // the error.
  2452  //
  2453  // See the AWS API reference guide for AWS SecurityHub's
  2454  // API operation DisableOrganizationAdminAccount for usage and error information.
  2455  //
  2456  // Returned Error Types:
  2457  //   * InternalException
  2458  //   Internal server error.
  2459  //
  2460  //   * InvalidInputException
  2461  //   The request was rejected because you supplied an invalid or out-of-range
  2462  //   value for an input parameter.
  2463  //
  2464  //   * InvalidAccessException
  2465  //   There is an issue with the account used to make the request. Either Security
  2466  //   Hub is not enabled for the account, or the account does not have permission
  2467  //   to perform this action.
  2468  //
  2469  //   * LimitExceededException
  2470  //   The request was rejected because it attempted to create resources beyond
  2471  //   the current Amazon Web Services account or throttling limits. The error code
  2472  //   describes the limit exceeded.
  2473  //
  2474  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
  2475  func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
  2476  	req, out := c.DisableOrganizationAdminAccountRequest(input)
  2477  	return out, req.Send()
  2478  }
  2479  
  2480  // DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
  2481  // the ability to pass a context and additional request options.
  2482  //
  2483  // See DisableOrganizationAdminAccount for details on how to use this API operation.
  2484  //
  2485  // The context must be non-nil and will be used for request cancellation. If
  2486  // the context is nil a panic will occur. In the future the SDK may create
  2487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2488  // for more information on using Contexts.
  2489  func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
  2490  	req, out := c.DisableOrganizationAdminAccountRequest(input)
  2491  	req.SetContext(ctx)
  2492  	req.ApplyOptions(opts...)
  2493  	return out, req.Send()
  2494  }
  2495  
  2496  const opDisableSecurityHub = "DisableSecurityHub"
  2497  
  2498  // DisableSecurityHubRequest generates a "aws/request.Request" representing the
  2499  // client's request for the DisableSecurityHub operation. The "output" return
  2500  // value will be populated with the request's response once the request completes
  2501  // successfully.
  2502  //
  2503  // Use "Send" method on the returned Request to send the API call to the service.
  2504  // the "output" return value is not valid until after Send returns without error.
  2505  //
  2506  // See DisableSecurityHub for more information on using the DisableSecurityHub
  2507  // API call, and error handling.
  2508  //
  2509  // This method is useful when you want to inject custom logic or configuration
  2510  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2511  //
  2512  //
  2513  //    // Example sending a request using the DisableSecurityHubRequest method.
  2514  //    req, resp := client.DisableSecurityHubRequest(params)
  2515  //
  2516  //    err := req.Send()
  2517  //    if err == nil { // resp is now filled
  2518  //        fmt.Println(resp)
  2519  //    }
  2520  //
  2521  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
  2522  func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
  2523  	op := &request.Operation{
  2524  		Name:       opDisableSecurityHub,
  2525  		HTTPMethod: "DELETE",
  2526  		HTTPPath:   "/accounts",
  2527  	}
  2528  
  2529  	if input == nil {
  2530  		input = &DisableSecurityHubInput{}
  2531  	}
  2532  
  2533  	output = &DisableSecurityHubOutput{}
  2534  	req = c.newRequest(op, input, output)
  2535  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2536  	return
  2537  }
  2538  
  2539  // DisableSecurityHub API operation for AWS SecurityHub.
  2540  //
  2541  // Disables Security Hub in your account only in the current Region. To disable
  2542  // Security Hub in all Regions, you must submit one request per Region where
  2543  // you have enabled Security Hub.
  2544  //
  2545  // When you disable Security Hub for an administrator account, it doesn't disable
  2546  // Security Hub for any associated member accounts.
  2547  //
  2548  // When you disable Security Hub, your existing findings and insights and any
  2549  // Security Hub configuration settings are deleted after 90 days and cannot
  2550  // be recovered. Any standards that were enabled are disabled, and your administrator
  2551  // and member account associations are removed.
  2552  //
  2553  // If you want to save your existing findings, you must export them before you
  2554  // disable Security Hub.
  2555  //
  2556  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2557  // with awserr.Error's Code and Message methods to get detailed information about
  2558  // the error.
  2559  //
  2560  // See the AWS API reference guide for AWS SecurityHub's
  2561  // API operation DisableSecurityHub for usage and error information.
  2562  //
  2563  // Returned Error Types:
  2564  //   * InternalException
  2565  //   Internal server error.
  2566  //
  2567  //   * LimitExceededException
  2568  //   The request was rejected because it attempted to create resources beyond
  2569  //   the current Amazon Web Services account or throttling limits. The error code
  2570  //   describes the limit exceeded.
  2571  //
  2572  //   * InvalidAccessException
  2573  //   There is an issue with the account used to make the request. Either Security
  2574  //   Hub is not enabled for the account, or the account does not have permission
  2575  //   to perform this action.
  2576  //
  2577  //   * ResourceNotFoundException
  2578  //   The request was rejected because we can't find the specified resource.
  2579  //
  2580  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
  2581  func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
  2582  	req, out := c.DisableSecurityHubRequest(input)
  2583  	return out, req.Send()
  2584  }
  2585  
  2586  // DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
  2587  // the ability to pass a context and additional request options.
  2588  //
  2589  // See DisableSecurityHub for details on how to use this API operation.
  2590  //
  2591  // The context must be non-nil and will be used for request cancellation. If
  2592  // the context is nil a panic will occur. In the future the SDK may create
  2593  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2594  // for more information on using Contexts.
  2595  func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
  2596  	req, out := c.DisableSecurityHubRequest(input)
  2597  	req.SetContext(ctx)
  2598  	req.ApplyOptions(opts...)
  2599  	return out, req.Send()
  2600  }
  2601  
  2602  const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
  2603  
  2604  // DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
  2605  // client's request for the DisassociateFromAdministratorAccount operation. The "output" return
  2606  // value will be populated with the request's response once the request completes
  2607  // successfully.
  2608  //
  2609  // Use "Send" method on the returned Request to send the API call to the service.
  2610  // the "output" return value is not valid until after Send returns without error.
  2611  //
  2612  // See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
  2613  // API call, and error handling.
  2614  //
  2615  // This method is useful when you want to inject custom logic or configuration
  2616  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2617  //
  2618  //
  2619  //    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
  2620  //    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
  2621  //
  2622  //    err := req.Send()
  2623  //    if err == nil { // resp is now filled
  2624  //        fmt.Println(resp)
  2625  //    }
  2626  //
  2627  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
  2628  func (c *SecurityHub) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
  2629  	op := &request.Operation{
  2630  		Name:       opDisassociateFromAdministratorAccount,
  2631  		HTTPMethod: "POST",
  2632  		HTTPPath:   "/administrator/disassociate",
  2633  	}
  2634  
  2635  	if input == nil {
  2636  		input = &DisassociateFromAdministratorAccountInput{}
  2637  	}
  2638  
  2639  	output = &DisassociateFromAdministratorAccountOutput{}
  2640  	req = c.newRequest(op, input, output)
  2641  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2642  	return
  2643  }
  2644  
  2645  // DisassociateFromAdministratorAccount API operation for AWS SecurityHub.
  2646  //
  2647  // Disassociates the current Security Hub member account from the associated
  2648  // administrator account.
  2649  //
  2650  // This operation is only used by accounts that are not part of an organization.
  2651  // For organization accounts, only the administrator account can disassociate
  2652  // a member account.
  2653  //
  2654  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2655  // with awserr.Error's Code and Message methods to get detailed information about
  2656  // the error.
  2657  //
  2658  // See the AWS API reference guide for AWS SecurityHub's
  2659  // API operation DisassociateFromAdministratorAccount for usage and error information.
  2660  //
  2661  // Returned Error Types:
  2662  //   * InternalException
  2663  //   Internal server error.
  2664  //
  2665  //   * InvalidInputException
  2666  //   The request was rejected because you supplied an invalid or out-of-range
  2667  //   value for an input parameter.
  2668  //
  2669  //   * InvalidAccessException
  2670  //   There is an issue with the account used to make the request. Either Security
  2671  //   Hub is not enabled for the account, or the account does not have permission
  2672  //   to perform this action.
  2673  //
  2674  //   * LimitExceededException
  2675  //   The request was rejected because it attempted to create resources beyond
  2676  //   the current Amazon Web Services account or throttling limits. The error code
  2677  //   describes the limit exceeded.
  2678  //
  2679  //   * ResourceNotFoundException
  2680  //   The request was rejected because we can't find the specified resource.
  2681  //
  2682  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
  2683  func (c *SecurityHub) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
  2684  	req, out := c.DisassociateFromAdministratorAccountRequest(input)
  2685  	return out, req.Send()
  2686  }
  2687  
  2688  // DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
  2689  // the ability to pass a context and additional request options.
  2690  //
  2691  // See DisassociateFromAdministratorAccount for details on how to use this API operation.
  2692  //
  2693  // The context must be non-nil and will be used for request cancellation. If
  2694  // the context is nil a panic will occur. In the future the SDK may create
  2695  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2696  // for more information on using Contexts.
  2697  func (c *SecurityHub) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
  2698  	req, out := c.DisassociateFromAdministratorAccountRequest(input)
  2699  	req.SetContext(ctx)
  2700  	req.ApplyOptions(opts...)
  2701  	return out, req.Send()
  2702  }
  2703  
  2704  const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
  2705  
  2706  // DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
  2707  // client's request for the DisassociateFromMasterAccount operation. The "output" return
  2708  // value will be populated with the request's response once the request completes
  2709  // successfully.
  2710  //
  2711  // Use "Send" method on the returned Request to send the API call to the service.
  2712  // the "output" return value is not valid until after Send returns without error.
  2713  //
  2714  // See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
  2715  // API call, and error handling.
  2716  //
  2717  // This method is useful when you want to inject custom logic or configuration
  2718  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2719  //
  2720  //
  2721  //    // Example sending a request using the DisassociateFromMasterAccountRequest method.
  2722  //    req, resp := client.DisassociateFromMasterAccountRequest(params)
  2723  //
  2724  //    err := req.Send()
  2725  //    if err == nil { // resp is now filled
  2726  //        fmt.Println(resp)
  2727  //    }
  2728  //
  2729  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
  2730  //
  2731  // Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
  2732  func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
  2733  	if c.Client.Config.Logger != nil {
  2734  		c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated")
  2735  	}
  2736  	op := &request.Operation{
  2737  		Name:       opDisassociateFromMasterAccount,
  2738  		HTTPMethod: "POST",
  2739  		HTTPPath:   "/master/disassociate",
  2740  	}
  2741  
  2742  	if input == nil {
  2743  		input = &DisassociateFromMasterAccountInput{}
  2744  	}
  2745  
  2746  	output = &DisassociateFromMasterAccountOutput{}
  2747  	req = c.newRequest(op, input, output)
  2748  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2749  	return
  2750  }
  2751  
  2752  // DisassociateFromMasterAccount API operation for AWS SecurityHub.
  2753  //
  2754  // This method is deprecated. Instead, use DisassociateFromAdministratorAccount.
  2755  //
  2756  // The Security Hub console continues to use DisassociateFromMasterAccount.
  2757  // It will eventually change to use DisassociateFromAdministratorAccount. Any
  2758  // IAM policies that specifically control access to this function must continue
  2759  // to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount
  2760  // to your policies to ensure that the correct permissions are in place after
  2761  // the console begins to use DisassociateFromAdministratorAccount.
  2762  //
  2763  // Disassociates the current Security Hub member account from the associated
  2764  // administrator account.
  2765  //
  2766  // This operation is only used by accounts that are not part of an organization.
  2767  // For organization accounts, only the administrator account can disassociate
  2768  // a member account.
  2769  //
  2770  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2771  // with awserr.Error's Code and Message methods to get detailed information about
  2772  // the error.
  2773  //
  2774  // See the AWS API reference guide for AWS SecurityHub's
  2775  // API operation DisassociateFromMasterAccount for usage and error information.
  2776  //
  2777  // Returned Error Types:
  2778  //   * InternalException
  2779  //   Internal server error.
  2780  //
  2781  //   * InvalidInputException
  2782  //   The request was rejected because you supplied an invalid or out-of-range
  2783  //   value for an input parameter.
  2784  //
  2785  //   * InvalidAccessException
  2786  //   There is an issue with the account used to make the request. Either Security
  2787  //   Hub is not enabled for the account, or the account does not have permission
  2788  //   to perform this action.
  2789  //
  2790  //   * LimitExceededException
  2791  //   The request was rejected because it attempted to create resources beyond
  2792  //   the current Amazon Web Services account or throttling limits. The error code
  2793  //   describes the limit exceeded.
  2794  //
  2795  //   * ResourceNotFoundException
  2796  //   The request was rejected because we can't find the specified resource.
  2797  //
  2798  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
  2799  //
  2800  // Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
  2801  func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
  2802  	req, out := c.DisassociateFromMasterAccountRequest(input)
  2803  	return out, req.Send()
  2804  }
  2805  
  2806  // DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
  2807  // the ability to pass a context and additional request options.
  2808  //
  2809  // See DisassociateFromMasterAccount for details on how to use this API operation.
  2810  //
  2811  // The context must be non-nil and will be used for request cancellation. If
  2812  // the context is nil a panic will occur. In the future the SDK may create
  2813  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2814  // for more information on using Contexts.
  2815  //
  2816  // Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
  2817  func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
  2818  	req, out := c.DisassociateFromMasterAccountRequest(input)
  2819  	req.SetContext(ctx)
  2820  	req.ApplyOptions(opts...)
  2821  	return out, req.Send()
  2822  }
  2823  
  2824  const opDisassociateMembers = "DisassociateMembers"
  2825  
  2826  // DisassociateMembersRequest generates a "aws/request.Request" representing the
  2827  // client's request for the DisassociateMembers operation. The "output" return
  2828  // value will be populated with the request's response once the request completes
  2829  // successfully.
  2830  //
  2831  // Use "Send" method on the returned Request to send the API call to the service.
  2832  // the "output" return value is not valid until after Send returns without error.
  2833  //
  2834  // See DisassociateMembers for more information on using the DisassociateMembers
  2835  // API call, and error handling.
  2836  //
  2837  // This method is useful when you want to inject custom logic or configuration
  2838  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2839  //
  2840  //
  2841  //    // Example sending a request using the DisassociateMembersRequest method.
  2842  //    req, resp := client.DisassociateMembersRequest(params)
  2843  //
  2844  //    err := req.Send()
  2845  //    if err == nil { // resp is now filled
  2846  //        fmt.Println(resp)
  2847  //    }
  2848  //
  2849  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
  2850  func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
  2851  	op := &request.Operation{
  2852  		Name:       opDisassociateMembers,
  2853  		HTTPMethod: "POST",
  2854  		HTTPPath:   "/members/disassociate",
  2855  	}
  2856  
  2857  	if input == nil {
  2858  		input = &DisassociateMembersInput{}
  2859  	}
  2860  
  2861  	output = &DisassociateMembersOutput{}
  2862  	req = c.newRequest(op, input, output)
  2863  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2864  	return
  2865  }
  2866  
  2867  // DisassociateMembers API operation for AWS SecurityHub.
  2868  //
  2869  // Disassociates the specified member accounts from the associated administrator
  2870  // account.
  2871  //
  2872  // Can be used to disassociate both accounts that are managed using Organizations
  2873  // and accounts that were invited manually.
  2874  //
  2875  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2876  // with awserr.Error's Code and Message methods to get detailed information about
  2877  // the error.
  2878  //
  2879  // See the AWS API reference guide for AWS SecurityHub's
  2880  // API operation DisassociateMembers for usage and error information.
  2881  //
  2882  // Returned Error Types:
  2883  //   * InternalException
  2884  //   Internal server error.
  2885  //
  2886  //   * InvalidInputException
  2887  //   The request was rejected because you supplied an invalid or out-of-range
  2888  //   value for an input parameter.
  2889  //
  2890  //   * InvalidAccessException
  2891  //   There is an issue with the account used to make the request. Either Security
  2892  //   Hub is not enabled for the account, or the account does not have permission
  2893  //   to perform this action.
  2894  //
  2895  //   * LimitExceededException
  2896  //   The request was rejected because it attempted to create resources beyond
  2897  //   the current Amazon Web Services account or throttling limits. The error code
  2898  //   describes the limit exceeded.
  2899  //
  2900  //   * ResourceNotFoundException
  2901  //   The request was rejected because we can't find the specified resource.
  2902  //
  2903  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
  2904  func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
  2905  	req, out := c.DisassociateMembersRequest(input)
  2906  	return out, req.Send()
  2907  }
  2908  
  2909  // DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
  2910  // the ability to pass a context and additional request options.
  2911  //
  2912  // See DisassociateMembers for details on how to use this API operation.
  2913  //
  2914  // The context must be non-nil and will be used for request cancellation. If
  2915  // the context is nil a panic will occur. In the future the SDK may create
  2916  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2917  // for more information on using Contexts.
  2918  func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
  2919  	req, out := c.DisassociateMembersRequest(input)
  2920  	req.SetContext(ctx)
  2921  	req.ApplyOptions(opts...)
  2922  	return out, req.Send()
  2923  }
  2924  
  2925  const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
  2926  
  2927  // EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
  2928  // client's request for the EnableImportFindingsForProduct operation. The "output" return
  2929  // value will be populated with the request's response once the request completes
  2930  // successfully.
  2931  //
  2932  // Use "Send" method on the returned Request to send the API call to the service.
  2933  // the "output" return value is not valid until after Send returns without error.
  2934  //
  2935  // See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
  2936  // API call, and error handling.
  2937  //
  2938  // This method is useful when you want to inject custom logic or configuration
  2939  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2940  //
  2941  //
  2942  //    // Example sending a request using the EnableImportFindingsForProductRequest method.
  2943  //    req, resp := client.EnableImportFindingsForProductRequest(params)
  2944  //
  2945  //    err := req.Send()
  2946  //    if err == nil { // resp is now filled
  2947  //        fmt.Println(resp)
  2948  //    }
  2949  //
  2950  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
  2951  func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
  2952  	op := &request.Operation{
  2953  		Name:       opEnableImportFindingsForProduct,
  2954  		HTTPMethod: "POST",
  2955  		HTTPPath:   "/productSubscriptions",
  2956  	}
  2957  
  2958  	if input == nil {
  2959  		input = &EnableImportFindingsForProductInput{}
  2960  	}
  2961  
  2962  	output = &EnableImportFindingsForProductOutput{}
  2963  	req = c.newRequest(op, input, output)
  2964  	return
  2965  }
  2966  
  2967  // EnableImportFindingsForProduct API operation for AWS SecurityHub.
  2968  //
  2969  // Enables the integration of a partner product with Security Hub. Integrated
  2970  // products send findings to Security Hub.
  2971  //
  2972  // When you enable a product integration, a permissions policy that grants permission
  2973  // for the product to send findings to Security Hub is applied.
  2974  //
  2975  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2976  // with awserr.Error's Code and Message methods to get detailed information about
  2977  // the error.
  2978  //
  2979  // See the AWS API reference guide for AWS SecurityHub's
  2980  // API operation EnableImportFindingsForProduct for usage and error information.
  2981  //
  2982  // Returned Error Types:
  2983  //   * InternalException
  2984  //   Internal server error.
  2985  //
  2986  //   * InvalidInputException
  2987  //   The request was rejected because you supplied an invalid or out-of-range
  2988  //   value for an input parameter.
  2989  //
  2990  //   * InvalidAccessException
  2991  //   There is an issue with the account used to make the request. Either Security
  2992  //   Hub is not enabled for the account, or the account does not have permission
  2993  //   to perform this action.
  2994  //
  2995  //   * ResourceConflictException
  2996  //   The resource specified in the request conflicts with an existing resource.
  2997  //
  2998  //   * LimitExceededException
  2999  //   The request was rejected because it attempted to create resources beyond
  3000  //   the current Amazon Web Services account or throttling limits. The error code
  3001  //   describes the limit exceeded.
  3002  //
  3003  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
  3004  func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
  3005  	req, out := c.EnableImportFindingsForProductRequest(input)
  3006  	return out, req.Send()
  3007  }
  3008  
  3009  // EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
  3010  // the ability to pass a context and additional request options.
  3011  //
  3012  // See EnableImportFindingsForProduct for details on how to use this API operation.
  3013  //
  3014  // The context must be non-nil and will be used for request cancellation. If
  3015  // the context is nil a panic will occur. In the future the SDK may create
  3016  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3017  // for more information on using Contexts.
  3018  func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
  3019  	req, out := c.EnableImportFindingsForProductRequest(input)
  3020  	req.SetContext(ctx)
  3021  	req.ApplyOptions(opts...)
  3022  	return out, req.Send()
  3023  }
  3024  
  3025  const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
  3026  
  3027  // EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
  3028  // client's request for the EnableOrganizationAdminAccount operation. The "output" return
  3029  // value will be populated with the request's response once the request completes
  3030  // successfully.
  3031  //
  3032  // Use "Send" method on the returned Request to send the API call to the service.
  3033  // the "output" return value is not valid until after Send returns without error.
  3034  //
  3035  // See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
  3036  // API call, and error handling.
  3037  //
  3038  // This method is useful when you want to inject custom logic or configuration
  3039  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3040  //
  3041  //
  3042  //    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
  3043  //    req, resp := client.EnableOrganizationAdminAccountRequest(params)
  3044  //
  3045  //    err := req.Send()
  3046  //    if err == nil { // resp is now filled
  3047  //        fmt.Println(resp)
  3048  //    }
  3049  //
  3050  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
  3051  func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
  3052  	op := &request.Operation{
  3053  		Name:       opEnableOrganizationAdminAccount,
  3054  		HTTPMethod: "POST",
  3055  		HTTPPath:   "/organization/admin/enable",
  3056  	}
  3057  
  3058  	if input == nil {
  3059  		input = &EnableOrganizationAdminAccountInput{}
  3060  	}
  3061  
  3062  	output = &EnableOrganizationAdminAccountOutput{}
  3063  	req = c.newRequest(op, input, output)
  3064  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3065  	return
  3066  }
  3067  
  3068  // EnableOrganizationAdminAccount API operation for AWS SecurityHub.
  3069  //
  3070  // Designates the Security Hub administrator account for an organization. Can
  3071  // only be called by the organization management account.
  3072  //
  3073  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3074  // with awserr.Error's Code and Message methods to get detailed information about
  3075  // the error.
  3076  //
  3077  // See the AWS API reference guide for AWS SecurityHub's
  3078  // API operation EnableOrganizationAdminAccount for usage and error information.
  3079  //
  3080  // Returned Error Types:
  3081  //   * InternalException
  3082  //   Internal server error.
  3083  //
  3084  //   * InvalidInputException
  3085  //   The request was rejected because you supplied an invalid or out-of-range
  3086  //   value for an input parameter.
  3087  //
  3088  //   * InvalidAccessException
  3089  //   There is an issue with the account used to make the request. Either Security
  3090  //   Hub is not enabled for the account, or the account does not have permission
  3091  //   to perform this action.
  3092  //
  3093  //   * LimitExceededException
  3094  //   The request was rejected because it attempted to create resources beyond
  3095  //   the current Amazon Web Services account or throttling limits. The error code
  3096  //   describes the limit exceeded.
  3097  //
  3098  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
  3099  func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
  3100  	req, out := c.EnableOrganizationAdminAccountRequest(input)
  3101  	return out, req.Send()
  3102  }
  3103  
  3104  // EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
  3105  // the ability to pass a context and additional request options.
  3106  //
  3107  // See EnableOrganizationAdminAccount for details on how to use this API operation.
  3108  //
  3109  // The context must be non-nil and will be used for request cancellation. If
  3110  // the context is nil a panic will occur. In the future the SDK may create
  3111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3112  // for more information on using Contexts.
  3113  func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
  3114  	req, out := c.EnableOrganizationAdminAccountRequest(input)
  3115  	req.SetContext(ctx)
  3116  	req.ApplyOptions(opts...)
  3117  	return out, req.Send()
  3118  }
  3119  
  3120  const opEnableSecurityHub = "EnableSecurityHub"
  3121  
  3122  // EnableSecurityHubRequest generates a "aws/request.Request" representing the
  3123  // client's request for the EnableSecurityHub operation. The "output" return
  3124  // value will be populated with the request's response once the request completes
  3125  // successfully.
  3126  //
  3127  // Use "Send" method on the returned Request to send the API call to the service.
  3128  // the "output" return value is not valid until after Send returns without error.
  3129  //
  3130  // See EnableSecurityHub for more information on using the EnableSecurityHub
  3131  // API call, and error handling.
  3132  //
  3133  // This method is useful when you want to inject custom logic or configuration
  3134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3135  //
  3136  //
  3137  //    // Example sending a request using the EnableSecurityHubRequest method.
  3138  //    req, resp := client.EnableSecurityHubRequest(params)
  3139  //
  3140  //    err := req.Send()
  3141  //    if err == nil { // resp is now filled
  3142  //        fmt.Println(resp)
  3143  //    }
  3144  //
  3145  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
  3146  func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
  3147  	op := &request.Operation{
  3148  		Name:       opEnableSecurityHub,
  3149  		HTTPMethod: "POST",
  3150  		HTTPPath:   "/accounts",
  3151  	}
  3152  
  3153  	if input == nil {
  3154  		input = &EnableSecurityHubInput{}
  3155  	}
  3156  
  3157  	output = &EnableSecurityHubOutput{}
  3158  	req = c.newRequest(op, input, output)
  3159  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3160  	return
  3161  }
  3162  
  3163  // EnableSecurityHub API operation for AWS SecurityHub.
  3164  //
  3165  // Enables Security Hub for your account in the current Region or the Region
  3166  // you specify in the request.
  3167  //
  3168  // When you enable Security Hub, you grant to Security Hub the permissions necessary
  3169  // to gather findings from other services that are integrated with Security
  3170  // Hub.
  3171  //
  3172  // When you use the EnableSecurityHub operation to enable Security Hub, you
  3173  // also automatically enable the following standards.
  3174  //
  3175  //    * CIS Amazon Web Services Foundations
  3176  //
  3177  //    * Amazon Web Services Foundational Security Best Practices
  3178  //
  3179  // You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
  3180  // standard.
  3181  //
  3182  // To not enable the automatically enabled standards, set EnableDefaultStandards
  3183  // to false.
  3184  //
  3185  // After you enable Security Hub, to enable a standard, use the BatchEnableStandards
  3186  // operation. To disable a standard, use the BatchDisableStandards operation.
  3187  //
  3188  // To learn more, see the setup information (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
  3189  // in the Security Hub User Guide.
  3190  //
  3191  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3192  // with awserr.Error's Code and Message methods to get detailed information about
  3193  // the error.
  3194  //
  3195  // See the AWS API reference guide for AWS SecurityHub's
  3196  // API operation EnableSecurityHub for usage and error information.
  3197  //
  3198  // Returned Error Types:
  3199  //   * InternalException
  3200  //   Internal server error.
  3201  //
  3202  //   * LimitExceededException
  3203  //   The request was rejected because it attempted to create resources beyond
  3204  //   the current Amazon Web Services account or throttling limits. The error code
  3205  //   describes the limit exceeded.
  3206  //
  3207  //   * InvalidAccessException
  3208  //   There is an issue with the account used to make the request. Either Security
  3209  //   Hub is not enabled for the account, or the account does not have permission
  3210  //   to perform this action.
  3211  //
  3212  //   * ResourceConflictException
  3213  //   The resource specified in the request conflicts with an existing resource.
  3214  //
  3215  //   * AccessDeniedException
  3216  //   You don't have permission to perform the action specified in the request.
  3217  //
  3218  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
  3219  func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
  3220  	req, out := c.EnableSecurityHubRequest(input)
  3221  	return out, req.Send()
  3222  }
  3223  
  3224  // EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
  3225  // the ability to pass a context and additional request options.
  3226  //
  3227  // See EnableSecurityHub for details on how to use this API operation.
  3228  //
  3229  // The context must be non-nil and will be used for request cancellation. If
  3230  // the context is nil a panic will occur. In the future the SDK may create
  3231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3232  // for more information on using Contexts.
  3233  func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
  3234  	req, out := c.EnableSecurityHubRequest(input)
  3235  	req.SetContext(ctx)
  3236  	req.ApplyOptions(opts...)
  3237  	return out, req.Send()
  3238  }
  3239  
  3240  const opGetAdministratorAccount = "GetAdministratorAccount"
  3241  
  3242  // GetAdministratorAccountRequest generates a "aws/request.Request" representing the
  3243  // client's request for the GetAdministratorAccount operation. The "output" return
  3244  // value will be populated with the request's response once the request completes
  3245  // successfully.
  3246  //
  3247  // Use "Send" method on the returned Request to send the API call to the service.
  3248  // the "output" return value is not valid until after Send returns without error.
  3249  //
  3250  // See GetAdministratorAccount for more information on using the GetAdministratorAccount
  3251  // API call, and error handling.
  3252  //
  3253  // This method is useful when you want to inject custom logic or configuration
  3254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3255  //
  3256  //
  3257  //    // Example sending a request using the GetAdministratorAccountRequest method.
  3258  //    req, resp := client.GetAdministratorAccountRequest(params)
  3259  //
  3260  //    err := req.Send()
  3261  //    if err == nil { // resp is now filled
  3262  //        fmt.Println(resp)
  3263  //    }
  3264  //
  3265  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
  3266  func (c *SecurityHub) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
  3267  	op := &request.Operation{
  3268  		Name:       opGetAdministratorAccount,
  3269  		HTTPMethod: "GET",
  3270  		HTTPPath:   "/administrator",
  3271  	}
  3272  
  3273  	if input == nil {
  3274  		input = &GetAdministratorAccountInput{}
  3275  	}
  3276  
  3277  	output = &GetAdministratorAccountOutput{}
  3278  	req = c.newRequest(op, input, output)
  3279  	return
  3280  }
  3281  
  3282  // GetAdministratorAccount API operation for AWS SecurityHub.
  3283  //
  3284  // Provides the details for the Security Hub administrator account for the current
  3285  // member account.
  3286  //
  3287  // Can be used by both member accounts that are managed using Organizations
  3288  // and accounts that were invited manually.
  3289  //
  3290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3291  // with awserr.Error's Code and Message methods to get detailed information about
  3292  // the error.
  3293  //
  3294  // See the AWS API reference guide for AWS SecurityHub's
  3295  // API operation GetAdministratorAccount for usage and error information.
  3296  //
  3297  // Returned Error Types:
  3298  //   * InternalException
  3299  //   Internal server error.
  3300  //
  3301  //   * InvalidInputException
  3302  //   The request was rejected because you supplied an invalid or out-of-range
  3303  //   value for an input parameter.
  3304  //
  3305  //   * InvalidAccessException
  3306  //   There is an issue with the account used to make the request. Either Security
  3307  //   Hub is not enabled for the account, or the account does not have permission
  3308  //   to perform this action.
  3309  //
  3310  //   * LimitExceededException
  3311  //   The request was rejected because it attempted to create resources beyond
  3312  //   the current Amazon Web Services account or throttling limits. The error code
  3313  //   describes the limit exceeded.
  3314  //
  3315  //   * ResourceNotFoundException
  3316  //   The request was rejected because we can't find the specified resource.
  3317  //
  3318  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
  3319  func (c *SecurityHub) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
  3320  	req, out := c.GetAdministratorAccountRequest(input)
  3321  	return out, req.Send()
  3322  }
  3323  
  3324  // GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
  3325  // the ability to pass a context and additional request options.
  3326  //
  3327  // See GetAdministratorAccount for details on how to use this API operation.
  3328  //
  3329  // The context must be non-nil and will be used for request cancellation. If
  3330  // the context is nil a panic will occur. In the future the SDK may create
  3331  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3332  // for more information on using Contexts.
  3333  func (c *SecurityHub) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
  3334  	req, out := c.GetAdministratorAccountRequest(input)
  3335  	req.SetContext(ctx)
  3336  	req.ApplyOptions(opts...)
  3337  	return out, req.Send()
  3338  }
  3339  
  3340  const opGetEnabledStandards = "GetEnabledStandards"
  3341  
  3342  // GetEnabledStandardsRequest generates a "aws/request.Request" representing the
  3343  // client's request for the GetEnabledStandards operation. The "output" return
  3344  // value will be populated with the request's response once the request completes
  3345  // successfully.
  3346  //
  3347  // Use "Send" method on the returned Request to send the API call to the service.
  3348  // the "output" return value is not valid until after Send returns without error.
  3349  //
  3350  // See GetEnabledStandards for more information on using the GetEnabledStandards
  3351  // API call, and error handling.
  3352  //
  3353  // This method is useful when you want to inject custom logic or configuration
  3354  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3355  //
  3356  //
  3357  //    // Example sending a request using the GetEnabledStandardsRequest method.
  3358  //    req, resp := client.GetEnabledStandardsRequest(params)
  3359  //
  3360  //    err := req.Send()
  3361  //    if err == nil { // resp is now filled
  3362  //        fmt.Println(resp)
  3363  //    }
  3364  //
  3365  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
  3366  func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
  3367  	op := &request.Operation{
  3368  		Name:       opGetEnabledStandards,
  3369  		HTTPMethod: "POST",
  3370  		HTTPPath:   "/standards/get",
  3371  		Paginator: &request.Paginator{
  3372  			InputTokens:     []string{"NextToken"},
  3373  			OutputTokens:    []string{"NextToken"},
  3374  			LimitToken:      "MaxResults",
  3375  			TruncationToken: "",
  3376  		},
  3377  	}
  3378  
  3379  	if input == nil {
  3380  		input = &GetEnabledStandardsInput{}
  3381  	}
  3382  
  3383  	output = &GetEnabledStandardsOutput{}
  3384  	req = c.newRequest(op, input, output)
  3385  	return
  3386  }
  3387  
  3388  // GetEnabledStandards API operation for AWS SecurityHub.
  3389  //
  3390  // Returns a list of the standards that are currently enabled.
  3391  //
  3392  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3393  // with awserr.Error's Code and Message methods to get detailed information about
  3394  // the error.
  3395  //
  3396  // See the AWS API reference guide for AWS SecurityHub's
  3397  // API operation GetEnabledStandards for usage and error information.
  3398  //
  3399  // Returned Error Types:
  3400  //   * InternalException
  3401  //   Internal server error.
  3402  //
  3403  //   * InvalidInputException
  3404  //   The request was rejected because you supplied an invalid or out-of-range
  3405  //   value for an input parameter.
  3406  //
  3407  //   * InvalidAccessException
  3408  //   There is an issue with the account used to make the request. Either Security
  3409  //   Hub is not enabled for the account, or the account does not have permission
  3410  //   to perform this action.
  3411  //
  3412  //   * LimitExceededException
  3413  //   The request was rejected because it attempted to create resources beyond
  3414  //   the current Amazon Web Services account or throttling limits. The error code
  3415  //   describes the limit exceeded.
  3416  //
  3417  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
  3418  func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
  3419  	req, out := c.GetEnabledStandardsRequest(input)
  3420  	return out, req.Send()
  3421  }
  3422  
  3423  // GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
  3424  // the ability to pass a context and additional request options.
  3425  //
  3426  // See GetEnabledStandards for details on how to use this API operation.
  3427  //
  3428  // The context must be non-nil and will be used for request cancellation. If
  3429  // the context is nil a panic will occur. In the future the SDK may create
  3430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3431  // for more information on using Contexts.
  3432  func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
  3433  	req, out := c.GetEnabledStandardsRequest(input)
  3434  	req.SetContext(ctx)
  3435  	req.ApplyOptions(opts...)
  3436  	return out, req.Send()
  3437  }
  3438  
  3439  // GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
  3440  // calling the "fn" function with the response data for each page. To stop
  3441  // iterating, return false from the fn function.
  3442  //
  3443  // See GetEnabledStandards method for more information on how to use this operation.
  3444  //
  3445  // Note: This operation can generate multiple requests to a service.
  3446  //
  3447  //    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
  3448  //    pageNum := 0
  3449  //    err := client.GetEnabledStandardsPages(params,
  3450  //        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
  3451  //            pageNum++
  3452  //            fmt.Println(page)
  3453  //            return pageNum <= 3
  3454  //        })
  3455  //
  3456  func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
  3457  	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
  3458  }
  3459  
  3460  // GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
  3461  // it takes a Context and allows setting request options on the pages.
  3462  //
  3463  // The context must be non-nil and will be used for request cancellation. If
  3464  // the context is nil a panic will occur. In the future the SDK may create
  3465  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3466  // for more information on using Contexts.
  3467  func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
  3468  	p := request.Pagination{
  3469  		NewRequest: func() (*request.Request, error) {
  3470  			var inCpy *GetEnabledStandardsInput
  3471  			if input != nil {
  3472  				tmp := *input
  3473  				inCpy = &tmp
  3474  			}
  3475  			req, _ := c.GetEnabledStandardsRequest(inCpy)
  3476  			req.SetContext(ctx)
  3477  			req.ApplyOptions(opts...)
  3478  			return req, nil
  3479  		},
  3480  	}
  3481  
  3482  	for p.Next() {
  3483  		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
  3484  			break
  3485  		}
  3486  	}
  3487  
  3488  	return p.Err()
  3489  }
  3490  
  3491  const opGetFindings = "GetFindings"
  3492  
  3493  // GetFindingsRequest generates a "aws/request.Request" representing the
  3494  // client's request for the GetFindings operation. The "output" return
  3495  // value will be populated with the request's response once the request completes
  3496  // successfully.
  3497  //
  3498  // Use "Send" method on the returned Request to send the API call to the service.
  3499  // the "output" return value is not valid until after Send returns without error.
  3500  //
  3501  // See GetFindings for more information on using the GetFindings
  3502  // API call, and error handling.
  3503  //
  3504  // This method is useful when you want to inject custom logic or configuration
  3505  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3506  //
  3507  //
  3508  //    // Example sending a request using the GetFindingsRequest method.
  3509  //    req, resp := client.GetFindingsRequest(params)
  3510  //
  3511  //    err := req.Send()
  3512  //    if err == nil { // resp is now filled
  3513  //        fmt.Println(resp)
  3514  //    }
  3515  //
  3516  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
  3517  func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
  3518  	op := &request.Operation{
  3519  		Name:       opGetFindings,
  3520  		HTTPMethod: "POST",
  3521  		HTTPPath:   "/findings",
  3522  		Paginator: &request.Paginator{
  3523  			InputTokens:     []string{"NextToken"},
  3524  			OutputTokens:    []string{"NextToken"},
  3525  			LimitToken:      "MaxResults",
  3526  			TruncationToken: "",
  3527  		},
  3528  	}
  3529  
  3530  	if input == nil {
  3531  		input = &GetFindingsInput{}
  3532  	}
  3533  
  3534  	output = &GetFindingsOutput{}
  3535  	req = c.newRequest(op, input, output)
  3536  	return
  3537  }
  3538  
  3539  // GetFindings API operation for AWS SecurityHub.
  3540  //
  3541  // Returns a list of findings that match the specified criteria.
  3542  //
  3543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3544  // with awserr.Error's Code and Message methods to get detailed information about
  3545  // the error.
  3546  //
  3547  // See the AWS API reference guide for AWS SecurityHub's
  3548  // API operation GetFindings for usage and error information.
  3549  //
  3550  // Returned Error Types:
  3551  //   * InternalException
  3552  //   Internal server error.
  3553  //
  3554  //   * InvalidInputException
  3555  //   The request was rejected because you supplied an invalid or out-of-range
  3556  //   value for an input parameter.
  3557  //
  3558  //   * InvalidAccessException
  3559  //   There is an issue with the account used to make the request. Either Security
  3560  //   Hub is not enabled for the account, or the account does not have permission
  3561  //   to perform this action.
  3562  //
  3563  //   * LimitExceededException
  3564  //   The request was rejected because it attempted to create resources beyond
  3565  //   the current Amazon Web Services account or throttling limits. The error code
  3566  //   describes the limit exceeded.
  3567  //
  3568  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
  3569  func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
  3570  	req, out := c.GetFindingsRequest(input)
  3571  	return out, req.Send()
  3572  }
  3573  
  3574  // GetFindingsWithContext is the same as GetFindings with the addition of
  3575  // the ability to pass a context and additional request options.
  3576  //
  3577  // See GetFindings for details on how to use this API operation.
  3578  //
  3579  // The context must be non-nil and will be used for request cancellation. If
  3580  // the context is nil a panic will occur. In the future the SDK may create
  3581  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3582  // for more information on using Contexts.
  3583  func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
  3584  	req, out := c.GetFindingsRequest(input)
  3585  	req.SetContext(ctx)
  3586  	req.ApplyOptions(opts...)
  3587  	return out, req.Send()
  3588  }
  3589  
  3590  // GetFindingsPages iterates over the pages of a GetFindings operation,
  3591  // calling the "fn" function with the response data for each page. To stop
  3592  // iterating, return false from the fn function.
  3593  //
  3594  // See GetFindings method for more information on how to use this operation.
  3595  //
  3596  // Note: This operation can generate multiple requests to a service.
  3597  //
  3598  //    // Example iterating over at most 3 pages of a GetFindings operation.
  3599  //    pageNum := 0
  3600  //    err := client.GetFindingsPages(params,
  3601  //        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
  3602  //            pageNum++
  3603  //            fmt.Println(page)
  3604  //            return pageNum <= 3
  3605  //        })
  3606  //
  3607  func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
  3608  	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
  3609  }
  3610  
  3611  // GetFindingsPagesWithContext same as GetFindingsPages except
  3612  // it takes a Context and allows setting request options on the pages.
  3613  //
  3614  // The context must be non-nil and will be used for request cancellation. If
  3615  // the context is nil a panic will occur. In the future the SDK may create
  3616  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3617  // for more information on using Contexts.
  3618  func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
  3619  	p := request.Pagination{
  3620  		NewRequest: func() (*request.Request, error) {
  3621  			var inCpy *GetFindingsInput
  3622  			if input != nil {
  3623  				tmp := *input
  3624  				inCpy = &tmp
  3625  			}
  3626  			req, _ := c.GetFindingsRequest(inCpy)
  3627  			req.SetContext(ctx)
  3628  			req.ApplyOptions(opts...)
  3629  			return req, nil
  3630  		},
  3631  	}
  3632  
  3633  	for p.Next() {
  3634  		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
  3635  			break
  3636  		}
  3637  	}
  3638  
  3639  	return p.Err()
  3640  }
  3641  
  3642  const opGetInsightResults = "GetInsightResults"
  3643  
  3644  // GetInsightResultsRequest generates a "aws/request.Request" representing the
  3645  // client's request for the GetInsightResults operation. The "output" return
  3646  // value will be populated with the request's response once the request completes
  3647  // successfully.
  3648  //
  3649  // Use "Send" method on the returned Request to send the API call to the service.
  3650  // the "output" return value is not valid until after Send returns without error.
  3651  //
  3652  // See GetInsightResults for more information on using the GetInsightResults
  3653  // API call, and error handling.
  3654  //
  3655  // This method is useful when you want to inject custom logic or configuration
  3656  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3657  //
  3658  //
  3659  //    // Example sending a request using the GetInsightResultsRequest method.
  3660  //    req, resp := client.GetInsightResultsRequest(params)
  3661  //
  3662  //    err := req.Send()
  3663  //    if err == nil { // resp is now filled
  3664  //        fmt.Println(resp)
  3665  //    }
  3666  //
  3667  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
  3668  func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
  3669  	op := &request.Operation{
  3670  		Name:       opGetInsightResults,
  3671  		HTTPMethod: "GET",
  3672  		HTTPPath:   "/insights/results/{InsightArn+}",
  3673  	}
  3674  
  3675  	if input == nil {
  3676  		input = &GetInsightResultsInput{}
  3677  	}
  3678  
  3679  	output = &GetInsightResultsOutput{}
  3680  	req = c.newRequest(op, input, output)
  3681  	return
  3682  }
  3683  
  3684  // GetInsightResults API operation for AWS SecurityHub.
  3685  //
  3686  // Lists the results of the Security Hub insight specified by the insight ARN.
  3687  //
  3688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3689  // with awserr.Error's Code and Message methods to get detailed information about
  3690  // the error.
  3691  //
  3692  // See the AWS API reference guide for AWS SecurityHub's
  3693  // API operation GetInsightResults for usage and error information.
  3694  //
  3695  // Returned Error Types:
  3696  //   * InternalException
  3697  //   Internal server error.
  3698  //
  3699  //   * InvalidInputException
  3700  //   The request was rejected because you supplied an invalid or out-of-range
  3701  //   value for an input parameter.
  3702  //
  3703  //   * InvalidAccessException
  3704  //   There is an issue with the account used to make the request. Either Security
  3705  //   Hub is not enabled for the account, or the account does not have permission
  3706  //   to perform this action.
  3707  //
  3708  //   * LimitExceededException
  3709  //   The request was rejected because it attempted to create resources beyond
  3710  //   the current Amazon Web Services account or throttling limits. The error code
  3711  //   describes the limit exceeded.
  3712  //
  3713  //   * ResourceNotFoundException
  3714  //   The request was rejected because we can't find the specified resource.
  3715  //
  3716  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
  3717  func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
  3718  	req, out := c.GetInsightResultsRequest(input)
  3719  	return out, req.Send()
  3720  }
  3721  
  3722  // GetInsightResultsWithContext is the same as GetInsightResults with the addition of
  3723  // the ability to pass a context and additional request options.
  3724  //
  3725  // See GetInsightResults for details on how to use this API operation.
  3726  //
  3727  // The context must be non-nil and will be used for request cancellation. If
  3728  // the context is nil a panic will occur. In the future the SDK may create
  3729  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3730  // for more information on using Contexts.
  3731  func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
  3732  	req, out := c.GetInsightResultsRequest(input)
  3733  	req.SetContext(ctx)
  3734  	req.ApplyOptions(opts...)
  3735  	return out, req.Send()
  3736  }
  3737  
  3738  const opGetInsights = "GetInsights"
  3739  
  3740  // GetInsightsRequest generates a "aws/request.Request" representing the
  3741  // client's request for the GetInsights operation. The "output" return
  3742  // value will be populated with the request's response once the request completes
  3743  // successfully.
  3744  //
  3745  // Use "Send" method on the returned Request to send the API call to the service.
  3746  // the "output" return value is not valid until after Send returns without error.
  3747  //
  3748  // See GetInsights for more information on using the GetInsights
  3749  // API call, and error handling.
  3750  //
  3751  // This method is useful when you want to inject custom logic or configuration
  3752  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3753  //
  3754  //
  3755  //    // Example sending a request using the GetInsightsRequest method.
  3756  //    req, resp := client.GetInsightsRequest(params)
  3757  //
  3758  //    err := req.Send()
  3759  //    if err == nil { // resp is now filled
  3760  //        fmt.Println(resp)
  3761  //    }
  3762  //
  3763  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
  3764  func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
  3765  	op := &request.Operation{
  3766  		Name:       opGetInsights,
  3767  		HTTPMethod: "POST",
  3768  		HTTPPath:   "/insights/get",
  3769  		Paginator: &request.Paginator{
  3770  			InputTokens:     []string{"NextToken"},
  3771  			OutputTokens:    []string{"NextToken"},
  3772  			LimitToken:      "MaxResults",
  3773  			TruncationToken: "",
  3774  		},
  3775  	}
  3776  
  3777  	if input == nil {
  3778  		input = &GetInsightsInput{}
  3779  	}
  3780  
  3781  	output = &GetInsightsOutput{}
  3782  	req = c.newRequest(op, input, output)
  3783  	return
  3784  }
  3785  
  3786  // GetInsights API operation for AWS SecurityHub.
  3787  //
  3788  // Lists and describes insights for the specified insight ARNs.
  3789  //
  3790  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3791  // with awserr.Error's Code and Message methods to get detailed information about
  3792  // the error.
  3793  //
  3794  // See the AWS API reference guide for AWS SecurityHub's
  3795  // API operation GetInsights for usage and error information.
  3796  //
  3797  // Returned Error Types:
  3798  //   * InternalException
  3799  //   Internal server error.
  3800  //
  3801  //   * InvalidInputException
  3802  //   The request was rejected because you supplied an invalid or out-of-range
  3803  //   value for an input parameter.
  3804  //
  3805  //   * InvalidAccessException
  3806  //   There is an issue with the account used to make the request. Either Security
  3807  //   Hub is not enabled for the account, or the account does not have permission
  3808  //   to perform this action.
  3809  //
  3810  //   * LimitExceededException
  3811  //   The request was rejected because it attempted to create resources beyond
  3812  //   the current Amazon Web Services account or throttling limits. The error code
  3813  //   describes the limit exceeded.
  3814  //
  3815  //   * ResourceNotFoundException
  3816  //   The request was rejected because we can't find the specified resource.
  3817  //
  3818  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
  3819  func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
  3820  	req, out := c.GetInsightsRequest(input)
  3821  	return out, req.Send()
  3822  }
  3823  
  3824  // GetInsightsWithContext is the same as GetInsights with the addition of
  3825  // the ability to pass a context and additional request options.
  3826  //
  3827  // See GetInsights for details on how to use this API operation.
  3828  //
  3829  // The context must be non-nil and will be used for request cancellation. If
  3830  // the context is nil a panic will occur. In the future the SDK may create
  3831  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3832  // for more information on using Contexts.
  3833  func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
  3834  	req, out := c.GetInsightsRequest(input)
  3835  	req.SetContext(ctx)
  3836  	req.ApplyOptions(opts...)
  3837  	return out, req.Send()
  3838  }
  3839  
  3840  // GetInsightsPages iterates over the pages of a GetInsights operation,
  3841  // calling the "fn" function with the response data for each page. To stop
  3842  // iterating, return false from the fn function.
  3843  //
  3844  // See GetInsights method for more information on how to use this operation.
  3845  //
  3846  // Note: This operation can generate multiple requests to a service.
  3847  //
  3848  //    // Example iterating over at most 3 pages of a GetInsights operation.
  3849  //    pageNum := 0
  3850  //    err := client.GetInsightsPages(params,
  3851  //        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
  3852  //            pageNum++
  3853  //            fmt.Println(page)
  3854  //            return pageNum <= 3
  3855  //        })
  3856  //
  3857  func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
  3858  	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
  3859  }
  3860  
  3861  // GetInsightsPagesWithContext same as GetInsightsPages except
  3862  // it takes a Context and allows setting request options on the pages.
  3863  //
  3864  // The context must be non-nil and will be used for request cancellation. If
  3865  // the context is nil a panic will occur. In the future the SDK may create
  3866  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3867  // for more information on using Contexts.
  3868  func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
  3869  	p := request.Pagination{
  3870  		NewRequest: func() (*request.Request, error) {
  3871  			var inCpy *GetInsightsInput
  3872  			if input != nil {
  3873  				tmp := *input
  3874  				inCpy = &tmp
  3875  			}
  3876  			req, _ := c.GetInsightsRequest(inCpy)
  3877  			req.SetContext(ctx)
  3878  			req.ApplyOptions(opts...)
  3879  			return req, nil
  3880  		},
  3881  	}
  3882  
  3883  	for p.Next() {
  3884  		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
  3885  			break
  3886  		}
  3887  	}
  3888  
  3889  	return p.Err()
  3890  }
  3891  
  3892  const opGetInvitationsCount = "GetInvitationsCount"
  3893  
  3894  // GetInvitationsCountRequest generates a "aws/request.Request" representing the
  3895  // client's request for the GetInvitationsCount operation. The "output" return
  3896  // value will be populated with the request's response once the request completes
  3897  // successfully.
  3898  //
  3899  // Use "Send" method on the returned Request to send the API call to the service.
  3900  // the "output" return value is not valid until after Send returns without error.
  3901  //
  3902  // See GetInvitationsCount for more information on using the GetInvitationsCount
  3903  // API call, and error handling.
  3904  //
  3905  // This method is useful when you want to inject custom logic or configuration
  3906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3907  //
  3908  //
  3909  //    // Example sending a request using the GetInvitationsCountRequest method.
  3910  //    req, resp := client.GetInvitationsCountRequest(params)
  3911  //
  3912  //    err := req.Send()
  3913  //    if err == nil { // resp is now filled
  3914  //        fmt.Println(resp)
  3915  //    }
  3916  //
  3917  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
  3918  func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
  3919  	op := &request.Operation{
  3920  		Name:       opGetInvitationsCount,
  3921  		HTTPMethod: "GET",
  3922  		HTTPPath:   "/invitations/count",
  3923  	}
  3924  
  3925  	if input == nil {
  3926  		input = &GetInvitationsCountInput{}
  3927  	}
  3928  
  3929  	output = &GetInvitationsCountOutput{}
  3930  	req = c.newRequest(op, input, output)
  3931  	return
  3932  }
  3933  
  3934  // GetInvitationsCount API operation for AWS SecurityHub.
  3935  //
  3936  // Returns the count of all Security Hub membership invitations that were sent
  3937  // to the current member account, not including the currently accepted invitation.
  3938  //
  3939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3940  // with awserr.Error's Code and Message methods to get detailed information about
  3941  // the error.
  3942  //
  3943  // See the AWS API reference guide for AWS SecurityHub's
  3944  // API operation GetInvitationsCount for usage and error information.
  3945  //
  3946  // Returned Error Types:
  3947  //   * InternalException
  3948  //   Internal server error.
  3949  //
  3950  //   * InvalidInputException
  3951  //   The request was rejected because you supplied an invalid or out-of-range
  3952  //   value for an input parameter.
  3953  //
  3954  //   * InvalidAccessException
  3955  //   There is an issue with the account used to make the request. Either Security
  3956  //   Hub is not enabled for the account, or the account does not have permission
  3957  //   to perform this action.
  3958  //
  3959  //   * LimitExceededException
  3960  //   The request was rejected because it attempted to create resources beyond
  3961  //   the current Amazon Web Services account or throttling limits. The error code
  3962  //   describes the limit exceeded.
  3963  //
  3964  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
  3965  func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
  3966  	req, out := c.GetInvitationsCountRequest(input)
  3967  	return out, req.Send()
  3968  }
  3969  
  3970  // GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
  3971  // the ability to pass a context and additional request options.
  3972  //
  3973  // See GetInvitationsCount for details on how to use this API operation.
  3974  //
  3975  // The context must be non-nil and will be used for request cancellation. If
  3976  // the context is nil a panic will occur. In the future the SDK may create
  3977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3978  // for more information on using Contexts.
  3979  func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
  3980  	req, out := c.GetInvitationsCountRequest(input)
  3981  	req.SetContext(ctx)
  3982  	req.ApplyOptions(opts...)
  3983  	return out, req.Send()
  3984  }
  3985  
  3986  const opGetMasterAccount = "GetMasterAccount"
  3987  
  3988  // GetMasterAccountRequest generates a "aws/request.Request" representing the
  3989  // client's request for the GetMasterAccount operation. The "output" return
  3990  // value will be populated with the request's response once the request completes
  3991  // successfully.
  3992  //
  3993  // Use "Send" method on the returned Request to send the API call to the service.
  3994  // the "output" return value is not valid until after Send returns without error.
  3995  //
  3996  // See GetMasterAccount for more information on using the GetMasterAccount
  3997  // API call, and error handling.
  3998  //
  3999  // This method is useful when you want to inject custom logic or configuration
  4000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4001  //
  4002  //
  4003  //    // Example sending a request using the GetMasterAccountRequest method.
  4004  //    req, resp := client.GetMasterAccountRequest(params)
  4005  //
  4006  //    err := req.Send()
  4007  //    if err == nil { // resp is now filled
  4008  //        fmt.Println(resp)
  4009  //    }
  4010  //
  4011  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
  4012  //
  4013  // Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
  4014  func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
  4015  	if c.Client.Config.Logger != nil {
  4016  		c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated")
  4017  	}
  4018  	op := &request.Operation{
  4019  		Name:       opGetMasterAccount,
  4020  		HTTPMethod: "GET",
  4021  		HTTPPath:   "/master",
  4022  	}
  4023  
  4024  	if input == nil {
  4025  		input = &GetMasterAccountInput{}
  4026  	}
  4027  
  4028  	output = &GetMasterAccountOutput{}
  4029  	req = c.newRequest(op, input, output)
  4030  	return
  4031  }
  4032  
  4033  // GetMasterAccount API operation for AWS SecurityHub.
  4034  //
  4035  // This method is deprecated. Instead, use GetAdministratorAccount.
  4036  //
  4037  // The Security Hub console continues to use GetMasterAccount. It will eventually
  4038  // change to use GetAdministratorAccount. Any IAM policies that specifically
  4039  // control access to this function must continue to use GetMasterAccount. You
  4040  // should also add GetAdministratorAccount to your policies to ensure that the
  4041  // correct permissions are in place after the console begins to use GetAdministratorAccount.
  4042  //
  4043  // Provides the details for the Security Hub administrator account for the current
  4044  // member account.
  4045  //
  4046  // Can be used by both member accounts that are managed using Organizations
  4047  // and accounts that were invited manually.
  4048  //
  4049  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4050  // with awserr.Error's Code and Message methods to get detailed information about
  4051  // the error.
  4052  //
  4053  // See the AWS API reference guide for AWS SecurityHub's
  4054  // API operation GetMasterAccount for usage and error information.
  4055  //
  4056  // Returned Error Types:
  4057  //   * InternalException
  4058  //   Internal server error.
  4059  //
  4060  //   * InvalidInputException
  4061  //   The request was rejected because you supplied an invalid or out-of-range
  4062  //   value for an input parameter.
  4063  //
  4064  //   * InvalidAccessException
  4065  //   There is an issue with the account used to make the request. Either Security
  4066  //   Hub is not enabled for the account, or the account does not have permission
  4067  //   to perform this action.
  4068  //
  4069  //   * LimitExceededException
  4070  //   The request was rejected because it attempted to create resources beyond
  4071  //   the current Amazon Web Services account or throttling limits. The error code
  4072  //   describes the limit exceeded.
  4073  //
  4074  //   * ResourceNotFoundException
  4075  //   The request was rejected because we can't find the specified resource.
  4076  //
  4077  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
  4078  //
  4079  // Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
  4080  func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
  4081  	req, out := c.GetMasterAccountRequest(input)
  4082  	return out, req.Send()
  4083  }
  4084  
  4085  // GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
  4086  // the ability to pass a context and additional request options.
  4087  //
  4088  // See GetMasterAccount for details on how to use this API operation.
  4089  //
  4090  // The context must be non-nil and will be used for request cancellation. If
  4091  // the context is nil a panic will occur. In the future the SDK may create
  4092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4093  // for more information on using Contexts.
  4094  //
  4095  // Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
  4096  func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
  4097  	req, out := c.GetMasterAccountRequest(input)
  4098  	req.SetContext(ctx)
  4099  	req.ApplyOptions(opts...)
  4100  	return out, req.Send()
  4101  }
  4102  
  4103  const opGetMembers = "GetMembers"
  4104  
  4105  // GetMembersRequest generates a "aws/request.Request" representing the
  4106  // client's request for the GetMembers operation. The "output" return
  4107  // value will be populated with the request's response once the request completes
  4108  // successfully.
  4109  //
  4110  // Use "Send" method on the returned Request to send the API call to the service.
  4111  // the "output" return value is not valid until after Send returns without error.
  4112  //
  4113  // See GetMembers for more information on using the GetMembers
  4114  // API call, and error handling.
  4115  //
  4116  // This method is useful when you want to inject custom logic or configuration
  4117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4118  //
  4119  //
  4120  //    // Example sending a request using the GetMembersRequest method.
  4121  //    req, resp := client.GetMembersRequest(params)
  4122  //
  4123  //    err := req.Send()
  4124  //    if err == nil { // resp is now filled
  4125  //        fmt.Println(resp)
  4126  //    }
  4127  //
  4128  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
  4129  func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
  4130  	op := &request.Operation{
  4131  		Name:       opGetMembers,
  4132  		HTTPMethod: "POST",
  4133  		HTTPPath:   "/members/get",
  4134  	}
  4135  
  4136  	if input == nil {
  4137  		input = &GetMembersInput{}
  4138  	}
  4139  
  4140  	output = &GetMembersOutput{}
  4141  	req = c.newRequest(op, input, output)
  4142  	return
  4143  }
  4144  
  4145  // GetMembers API operation for AWS SecurityHub.
  4146  //
  4147  // Returns the details for the Security Hub member accounts for the specified
  4148  // account IDs.
  4149  //
  4150  // An administrator account can be either the delegated Security Hub administrator
  4151  // account for an organization or an administrator account that enabled Security
  4152  // Hub manually.
  4153  //
  4154  // The results include both member accounts that are managed using Organizations
  4155  // and accounts that were invited manually.
  4156  //
  4157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4158  // with awserr.Error's Code and Message methods to get detailed information about
  4159  // the error.
  4160  //
  4161  // See the AWS API reference guide for AWS SecurityHub's
  4162  // API operation GetMembers for usage and error information.
  4163  //
  4164  // Returned Error Types:
  4165  //   * InternalException
  4166  //   Internal server error.
  4167  //
  4168  //   * InvalidInputException
  4169  //   The request was rejected because you supplied an invalid or out-of-range
  4170  //   value for an input parameter.
  4171  //
  4172  //   * InvalidAccessException
  4173  //   There is an issue with the account used to make the request. Either Security
  4174  //   Hub is not enabled for the account, or the account does not have permission
  4175  //   to perform this action.
  4176  //
  4177  //   * LimitExceededException
  4178  //   The request was rejected because it attempted to create resources beyond
  4179  //   the current Amazon Web Services account or throttling limits. The error code
  4180  //   describes the limit exceeded.
  4181  //
  4182  //   * ResourceNotFoundException
  4183  //   The request was rejected because we can't find the specified resource.
  4184  //
  4185  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
  4186  func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
  4187  	req, out := c.GetMembersRequest(input)
  4188  	return out, req.Send()
  4189  }
  4190  
  4191  // GetMembersWithContext is the same as GetMembers with the addition of
  4192  // the ability to pass a context and additional request options.
  4193  //
  4194  // See GetMembers for details on how to use this API operation.
  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 *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
  4201  	req, out := c.GetMembersRequest(input)
  4202  	req.SetContext(ctx)
  4203  	req.ApplyOptions(opts...)
  4204  	return out, req.Send()
  4205  }
  4206  
  4207  const opInviteMembers = "InviteMembers"
  4208  
  4209  // InviteMembersRequest generates a "aws/request.Request" representing the
  4210  // client's request for the InviteMembers operation. The "output" return
  4211  // value will be populated with the request's response once the request completes
  4212  // successfully.
  4213  //
  4214  // Use "Send" method on the returned Request to send the API call to the service.
  4215  // the "output" return value is not valid until after Send returns without error.
  4216  //
  4217  // See InviteMembers for more information on using the InviteMembers
  4218  // API call, and error handling.
  4219  //
  4220  // This method is useful when you want to inject custom logic or configuration
  4221  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4222  //
  4223  //
  4224  //    // Example sending a request using the InviteMembersRequest method.
  4225  //    req, resp := client.InviteMembersRequest(params)
  4226  //
  4227  //    err := req.Send()
  4228  //    if err == nil { // resp is now filled
  4229  //        fmt.Println(resp)
  4230  //    }
  4231  //
  4232  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
  4233  func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
  4234  	op := &request.Operation{
  4235  		Name:       opInviteMembers,
  4236  		HTTPMethod: "POST",
  4237  		HTTPPath:   "/members/invite",
  4238  	}
  4239  
  4240  	if input == nil {
  4241  		input = &InviteMembersInput{}
  4242  	}
  4243  
  4244  	output = &InviteMembersOutput{}
  4245  	req = c.newRequest(op, input, output)
  4246  	return
  4247  }
  4248  
  4249  // InviteMembers API operation for AWS SecurityHub.
  4250  //
  4251  // Invites other Amazon Web Services accounts to become member accounts for
  4252  // the Security Hub administrator account that the invitation is sent from.
  4253  //
  4254  // This operation is only used to invite accounts that do not belong to an organization.
  4255  // Organization accounts do not receive invitations.
  4256  //
  4257  // Before you can use this action to invite a member, you must first use the
  4258  // CreateMembers action to create the member account in Security Hub.
  4259  //
  4260  // When the account owner enables Security Hub and accepts the invitation to
  4261  // become a member account, the administrator account can view the findings
  4262  // generated from the member account.
  4263  //
  4264  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4265  // with awserr.Error's Code and Message methods to get detailed information about
  4266  // the error.
  4267  //
  4268  // See the AWS API reference guide for AWS SecurityHub's
  4269  // API operation InviteMembers for usage and error information.
  4270  //
  4271  // Returned Error Types:
  4272  //   * InternalException
  4273  //   Internal server error.
  4274  //
  4275  //   * InvalidInputException
  4276  //   The request was rejected because you supplied an invalid or out-of-range
  4277  //   value for an input parameter.
  4278  //
  4279  //   * InvalidAccessException
  4280  //   There is an issue with the account used to make the request. Either Security
  4281  //   Hub is not enabled for the account, or the account does not have permission
  4282  //   to perform this action.
  4283  //
  4284  //   * LimitExceededException
  4285  //   The request was rejected because it attempted to create resources beyond
  4286  //   the current Amazon Web Services account or throttling limits. The error code
  4287  //   describes the limit exceeded.
  4288  //
  4289  //   * ResourceNotFoundException
  4290  //   The request was rejected because we can't find the specified resource.
  4291  //
  4292  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
  4293  func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
  4294  	req, out := c.InviteMembersRequest(input)
  4295  	return out, req.Send()
  4296  }
  4297  
  4298  // InviteMembersWithContext is the same as InviteMembers with the addition of
  4299  // the ability to pass a context and additional request options.
  4300  //
  4301  // See InviteMembers for details on how to use this API operation.
  4302  //
  4303  // The context must be non-nil and will be used for request cancellation. If
  4304  // the context is nil a panic will occur. In the future the SDK may create
  4305  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4306  // for more information on using Contexts.
  4307  func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
  4308  	req, out := c.InviteMembersRequest(input)
  4309  	req.SetContext(ctx)
  4310  	req.ApplyOptions(opts...)
  4311  	return out, req.Send()
  4312  }
  4313  
  4314  const opListEnabledProductsForImport = "ListEnabledProductsForImport"
  4315  
  4316  // ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
  4317  // client's request for the ListEnabledProductsForImport operation. The "output" return
  4318  // value will be populated with the request's response once the request completes
  4319  // successfully.
  4320  //
  4321  // Use "Send" method on the returned Request to send the API call to the service.
  4322  // the "output" return value is not valid until after Send returns without error.
  4323  //
  4324  // See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
  4325  // API call, and error handling.
  4326  //
  4327  // This method is useful when you want to inject custom logic or configuration
  4328  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4329  //
  4330  //
  4331  //    // Example sending a request using the ListEnabledProductsForImportRequest method.
  4332  //    req, resp := client.ListEnabledProductsForImportRequest(params)
  4333  //
  4334  //    err := req.Send()
  4335  //    if err == nil { // resp is now filled
  4336  //        fmt.Println(resp)
  4337  //    }
  4338  //
  4339  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
  4340  func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
  4341  	op := &request.Operation{
  4342  		Name:       opListEnabledProductsForImport,
  4343  		HTTPMethod: "GET",
  4344  		HTTPPath:   "/productSubscriptions",
  4345  		Paginator: &request.Paginator{
  4346  			InputTokens:     []string{"NextToken"},
  4347  			OutputTokens:    []string{"NextToken"},
  4348  			LimitToken:      "MaxResults",
  4349  			TruncationToken: "",
  4350  		},
  4351  	}
  4352  
  4353  	if input == nil {
  4354  		input = &ListEnabledProductsForImportInput{}
  4355  	}
  4356  
  4357  	output = &ListEnabledProductsForImportOutput{}
  4358  	req = c.newRequest(op, input, output)
  4359  	return
  4360  }
  4361  
  4362  // ListEnabledProductsForImport API operation for AWS SecurityHub.
  4363  //
  4364  // Lists all findings-generating solutions (products) that you are subscribed
  4365  // to receive findings from in Security Hub.
  4366  //
  4367  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4368  // with awserr.Error's Code and Message methods to get detailed information about
  4369  // the error.
  4370  //
  4371  // See the AWS API reference guide for AWS SecurityHub's
  4372  // API operation ListEnabledProductsForImport for usage and error information.
  4373  //
  4374  // Returned Error Types:
  4375  //   * InternalException
  4376  //   Internal server error.
  4377  //
  4378  //   * LimitExceededException
  4379  //   The request was rejected because it attempted to create resources beyond
  4380  //   the current Amazon Web Services account or throttling limits. The error code
  4381  //   describes the limit exceeded.
  4382  //
  4383  //   * InvalidAccessException
  4384  //   There is an issue with the account used to make the request. Either Security
  4385  //   Hub is not enabled for the account, or the account does not have permission
  4386  //   to perform this action.
  4387  //
  4388  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
  4389  func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
  4390  	req, out := c.ListEnabledProductsForImportRequest(input)
  4391  	return out, req.Send()
  4392  }
  4393  
  4394  // ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
  4395  // the ability to pass a context and additional request options.
  4396  //
  4397  // See ListEnabledProductsForImport for details on how to use this API operation.
  4398  //
  4399  // The context must be non-nil and will be used for request cancellation. If
  4400  // the context is nil a panic will occur. In the future the SDK may create
  4401  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4402  // for more information on using Contexts.
  4403  func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
  4404  	req, out := c.ListEnabledProductsForImportRequest(input)
  4405  	req.SetContext(ctx)
  4406  	req.ApplyOptions(opts...)
  4407  	return out, req.Send()
  4408  }
  4409  
  4410  // ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
  4411  // calling the "fn" function with the response data for each page. To stop
  4412  // iterating, return false from the fn function.
  4413  //
  4414  // See ListEnabledProductsForImport method for more information on how to use this operation.
  4415  //
  4416  // Note: This operation can generate multiple requests to a service.
  4417  //
  4418  //    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
  4419  //    pageNum := 0
  4420  //    err := client.ListEnabledProductsForImportPages(params,
  4421  //        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
  4422  //            pageNum++
  4423  //            fmt.Println(page)
  4424  //            return pageNum <= 3
  4425  //        })
  4426  //
  4427  func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
  4428  	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
  4429  }
  4430  
  4431  // ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
  4432  // it takes a Context and allows setting request options on the pages.
  4433  //
  4434  // The context must be non-nil and will be used for request cancellation. If
  4435  // the context is nil a panic will occur. In the future the SDK may create
  4436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4437  // for more information on using Contexts.
  4438  func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
  4439  	p := request.Pagination{
  4440  		NewRequest: func() (*request.Request, error) {
  4441  			var inCpy *ListEnabledProductsForImportInput
  4442  			if input != nil {
  4443  				tmp := *input
  4444  				inCpy = &tmp
  4445  			}
  4446  			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
  4447  			req.SetContext(ctx)
  4448  			req.ApplyOptions(opts...)
  4449  			return req, nil
  4450  		},
  4451  	}
  4452  
  4453  	for p.Next() {
  4454  		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
  4455  			break
  4456  		}
  4457  	}
  4458  
  4459  	return p.Err()
  4460  }
  4461  
  4462  const opListInvitations = "ListInvitations"
  4463  
  4464  // ListInvitationsRequest generates a "aws/request.Request" representing the
  4465  // client's request for the ListInvitations operation. The "output" return
  4466  // value will be populated with the request's response once the request completes
  4467  // successfully.
  4468  //
  4469  // Use "Send" method on the returned Request to send the API call to the service.
  4470  // the "output" return value is not valid until after Send returns without error.
  4471  //
  4472  // See ListInvitations for more information on using the ListInvitations
  4473  // API call, and error handling.
  4474  //
  4475  // This method is useful when you want to inject custom logic or configuration
  4476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4477  //
  4478  //
  4479  //    // Example sending a request using the ListInvitationsRequest method.
  4480  //    req, resp := client.ListInvitationsRequest(params)
  4481  //
  4482  //    err := req.Send()
  4483  //    if err == nil { // resp is now filled
  4484  //        fmt.Println(resp)
  4485  //    }
  4486  //
  4487  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
  4488  func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
  4489  	op := &request.Operation{
  4490  		Name:       opListInvitations,
  4491  		HTTPMethod: "GET",
  4492  		HTTPPath:   "/invitations",
  4493  		Paginator: &request.Paginator{
  4494  			InputTokens:     []string{"NextToken"},
  4495  			OutputTokens:    []string{"NextToken"},
  4496  			LimitToken:      "MaxResults",
  4497  			TruncationToken: "",
  4498  		},
  4499  	}
  4500  
  4501  	if input == nil {
  4502  		input = &ListInvitationsInput{}
  4503  	}
  4504  
  4505  	output = &ListInvitationsOutput{}
  4506  	req = c.newRequest(op, input, output)
  4507  	return
  4508  }
  4509  
  4510  // ListInvitations API operation for AWS SecurityHub.
  4511  //
  4512  // Lists all Security Hub membership invitations that were sent to the current
  4513  // Amazon Web Services account.
  4514  //
  4515  // This operation is only used by accounts that are managed by invitation. Accounts
  4516  // that are managed using the integration with Organizations do not receive
  4517  // invitations.
  4518  //
  4519  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4520  // with awserr.Error's Code and Message methods to get detailed information about
  4521  // the error.
  4522  //
  4523  // See the AWS API reference guide for AWS SecurityHub's
  4524  // API operation ListInvitations for usage and error information.
  4525  //
  4526  // Returned Error Types:
  4527  //   * InternalException
  4528  //   Internal server error.
  4529  //
  4530  //   * InvalidInputException
  4531  //   The request was rejected because you supplied an invalid or out-of-range
  4532  //   value for an input parameter.
  4533  //
  4534  //   * InvalidAccessException
  4535  //   There is an issue with the account used to make the request. Either Security
  4536  //   Hub is not enabled for the account, or the account does not have permission
  4537  //   to perform this action.
  4538  //
  4539  //   * LimitExceededException
  4540  //   The request was rejected because it attempted to create resources beyond
  4541  //   the current Amazon Web Services account or throttling limits. The error code
  4542  //   describes the limit exceeded.
  4543  //
  4544  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
  4545  func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
  4546  	req, out := c.ListInvitationsRequest(input)
  4547  	return out, req.Send()
  4548  }
  4549  
  4550  // ListInvitationsWithContext is the same as ListInvitations with the addition of
  4551  // the ability to pass a context and additional request options.
  4552  //
  4553  // See ListInvitations for details on how to use this API operation.
  4554  //
  4555  // The context must be non-nil and will be used for request cancellation. If
  4556  // the context is nil a panic will occur. In the future the SDK may create
  4557  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4558  // for more information on using Contexts.
  4559  func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
  4560  	req, out := c.ListInvitationsRequest(input)
  4561  	req.SetContext(ctx)
  4562  	req.ApplyOptions(opts...)
  4563  	return out, req.Send()
  4564  }
  4565  
  4566  // ListInvitationsPages iterates over the pages of a ListInvitations operation,
  4567  // calling the "fn" function with the response data for each page. To stop
  4568  // iterating, return false from the fn function.
  4569  //
  4570  // See ListInvitations method for more information on how to use this operation.
  4571  //
  4572  // Note: This operation can generate multiple requests to a service.
  4573  //
  4574  //    // Example iterating over at most 3 pages of a ListInvitations operation.
  4575  //    pageNum := 0
  4576  //    err := client.ListInvitationsPages(params,
  4577  //        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
  4578  //            pageNum++
  4579  //            fmt.Println(page)
  4580  //            return pageNum <= 3
  4581  //        })
  4582  //
  4583  func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
  4584  	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
  4585  }
  4586  
  4587  // ListInvitationsPagesWithContext same as ListInvitationsPages except
  4588  // it takes a Context and allows setting request options on the pages.
  4589  //
  4590  // The context must be non-nil and will be used for request cancellation. If
  4591  // the context is nil a panic will occur. In the future the SDK may create
  4592  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4593  // for more information on using Contexts.
  4594  func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
  4595  	p := request.Pagination{
  4596  		NewRequest: func() (*request.Request, error) {
  4597  			var inCpy *ListInvitationsInput
  4598  			if input != nil {
  4599  				tmp := *input
  4600  				inCpy = &tmp
  4601  			}
  4602  			req, _ := c.ListInvitationsRequest(inCpy)
  4603  			req.SetContext(ctx)
  4604  			req.ApplyOptions(opts...)
  4605  			return req, nil
  4606  		},
  4607  	}
  4608  
  4609  	for p.Next() {
  4610  		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
  4611  			break
  4612  		}
  4613  	}
  4614  
  4615  	return p.Err()
  4616  }
  4617  
  4618  const opListMembers = "ListMembers"
  4619  
  4620  // ListMembersRequest generates a "aws/request.Request" representing the
  4621  // client's request for the ListMembers operation. The "output" return
  4622  // value will be populated with the request's response once the request completes
  4623  // successfully.
  4624  //
  4625  // Use "Send" method on the returned Request to send the API call to the service.
  4626  // the "output" return value is not valid until after Send returns without error.
  4627  //
  4628  // See ListMembers for more information on using the ListMembers
  4629  // API call, and error handling.
  4630  //
  4631  // This method is useful when you want to inject custom logic or configuration
  4632  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4633  //
  4634  //
  4635  //    // Example sending a request using the ListMembersRequest method.
  4636  //    req, resp := client.ListMembersRequest(params)
  4637  //
  4638  //    err := req.Send()
  4639  //    if err == nil { // resp is now filled
  4640  //        fmt.Println(resp)
  4641  //    }
  4642  //
  4643  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
  4644  func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
  4645  	op := &request.Operation{
  4646  		Name:       opListMembers,
  4647  		HTTPMethod: "GET",
  4648  		HTTPPath:   "/members",
  4649  		Paginator: &request.Paginator{
  4650  			InputTokens:     []string{"NextToken"},
  4651  			OutputTokens:    []string{"NextToken"},
  4652  			LimitToken:      "MaxResults",
  4653  			TruncationToken: "",
  4654  		},
  4655  	}
  4656  
  4657  	if input == nil {
  4658  		input = &ListMembersInput{}
  4659  	}
  4660  
  4661  	output = &ListMembersOutput{}
  4662  	req = c.newRequest(op, input, output)
  4663  	return
  4664  }
  4665  
  4666  // ListMembers API operation for AWS SecurityHub.
  4667  //
  4668  // Lists details about all member accounts for the current Security Hub administrator
  4669  // account.
  4670  //
  4671  // The results include both member accounts that belong to an organization and
  4672  // member accounts that were invited manually.
  4673  //
  4674  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4675  // with awserr.Error's Code and Message methods to get detailed information about
  4676  // the error.
  4677  //
  4678  // See the AWS API reference guide for AWS SecurityHub's
  4679  // API operation ListMembers for usage and error information.
  4680  //
  4681  // Returned Error Types:
  4682  //   * InternalException
  4683  //   Internal server error.
  4684  //
  4685  //   * InvalidInputException
  4686  //   The request was rejected because you supplied an invalid or out-of-range
  4687  //   value for an input parameter.
  4688  //
  4689  //   * InvalidAccessException
  4690  //   There is an issue with the account used to make the request. Either Security
  4691  //   Hub is not enabled for the account, or the account does not have permission
  4692  //   to perform this action.
  4693  //
  4694  //   * LimitExceededException
  4695  //   The request was rejected because it attempted to create resources beyond
  4696  //   the current Amazon Web Services account or throttling limits. The error code
  4697  //   describes the limit exceeded.
  4698  //
  4699  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
  4700  func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
  4701  	req, out := c.ListMembersRequest(input)
  4702  	return out, req.Send()
  4703  }
  4704  
  4705  // ListMembersWithContext is the same as ListMembers with the addition of
  4706  // the ability to pass a context and additional request options.
  4707  //
  4708  // See ListMembers for details on how to use this API operation.
  4709  //
  4710  // The context must be non-nil and will be used for request cancellation. If
  4711  // the context is nil a panic will occur. In the future the SDK may create
  4712  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4713  // for more information on using Contexts.
  4714  func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
  4715  	req, out := c.ListMembersRequest(input)
  4716  	req.SetContext(ctx)
  4717  	req.ApplyOptions(opts...)
  4718  	return out, req.Send()
  4719  }
  4720  
  4721  // ListMembersPages iterates over the pages of a ListMembers operation,
  4722  // calling the "fn" function with the response data for each page. To stop
  4723  // iterating, return false from the fn function.
  4724  //
  4725  // See ListMembers method for more information on how to use this operation.
  4726  //
  4727  // Note: This operation can generate multiple requests to a service.
  4728  //
  4729  //    // Example iterating over at most 3 pages of a ListMembers operation.
  4730  //    pageNum := 0
  4731  //    err := client.ListMembersPages(params,
  4732  //        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
  4733  //            pageNum++
  4734  //            fmt.Println(page)
  4735  //            return pageNum <= 3
  4736  //        })
  4737  //
  4738  func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
  4739  	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
  4740  }
  4741  
  4742  // ListMembersPagesWithContext same as ListMembersPages except
  4743  // it takes a Context and allows setting request options on the pages.
  4744  //
  4745  // The context must be non-nil and will be used for request cancellation. If
  4746  // the context is nil a panic will occur. In the future the SDK may create
  4747  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4748  // for more information on using Contexts.
  4749  func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
  4750  	p := request.Pagination{
  4751  		NewRequest: func() (*request.Request, error) {
  4752  			var inCpy *ListMembersInput
  4753  			if input != nil {
  4754  				tmp := *input
  4755  				inCpy = &tmp
  4756  			}
  4757  			req, _ := c.ListMembersRequest(inCpy)
  4758  			req.SetContext(ctx)
  4759  			req.ApplyOptions(opts...)
  4760  			return req, nil
  4761  		},
  4762  	}
  4763  
  4764  	for p.Next() {
  4765  		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
  4766  			break
  4767  		}
  4768  	}
  4769  
  4770  	return p.Err()
  4771  }
  4772  
  4773  const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
  4774  
  4775  // ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
  4776  // client's request for the ListOrganizationAdminAccounts operation. The "output" return
  4777  // value will be populated with the request's response once the request completes
  4778  // successfully.
  4779  //
  4780  // Use "Send" method on the returned Request to send the API call to the service.
  4781  // the "output" return value is not valid until after Send returns without error.
  4782  //
  4783  // See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
  4784  // API call, and error handling.
  4785  //
  4786  // This method is useful when you want to inject custom logic or configuration
  4787  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4788  //
  4789  //
  4790  //    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
  4791  //    req, resp := client.ListOrganizationAdminAccountsRequest(params)
  4792  //
  4793  //    err := req.Send()
  4794  //    if err == nil { // resp is now filled
  4795  //        fmt.Println(resp)
  4796  //    }
  4797  //
  4798  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
  4799  func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
  4800  	op := &request.Operation{
  4801  		Name:       opListOrganizationAdminAccounts,
  4802  		HTTPMethod: "GET",
  4803  		HTTPPath:   "/organization/admin",
  4804  		Paginator: &request.Paginator{
  4805  			InputTokens:     []string{"NextToken"},
  4806  			OutputTokens:    []string{"NextToken"},
  4807  			LimitToken:      "MaxResults",
  4808  			TruncationToken: "",
  4809  		},
  4810  	}
  4811  
  4812  	if input == nil {
  4813  		input = &ListOrganizationAdminAccountsInput{}
  4814  	}
  4815  
  4816  	output = &ListOrganizationAdminAccountsOutput{}
  4817  	req = c.newRequest(op, input, output)
  4818  	return
  4819  }
  4820  
  4821  // ListOrganizationAdminAccounts API operation for AWS SecurityHub.
  4822  //
  4823  // Lists the Security Hub administrator accounts. Can only be called by the
  4824  // organization management account.
  4825  //
  4826  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4827  // with awserr.Error's Code and Message methods to get detailed information about
  4828  // the error.
  4829  //
  4830  // See the AWS API reference guide for AWS SecurityHub's
  4831  // API operation ListOrganizationAdminAccounts for usage and error information.
  4832  //
  4833  // Returned Error Types:
  4834  //   * InternalException
  4835  //   Internal server error.
  4836  //
  4837  //   * InvalidInputException
  4838  //   The request was rejected because you supplied an invalid or out-of-range
  4839  //   value for an input parameter.
  4840  //
  4841  //   * InvalidAccessException
  4842  //   There is an issue with the account used to make the request. Either Security
  4843  //   Hub is not enabled for the account, or the account does not have permission
  4844  //   to perform this action.
  4845  //
  4846  //   * LimitExceededException
  4847  //   The request was rejected because it attempted to create resources beyond
  4848  //   the current Amazon Web Services account or throttling limits. The error code
  4849  //   describes the limit exceeded.
  4850  //
  4851  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
  4852  func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
  4853  	req, out := c.ListOrganizationAdminAccountsRequest(input)
  4854  	return out, req.Send()
  4855  }
  4856  
  4857  // ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
  4858  // the ability to pass a context and additional request options.
  4859  //
  4860  // See ListOrganizationAdminAccounts for details on how to use this API operation.
  4861  //
  4862  // The context must be non-nil and will be used for request cancellation. If
  4863  // the context is nil a panic will occur. In the future the SDK may create
  4864  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4865  // for more information on using Contexts.
  4866  func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
  4867  	req, out := c.ListOrganizationAdminAccountsRequest(input)
  4868  	req.SetContext(ctx)
  4869  	req.ApplyOptions(opts...)
  4870  	return out, req.Send()
  4871  }
  4872  
  4873  // ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
  4874  // calling the "fn" function with the response data for each page. To stop
  4875  // iterating, return false from the fn function.
  4876  //
  4877  // See ListOrganizationAdminAccounts method for more information on how to use this operation.
  4878  //
  4879  // Note: This operation can generate multiple requests to a service.
  4880  //
  4881  //    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
  4882  //    pageNum := 0
  4883  //    err := client.ListOrganizationAdminAccountsPages(params,
  4884  //        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
  4885  //            pageNum++
  4886  //            fmt.Println(page)
  4887  //            return pageNum <= 3
  4888  //        })
  4889  //
  4890  func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
  4891  	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
  4892  }
  4893  
  4894  // ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
  4895  // it takes a Context and allows setting request options on the pages.
  4896  //
  4897  // The context must be non-nil and will be used for request cancellation. If
  4898  // the context is nil a panic will occur. In the future the SDK may create
  4899  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4900  // for more information on using Contexts.
  4901  func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
  4902  	p := request.Pagination{
  4903  		NewRequest: func() (*request.Request, error) {
  4904  			var inCpy *ListOrganizationAdminAccountsInput
  4905  			if input != nil {
  4906  				tmp := *input
  4907  				inCpy = &tmp
  4908  			}
  4909  			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
  4910  			req.SetContext(ctx)
  4911  			req.ApplyOptions(opts...)
  4912  			return req, nil
  4913  		},
  4914  	}
  4915  
  4916  	for p.Next() {
  4917  		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
  4918  			break
  4919  		}
  4920  	}
  4921  
  4922  	return p.Err()
  4923  }
  4924  
  4925  const opListTagsForResource = "ListTagsForResource"
  4926  
  4927  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4928  // client's request for the ListTagsForResource operation. The "output" return
  4929  // value will be populated with the request's response once the request completes
  4930  // successfully.
  4931  //
  4932  // Use "Send" method on the returned Request to send the API call to the service.
  4933  // the "output" return value is not valid until after Send returns without error.
  4934  //
  4935  // See ListTagsForResource for more information on using the ListTagsForResource
  4936  // API call, and error handling.
  4937  //
  4938  // This method is useful when you want to inject custom logic or configuration
  4939  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4940  //
  4941  //
  4942  //    // Example sending a request using the ListTagsForResourceRequest method.
  4943  //    req, resp := client.ListTagsForResourceRequest(params)
  4944  //
  4945  //    err := req.Send()
  4946  //    if err == nil { // resp is now filled
  4947  //        fmt.Println(resp)
  4948  //    }
  4949  //
  4950  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
  4951  func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4952  	op := &request.Operation{
  4953  		Name:       opListTagsForResource,
  4954  		HTTPMethod: "GET",
  4955  		HTTPPath:   "/tags/{ResourceArn}",
  4956  	}
  4957  
  4958  	if input == nil {
  4959  		input = &ListTagsForResourceInput{}
  4960  	}
  4961  
  4962  	output = &ListTagsForResourceOutput{}
  4963  	req = c.newRequest(op, input, output)
  4964  	return
  4965  }
  4966  
  4967  // ListTagsForResource API operation for AWS SecurityHub.
  4968  //
  4969  // Returns a list of tags associated with a resource.
  4970  //
  4971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4972  // with awserr.Error's Code and Message methods to get detailed information about
  4973  // the error.
  4974  //
  4975  // See the AWS API reference guide for AWS SecurityHub's
  4976  // API operation ListTagsForResource for usage and error information.
  4977  //
  4978  // Returned Error Types:
  4979  //   * InternalException
  4980  //   Internal server error.
  4981  //
  4982  //   * InvalidInputException
  4983  //   The request was rejected because you supplied an invalid or out-of-range
  4984  //   value for an input parameter.
  4985  //
  4986  //   * ResourceNotFoundException
  4987  //   The request was rejected because we can't find the specified resource.
  4988  //
  4989  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
  4990  func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4991  	req, out := c.ListTagsForResourceRequest(input)
  4992  	return out, req.Send()
  4993  }
  4994  
  4995  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4996  // the ability to pass a context and additional request options.
  4997  //
  4998  // See ListTagsForResource for details on how to use this API operation.
  4999  //
  5000  // The context must be non-nil and will be used for request cancellation. If
  5001  // the context is nil a panic will occur. In the future the SDK may create
  5002  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5003  // for more information on using Contexts.
  5004  func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5005  	req, out := c.ListTagsForResourceRequest(input)
  5006  	req.SetContext(ctx)
  5007  	req.ApplyOptions(opts...)
  5008  	return out, req.Send()
  5009  }
  5010  
  5011  const opTagResource = "TagResource"
  5012  
  5013  // TagResourceRequest generates a "aws/request.Request" representing the
  5014  // client's request for the TagResource operation. The "output" return
  5015  // value will be populated with the request's response once the request completes
  5016  // successfully.
  5017  //
  5018  // Use "Send" method on the returned Request to send the API call to the service.
  5019  // the "output" return value is not valid until after Send returns without error.
  5020  //
  5021  // See TagResource for more information on using the TagResource
  5022  // API call, and error handling.
  5023  //
  5024  // This method is useful when you want to inject custom logic or configuration
  5025  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5026  //
  5027  //
  5028  //    // Example sending a request using the TagResourceRequest method.
  5029  //    req, resp := client.TagResourceRequest(params)
  5030  //
  5031  //    err := req.Send()
  5032  //    if err == nil { // resp is now filled
  5033  //        fmt.Println(resp)
  5034  //    }
  5035  //
  5036  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
  5037  func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5038  	op := &request.Operation{
  5039  		Name:       opTagResource,
  5040  		HTTPMethod: "POST",
  5041  		HTTPPath:   "/tags/{ResourceArn}",
  5042  	}
  5043  
  5044  	if input == nil {
  5045  		input = &TagResourceInput{}
  5046  	}
  5047  
  5048  	output = &TagResourceOutput{}
  5049  	req = c.newRequest(op, input, output)
  5050  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5051  	return
  5052  }
  5053  
  5054  // TagResource API operation for AWS SecurityHub.
  5055  //
  5056  // Adds one or more tags to a resource.
  5057  //
  5058  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5059  // with awserr.Error's Code and Message methods to get detailed information about
  5060  // the error.
  5061  //
  5062  // See the AWS API reference guide for AWS SecurityHub's
  5063  // API operation TagResource for usage and error information.
  5064  //
  5065  // Returned Error Types:
  5066  //   * InternalException
  5067  //   Internal server error.
  5068  //
  5069  //   * InvalidInputException
  5070  //   The request was rejected because you supplied an invalid or out-of-range
  5071  //   value for an input parameter.
  5072  //
  5073  //   * ResourceNotFoundException
  5074  //   The request was rejected because we can't find the specified resource.
  5075  //
  5076  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
  5077  func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5078  	req, out := c.TagResourceRequest(input)
  5079  	return out, req.Send()
  5080  }
  5081  
  5082  // TagResourceWithContext is the same as TagResource with the addition of
  5083  // the ability to pass a context and additional request options.
  5084  //
  5085  // See TagResource for details on how to use this API operation.
  5086  //
  5087  // The context must be non-nil and will be used for request cancellation. If
  5088  // the context is nil a panic will occur. In the future the SDK may create
  5089  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5090  // for more information on using Contexts.
  5091  func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5092  	req, out := c.TagResourceRequest(input)
  5093  	req.SetContext(ctx)
  5094  	req.ApplyOptions(opts...)
  5095  	return out, req.Send()
  5096  }
  5097  
  5098  const opUntagResource = "UntagResource"
  5099  
  5100  // UntagResourceRequest generates a "aws/request.Request" representing the
  5101  // client's request for the UntagResource operation. The "output" return
  5102  // value will be populated with the request's response once the request completes
  5103  // successfully.
  5104  //
  5105  // Use "Send" method on the returned Request to send the API call to the service.
  5106  // the "output" return value is not valid until after Send returns without error.
  5107  //
  5108  // See UntagResource for more information on using the UntagResource
  5109  // API call, and error handling.
  5110  //
  5111  // This method is useful when you want to inject custom logic or configuration
  5112  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5113  //
  5114  //
  5115  //    // Example sending a request using the UntagResourceRequest method.
  5116  //    req, resp := client.UntagResourceRequest(params)
  5117  //
  5118  //    err := req.Send()
  5119  //    if err == nil { // resp is now filled
  5120  //        fmt.Println(resp)
  5121  //    }
  5122  //
  5123  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
  5124  func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5125  	op := &request.Operation{
  5126  		Name:       opUntagResource,
  5127  		HTTPMethod: "DELETE",
  5128  		HTTPPath:   "/tags/{ResourceArn}",
  5129  	}
  5130  
  5131  	if input == nil {
  5132  		input = &UntagResourceInput{}
  5133  	}
  5134  
  5135  	output = &UntagResourceOutput{}
  5136  	req = c.newRequest(op, input, output)
  5137  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5138  	return
  5139  }
  5140  
  5141  // UntagResource API operation for AWS SecurityHub.
  5142  //
  5143  // Removes one or more tags from a resource.
  5144  //
  5145  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5146  // with awserr.Error's Code and Message methods to get detailed information about
  5147  // the error.
  5148  //
  5149  // See the AWS API reference guide for AWS SecurityHub's
  5150  // API operation UntagResource for usage and error information.
  5151  //
  5152  // Returned Error Types:
  5153  //   * InternalException
  5154  //   Internal server error.
  5155  //
  5156  //   * InvalidInputException
  5157  //   The request was rejected because you supplied an invalid or out-of-range
  5158  //   value for an input parameter.
  5159  //
  5160  //   * ResourceNotFoundException
  5161  //   The request was rejected because we can't find the specified resource.
  5162  //
  5163  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
  5164  func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5165  	req, out := c.UntagResourceRequest(input)
  5166  	return out, req.Send()
  5167  }
  5168  
  5169  // UntagResourceWithContext is the same as UntagResource with the addition of
  5170  // the ability to pass a context and additional request options.
  5171  //
  5172  // See UntagResource for details on how to use this API operation.
  5173  //
  5174  // The context must be non-nil and will be used for request cancellation. If
  5175  // the context is nil a panic will occur. In the future the SDK may create
  5176  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5177  // for more information on using Contexts.
  5178  func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5179  	req, out := c.UntagResourceRequest(input)
  5180  	req.SetContext(ctx)
  5181  	req.ApplyOptions(opts...)
  5182  	return out, req.Send()
  5183  }
  5184  
  5185  const opUpdateActionTarget = "UpdateActionTarget"
  5186  
  5187  // UpdateActionTargetRequest generates a "aws/request.Request" representing the
  5188  // client's request for the UpdateActionTarget operation. The "output" return
  5189  // value will be populated with the request's response once the request completes
  5190  // successfully.
  5191  //
  5192  // Use "Send" method on the returned Request to send the API call to the service.
  5193  // the "output" return value is not valid until after Send returns without error.
  5194  //
  5195  // See UpdateActionTarget for more information on using the UpdateActionTarget
  5196  // API call, and error handling.
  5197  //
  5198  // This method is useful when you want to inject custom logic or configuration
  5199  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5200  //
  5201  //
  5202  //    // Example sending a request using the UpdateActionTargetRequest method.
  5203  //    req, resp := client.UpdateActionTargetRequest(params)
  5204  //
  5205  //    err := req.Send()
  5206  //    if err == nil { // resp is now filled
  5207  //        fmt.Println(resp)
  5208  //    }
  5209  //
  5210  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
  5211  func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
  5212  	op := &request.Operation{
  5213  		Name:       opUpdateActionTarget,
  5214  		HTTPMethod: "PATCH",
  5215  		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
  5216  	}
  5217  
  5218  	if input == nil {
  5219  		input = &UpdateActionTargetInput{}
  5220  	}
  5221  
  5222  	output = &UpdateActionTargetOutput{}
  5223  	req = c.newRequest(op, input, output)
  5224  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5225  	return
  5226  }
  5227  
  5228  // UpdateActionTarget API operation for AWS SecurityHub.
  5229  //
  5230  // Updates the name and description of a custom action target in Security Hub.
  5231  //
  5232  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5233  // with awserr.Error's Code and Message methods to get detailed information about
  5234  // the error.
  5235  //
  5236  // See the AWS API reference guide for AWS SecurityHub's
  5237  // API operation UpdateActionTarget for usage and error information.
  5238  //
  5239  // Returned Error Types:
  5240  //   * InternalException
  5241  //   Internal server error.
  5242  //
  5243  //   * InvalidInputException
  5244  //   The request was rejected because you supplied an invalid or out-of-range
  5245  //   value for an input parameter.
  5246  //
  5247  //   * ResourceNotFoundException
  5248  //   The request was rejected because we can't find the specified resource.
  5249  //
  5250  //   * InvalidAccessException
  5251  //   There is an issue with the account used to make the request. Either Security
  5252  //   Hub is not enabled for the account, or the account does not have permission
  5253  //   to perform this action.
  5254  //
  5255  //   * ResourceNotFoundException
  5256  //   The request was rejected because we can't find the specified resource.
  5257  //
  5258  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
  5259  func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
  5260  	req, out := c.UpdateActionTargetRequest(input)
  5261  	return out, req.Send()
  5262  }
  5263  
  5264  // UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
  5265  // the ability to pass a context and additional request options.
  5266  //
  5267  // See UpdateActionTarget for details on how to use this API operation.
  5268  //
  5269  // The context must be non-nil and will be used for request cancellation. If
  5270  // the context is nil a panic will occur. In the future the SDK may create
  5271  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5272  // for more information on using Contexts.
  5273  func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
  5274  	req, out := c.UpdateActionTargetRequest(input)
  5275  	req.SetContext(ctx)
  5276  	req.ApplyOptions(opts...)
  5277  	return out, req.Send()
  5278  }
  5279  
  5280  const opUpdateFindings = "UpdateFindings"
  5281  
  5282  // UpdateFindingsRequest generates a "aws/request.Request" representing the
  5283  // client's request for the UpdateFindings operation. The "output" return
  5284  // value will be populated with the request's response once the request completes
  5285  // successfully.
  5286  //
  5287  // Use "Send" method on the returned Request to send the API call to the service.
  5288  // the "output" return value is not valid until after Send returns without error.
  5289  //
  5290  // See UpdateFindings for more information on using the UpdateFindings
  5291  // API call, and error handling.
  5292  //
  5293  // This method is useful when you want to inject custom logic or configuration
  5294  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5295  //
  5296  //
  5297  //    // Example sending a request using the UpdateFindingsRequest method.
  5298  //    req, resp := client.UpdateFindingsRequest(params)
  5299  //
  5300  //    err := req.Send()
  5301  //    if err == nil { // resp is now filled
  5302  //        fmt.Println(resp)
  5303  //    }
  5304  //
  5305  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
  5306  func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
  5307  	op := &request.Operation{
  5308  		Name:       opUpdateFindings,
  5309  		HTTPMethod: "PATCH",
  5310  		HTTPPath:   "/findings",
  5311  	}
  5312  
  5313  	if input == nil {
  5314  		input = &UpdateFindingsInput{}
  5315  	}
  5316  
  5317  	output = &UpdateFindingsOutput{}
  5318  	req = c.newRequest(op, input, output)
  5319  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5320  	return
  5321  }
  5322  
  5323  // UpdateFindings API operation for AWS SecurityHub.
  5324  //
  5325  // UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
  5326  //
  5327  // Updates the Note and RecordState of the Security Hub-aggregated findings
  5328  // that the filter attributes specify. Any member account that can view the
  5329  // finding also sees the update to the finding.
  5330  //
  5331  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5332  // with awserr.Error's Code and Message methods to get detailed information about
  5333  // the error.
  5334  //
  5335  // See the AWS API reference guide for AWS SecurityHub's
  5336  // API operation UpdateFindings for usage and error information.
  5337  //
  5338  // Returned Error Types:
  5339  //   * InternalException
  5340  //   Internal server error.
  5341  //
  5342  //   * InvalidInputException
  5343  //   The request was rejected because you supplied an invalid or out-of-range
  5344  //   value for an input parameter.
  5345  //
  5346  //   * LimitExceededException
  5347  //   The request was rejected because it attempted to create resources beyond
  5348  //   the current Amazon Web Services account or throttling limits. The error code
  5349  //   describes the limit exceeded.
  5350  //
  5351  //   * InvalidAccessException
  5352  //   There is an issue with the account used to make the request. Either Security
  5353  //   Hub is not enabled for the account, or the account does not have permission
  5354  //   to perform this action.
  5355  //
  5356  //   * ResourceNotFoundException
  5357  //   The request was rejected because we can't find the specified resource.
  5358  //
  5359  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
  5360  func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
  5361  	req, out := c.UpdateFindingsRequest(input)
  5362  	return out, req.Send()
  5363  }
  5364  
  5365  // UpdateFindingsWithContext is the same as UpdateFindings with the addition of
  5366  // the ability to pass a context and additional request options.
  5367  //
  5368  // See UpdateFindings for details on how to use this API operation.
  5369  //
  5370  // The context must be non-nil and will be used for request cancellation. If
  5371  // the context is nil a panic will occur. In the future the SDK may create
  5372  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5373  // for more information on using Contexts.
  5374  func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
  5375  	req, out := c.UpdateFindingsRequest(input)
  5376  	req.SetContext(ctx)
  5377  	req.ApplyOptions(opts...)
  5378  	return out, req.Send()
  5379  }
  5380  
  5381  const opUpdateInsight = "UpdateInsight"
  5382  
  5383  // UpdateInsightRequest generates a "aws/request.Request" representing the
  5384  // client's request for the UpdateInsight operation. The "output" return
  5385  // value will be populated with the request's response once the request completes
  5386  // successfully.
  5387  //
  5388  // Use "Send" method on the returned Request to send the API call to the service.
  5389  // the "output" return value is not valid until after Send returns without error.
  5390  //
  5391  // See UpdateInsight for more information on using the UpdateInsight
  5392  // API call, and error handling.
  5393  //
  5394  // This method is useful when you want to inject custom logic or configuration
  5395  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5396  //
  5397  //
  5398  //    // Example sending a request using the UpdateInsightRequest method.
  5399  //    req, resp := client.UpdateInsightRequest(params)
  5400  //
  5401  //    err := req.Send()
  5402  //    if err == nil { // resp is now filled
  5403  //        fmt.Println(resp)
  5404  //    }
  5405  //
  5406  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
  5407  func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
  5408  	op := &request.Operation{
  5409  		Name:       opUpdateInsight,
  5410  		HTTPMethod: "PATCH",
  5411  		HTTPPath:   "/insights/{InsightArn+}",
  5412  	}
  5413  
  5414  	if input == nil {
  5415  		input = &UpdateInsightInput{}
  5416  	}
  5417  
  5418  	output = &UpdateInsightOutput{}
  5419  	req = c.newRequest(op, input, output)
  5420  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5421  	return
  5422  }
  5423  
  5424  // UpdateInsight API operation for AWS SecurityHub.
  5425  //
  5426  // Updates the Security Hub insight identified by the specified insight ARN.
  5427  //
  5428  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5429  // with awserr.Error's Code and Message methods to get detailed information about
  5430  // the error.
  5431  //
  5432  // See the AWS API reference guide for AWS SecurityHub's
  5433  // API operation UpdateInsight for usage and error information.
  5434  //
  5435  // Returned Error Types:
  5436  //   * InternalException
  5437  //   Internal server error.
  5438  //
  5439  //   * InvalidInputException
  5440  //   The request was rejected because you supplied an invalid or out-of-range
  5441  //   value for an input parameter.
  5442  //
  5443  //   * InvalidAccessException
  5444  //   There is an issue with the account used to make the request. Either Security
  5445  //   Hub is not enabled for the account, or the account does not have permission
  5446  //   to perform this action.
  5447  //
  5448  //   * LimitExceededException
  5449  //   The request was rejected because it attempted to create resources beyond
  5450  //   the current Amazon Web Services account or throttling limits. The error code
  5451  //   describes the limit exceeded.
  5452  //
  5453  //   * ResourceNotFoundException
  5454  //   The request was rejected because we can't find the specified resource.
  5455  //
  5456  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
  5457  func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
  5458  	req, out := c.UpdateInsightRequest(input)
  5459  	return out, req.Send()
  5460  }
  5461  
  5462  // UpdateInsightWithContext is the same as UpdateInsight with the addition of
  5463  // the ability to pass a context and additional request options.
  5464  //
  5465  // See UpdateInsight for details on how to use this API operation.
  5466  //
  5467  // The context must be non-nil and will be used for request cancellation. If
  5468  // the context is nil a panic will occur. In the future the SDK may create
  5469  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5470  // for more information on using Contexts.
  5471  func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
  5472  	req, out := c.UpdateInsightRequest(input)
  5473  	req.SetContext(ctx)
  5474  	req.ApplyOptions(opts...)
  5475  	return out, req.Send()
  5476  }
  5477  
  5478  const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
  5479  
  5480  // UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
  5481  // client's request for the UpdateOrganizationConfiguration operation. The "output" return
  5482  // value will be populated with the request's response once the request completes
  5483  // successfully.
  5484  //
  5485  // Use "Send" method on the returned Request to send the API call to the service.
  5486  // the "output" return value is not valid until after Send returns without error.
  5487  //
  5488  // See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
  5489  // API call, and error handling.
  5490  //
  5491  // This method is useful when you want to inject custom logic or configuration
  5492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5493  //
  5494  //
  5495  //    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
  5496  //    req, resp := client.UpdateOrganizationConfigurationRequest(params)
  5497  //
  5498  //    err := req.Send()
  5499  //    if err == nil { // resp is now filled
  5500  //        fmt.Println(resp)
  5501  //    }
  5502  //
  5503  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
  5504  func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
  5505  	op := &request.Operation{
  5506  		Name:       opUpdateOrganizationConfiguration,
  5507  		HTTPMethod: "POST",
  5508  		HTTPPath:   "/organization/configuration",
  5509  	}
  5510  
  5511  	if input == nil {
  5512  		input = &UpdateOrganizationConfigurationInput{}
  5513  	}
  5514  
  5515  	output = &UpdateOrganizationConfigurationOutput{}
  5516  	req = c.newRequest(op, input, output)
  5517  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5518  	return
  5519  }
  5520  
  5521  // UpdateOrganizationConfiguration API operation for AWS SecurityHub.
  5522  //
  5523  // Used to update the configuration related to Organizations. Can only be called
  5524  // from a Security Hub administrator account.
  5525  //
  5526  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5527  // with awserr.Error's Code and Message methods to get detailed information about
  5528  // the error.
  5529  //
  5530  // See the AWS API reference guide for AWS SecurityHub's
  5531  // API operation UpdateOrganizationConfiguration for usage and error information.
  5532  //
  5533  // Returned Error Types:
  5534  //   * InternalException
  5535  //   Internal server error.
  5536  //
  5537  //   * InvalidInputException
  5538  //   The request was rejected because you supplied an invalid or out-of-range
  5539  //   value for an input parameter.
  5540  //
  5541  //   * InvalidAccessException
  5542  //   There is an issue with the account used to make the request. Either Security
  5543  //   Hub is not enabled for the account, or the account does not have permission
  5544  //   to perform this action.
  5545  //
  5546  //   * LimitExceededException
  5547  //   The request was rejected because it attempted to create resources beyond
  5548  //   the current Amazon Web Services account or throttling limits. The error code
  5549  //   describes the limit exceeded.
  5550  //
  5551  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
  5552  func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
  5553  	req, out := c.UpdateOrganizationConfigurationRequest(input)
  5554  	return out, req.Send()
  5555  }
  5556  
  5557  // UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
  5558  // the ability to pass a context and additional request options.
  5559  //
  5560  // See UpdateOrganizationConfiguration for details on how to use this API operation.
  5561  //
  5562  // The context must be non-nil and will be used for request cancellation. If
  5563  // the context is nil a panic will occur. In the future the SDK may create
  5564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5565  // for more information on using Contexts.
  5566  func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
  5567  	req, out := c.UpdateOrganizationConfigurationRequest(input)
  5568  	req.SetContext(ctx)
  5569  	req.ApplyOptions(opts...)
  5570  	return out, req.Send()
  5571  }
  5572  
  5573  const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
  5574  
  5575  // UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
  5576  // client's request for the UpdateSecurityHubConfiguration operation. The "output" return
  5577  // value will be populated with the request's response once the request completes
  5578  // successfully.
  5579  //
  5580  // Use "Send" method on the returned Request to send the API call to the service.
  5581  // the "output" return value is not valid until after Send returns without error.
  5582  //
  5583  // See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
  5584  // API call, and error handling.
  5585  //
  5586  // This method is useful when you want to inject custom logic or configuration
  5587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5588  //
  5589  //
  5590  //    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
  5591  //    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
  5592  //
  5593  //    err := req.Send()
  5594  //    if err == nil { // resp is now filled
  5595  //        fmt.Println(resp)
  5596  //    }
  5597  //
  5598  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
  5599  func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
  5600  	op := &request.Operation{
  5601  		Name:       opUpdateSecurityHubConfiguration,
  5602  		HTTPMethod: "PATCH",
  5603  		HTTPPath:   "/accounts",
  5604  	}
  5605  
  5606  	if input == nil {
  5607  		input = &UpdateSecurityHubConfigurationInput{}
  5608  	}
  5609  
  5610  	output = &UpdateSecurityHubConfigurationOutput{}
  5611  	req = c.newRequest(op, input, output)
  5612  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5613  	return
  5614  }
  5615  
  5616  // UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
  5617  //
  5618  // Updates configuration options for Security Hub.
  5619  //
  5620  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5621  // with awserr.Error's Code and Message methods to get detailed information about
  5622  // the error.
  5623  //
  5624  // See the AWS API reference guide for AWS SecurityHub's
  5625  // API operation UpdateSecurityHubConfiguration for usage and error information.
  5626  //
  5627  // Returned Error Types:
  5628  //   * InternalException
  5629  //   Internal server error.
  5630  //
  5631  //   * InvalidInputException
  5632  //   The request was rejected because you supplied an invalid or out-of-range
  5633  //   value for an input parameter.
  5634  //
  5635  //   * InvalidAccessException
  5636  //   There is an issue with the account used to make the request. Either Security
  5637  //   Hub is not enabled for the account, or the account does not have permission
  5638  //   to perform this action.
  5639  //
  5640  //   * LimitExceededException
  5641  //   The request was rejected because it attempted to create resources beyond
  5642  //   the current Amazon Web Services account or throttling limits. The error code
  5643  //   describes the limit exceeded.
  5644  //
  5645  //   * ResourceNotFoundException
  5646  //   The request was rejected because we can't find the specified resource.
  5647  //
  5648  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
  5649  func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
  5650  	req, out := c.UpdateSecurityHubConfigurationRequest(input)
  5651  	return out, req.Send()
  5652  }
  5653  
  5654  // UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
  5655  // the ability to pass a context and additional request options.
  5656  //
  5657  // See UpdateSecurityHubConfiguration for details on how to use this API operation.
  5658  //
  5659  // The context must be non-nil and will be used for request cancellation. If
  5660  // the context is nil a panic will occur. In the future the SDK may create
  5661  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5662  // for more information on using Contexts.
  5663  func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
  5664  	req, out := c.UpdateSecurityHubConfigurationRequest(input)
  5665  	req.SetContext(ctx)
  5666  	req.ApplyOptions(opts...)
  5667  	return out, req.Send()
  5668  }
  5669  
  5670  const opUpdateStandardsControl = "UpdateStandardsControl"
  5671  
  5672  // UpdateStandardsControlRequest generates a "aws/request.Request" representing the
  5673  // client's request for the UpdateStandardsControl operation. The "output" return
  5674  // value will be populated with the request's response once the request completes
  5675  // successfully.
  5676  //
  5677  // Use "Send" method on the returned Request to send the API call to the service.
  5678  // the "output" return value is not valid until after Send returns without error.
  5679  //
  5680  // See UpdateStandardsControl for more information on using the UpdateStandardsControl
  5681  // API call, and error handling.
  5682  //
  5683  // This method is useful when you want to inject custom logic or configuration
  5684  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5685  //
  5686  //
  5687  //    // Example sending a request using the UpdateStandardsControlRequest method.
  5688  //    req, resp := client.UpdateStandardsControlRequest(params)
  5689  //
  5690  //    err := req.Send()
  5691  //    if err == nil { // resp is now filled
  5692  //        fmt.Println(resp)
  5693  //    }
  5694  //
  5695  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
  5696  func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
  5697  	op := &request.Operation{
  5698  		Name:       opUpdateStandardsControl,
  5699  		HTTPMethod: "PATCH",
  5700  		HTTPPath:   "/standards/control/{StandardsControlArn+}",
  5701  	}
  5702  
  5703  	if input == nil {
  5704  		input = &UpdateStandardsControlInput{}
  5705  	}
  5706  
  5707  	output = &UpdateStandardsControlOutput{}
  5708  	req = c.newRequest(op, input, output)
  5709  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5710  	return
  5711  }
  5712  
  5713  // UpdateStandardsControl API operation for AWS SecurityHub.
  5714  //
  5715  // Used to control whether an individual security standard control is enabled
  5716  // or disabled.
  5717  //
  5718  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5719  // with awserr.Error's Code and Message methods to get detailed information about
  5720  // the error.
  5721  //
  5722  // See the AWS API reference guide for AWS SecurityHub's
  5723  // API operation UpdateStandardsControl for usage and error information.
  5724  //
  5725  // Returned Error Types:
  5726  //   * InternalException
  5727  //   Internal server error.
  5728  //
  5729  //   * InvalidInputException
  5730  //   The request was rejected because you supplied an invalid or out-of-range
  5731  //   value for an input parameter.
  5732  //
  5733  //   * InvalidAccessException
  5734  //   There is an issue with the account used to make the request. Either Security
  5735  //   Hub is not enabled for the account, or the account does not have permission
  5736  //   to perform this action.
  5737  //
  5738  //   * ResourceNotFoundException
  5739  //   The request was rejected because we can't find the specified resource.
  5740  //
  5741  // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
  5742  func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
  5743  	req, out := c.UpdateStandardsControlRequest(input)
  5744  	return out, req.Send()
  5745  }
  5746  
  5747  // UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
  5748  // the ability to pass a context and additional request options.
  5749  //
  5750  // See UpdateStandardsControl for details on how to use this API operation.
  5751  //
  5752  // The context must be non-nil and will be used for request cancellation. If
  5753  // the context is nil a panic will occur. In the future the SDK may create
  5754  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5755  // for more information on using Contexts.
  5756  func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
  5757  	req, out := c.UpdateStandardsControlRequest(input)
  5758  	req.SetContext(ctx)
  5759  	req.ApplyOptions(opts...)
  5760  	return out, req.Send()
  5761  }
  5762  
  5763  type AcceptAdministratorInvitationInput struct {
  5764  	_ struct{} `type:"structure"`
  5765  
  5766  	// The account ID of the Security Hub administrator account that sent the invitation.
  5767  	//
  5768  	// AdministratorId is a required field
  5769  	AdministratorId *string `type:"string" required:"true"`
  5770  
  5771  	// The identifier of the invitation sent from the Security Hub administrator
  5772  	// account.
  5773  	//
  5774  	// InvitationId is a required field
  5775  	InvitationId *string `type:"string" required:"true"`
  5776  }
  5777  
  5778  // String returns the string representation.
  5779  //
  5780  // API parameter values that are decorated as "sensitive" in the API will not
  5781  // be included in the string output. The member name will be present, but the
  5782  // value will be replaced with "sensitive".
  5783  func (s AcceptAdministratorInvitationInput) String() string {
  5784  	return awsutil.Prettify(s)
  5785  }
  5786  
  5787  // GoString returns the string representation.
  5788  //
  5789  // API parameter values that are decorated as "sensitive" in the API will not
  5790  // be included in the string output. The member name will be present, but the
  5791  // value will be replaced with "sensitive".
  5792  func (s AcceptAdministratorInvitationInput) GoString() string {
  5793  	return s.String()
  5794  }
  5795  
  5796  // Validate inspects the fields of the type to determine if they are valid.
  5797  func (s *AcceptAdministratorInvitationInput) Validate() error {
  5798  	invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"}
  5799  	if s.AdministratorId == nil {
  5800  		invalidParams.Add(request.NewErrParamRequired("AdministratorId"))
  5801  	}
  5802  	if s.InvitationId == nil {
  5803  		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
  5804  	}
  5805  
  5806  	if invalidParams.Len() > 0 {
  5807  		return invalidParams
  5808  	}
  5809  	return nil
  5810  }
  5811  
  5812  // SetAdministratorId sets the AdministratorId field's value.
  5813  func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput {
  5814  	s.AdministratorId = &v
  5815  	return s
  5816  }
  5817  
  5818  // SetInvitationId sets the InvitationId field's value.
  5819  func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput {
  5820  	s.InvitationId = &v
  5821  	return s
  5822  }
  5823  
  5824  type AcceptAdministratorInvitationOutput struct {
  5825  	_ struct{} `type:"structure" nopayload:"true"`
  5826  }
  5827  
  5828  // String returns the string representation.
  5829  //
  5830  // API parameter values that are decorated as "sensitive" in the API will not
  5831  // be included in the string output. The member name will be present, but the
  5832  // value will be replaced with "sensitive".
  5833  func (s AcceptAdministratorInvitationOutput) String() string {
  5834  	return awsutil.Prettify(s)
  5835  }
  5836  
  5837  // GoString returns the string representation.
  5838  //
  5839  // API parameter values that are decorated as "sensitive" in the API will not
  5840  // be included in the string output. The member name will be present, but the
  5841  // value will be replaced with "sensitive".
  5842  func (s AcceptAdministratorInvitationOutput) GoString() string {
  5843  	return s.String()
  5844  }
  5845  
  5846  type AcceptInvitationInput struct {
  5847  	_ struct{} `type:"structure"`
  5848  
  5849  	// The identifier of the invitation sent from the Security Hub administrator
  5850  	// account.
  5851  	//
  5852  	// InvitationId is a required field
  5853  	InvitationId *string `type:"string" required:"true"`
  5854  
  5855  	// The account ID of the Security Hub administrator account that sent the invitation.
  5856  	//
  5857  	// MasterId is a required field
  5858  	MasterId *string `type:"string" required:"true"`
  5859  }
  5860  
  5861  // String returns the string representation.
  5862  //
  5863  // API parameter values that are decorated as "sensitive" in the API will not
  5864  // be included in the string output. The member name will be present, but the
  5865  // value will be replaced with "sensitive".
  5866  func (s AcceptInvitationInput) String() string {
  5867  	return awsutil.Prettify(s)
  5868  }
  5869  
  5870  // GoString returns the string representation.
  5871  //
  5872  // API parameter values that are decorated as "sensitive" in the API will not
  5873  // be included in the string output. The member name will be present, but the
  5874  // value will be replaced with "sensitive".
  5875  func (s AcceptInvitationInput) GoString() string {
  5876  	return s.String()
  5877  }
  5878  
  5879  // Validate inspects the fields of the type to determine if they are valid.
  5880  func (s *AcceptInvitationInput) Validate() error {
  5881  	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
  5882  	if s.InvitationId == nil {
  5883  		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
  5884  	}
  5885  	if s.MasterId == nil {
  5886  		invalidParams.Add(request.NewErrParamRequired("MasterId"))
  5887  	}
  5888  
  5889  	if invalidParams.Len() > 0 {
  5890  		return invalidParams
  5891  	}
  5892  	return nil
  5893  }
  5894  
  5895  // SetInvitationId sets the InvitationId field's value.
  5896  func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
  5897  	s.InvitationId = &v
  5898  	return s
  5899  }
  5900  
  5901  // SetMasterId sets the MasterId field's value.
  5902  func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
  5903  	s.MasterId = &v
  5904  	return s
  5905  }
  5906  
  5907  type AcceptInvitationOutput struct {
  5908  	_ struct{} `type:"structure" nopayload:"true"`
  5909  }
  5910  
  5911  // String returns the string representation.
  5912  //
  5913  // API parameter values that are decorated as "sensitive" in the API will not
  5914  // be included in the string output. The member name will be present, but the
  5915  // value will be replaced with "sensitive".
  5916  func (s AcceptInvitationOutput) String() string {
  5917  	return awsutil.Prettify(s)
  5918  }
  5919  
  5920  // GoString returns the string representation.
  5921  //
  5922  // API parameter values that are decorated as "sensitive" in the API will not
  5923  // be included in the string output. The member name will be present, but the
  5924  // value will be replaced with "sensitive".
  5925  func (s AcceptInvitationOutput) GoString() string {
  5926  	return s.String()
  5927  }
  5928  
  5929  // You don't have permission to perform the action specified in the request.
  5930  type AccessDeniedException struct {
  5931  	_            struct{}                  `type:"structure"`
  5932  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5933  
  5934  	Code_ *string `locationName:"Code" type:"string"`
  5935  
  5936  	Message_ *string `locationName:"Message" type:"string"`
  5937  }
  5938  
  5939  // String returns the string representation.
  5940  //
  5941  // API parameter values that are decorated as "sensitive" in the API will not
  5942  // be included in the string output. The member name will be present, but the
  5943  // value will be replaced with "sensitive".
  5944  func (s AccessDeniedException) String() string {
  5945  	return awsutil.Prettify(s)
  5946  }
  5947  
  5948  // GoString returns the string representation.
  5949  //
  5950  // API parameter values that are decorated as "sensitive" in the API will not
  5951  // be included in the string output. The member name will be present, but the
  5952  // value will be replaced with "sensitive".
  5953  func (s AccessDeniedException) GoString() string {
  5954  	return s.String()
  5955  }
  5956  
  5957  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  5958  	return &AccessDeniedException{
  5959  		RespMetadata: v,
  5960  	}
  5961  }
  5962  
  5963  // Code returns the exception type name.
  5964  func (s *AccessDeniedException) Code() string {
  5965  	return "AccessDeniedException"
  5966  }
  5967  
  5968  // Message returns the exception's message.
  5969  func (s *AccessDeniedException) Message() string {
  5970  	if s.Message_ != nil {
  5971  		return *s.Message_
  5972  	}
  5973  	return ""
  5974  }
  5975  
  5976  // OrigErr always returns nil, satisfies awserr.Error interface.
  5977  func (s *AccessDeniedException) OrigErr() error {
  5978  	return nil
  5979  }
  5980  
  5981  func (s *AccessDeniedException) Error() string {
  5982  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5983  }
  5984  
  5985  // Status code returns the HTTP status code for the request's response error.
  5986  func (s *AccessDeniedException) StatusCode() int {
  5987  	return s.RespMetadata.StatusCode
  5988  }
  5989  
  5990  // RequestID returns the service's response RequestID for request.
  5991  func (s *AccessDeniedException) RequestID() string {
  5992  	return s.RespMetadata.RequestID
  5993  }
  5994  
  5995  // The details of an Amazon Web Services account.
  5996  type AccountDetails struct {
  5997  	_ struct{} `type:"structure"`
  5998  
  5999  	// The ID of an Amazon Web Services account.
  6000  	//
  6001  	// AccountId is a required field
  6002  	AccountId *string `type:"string" required:"true"`
  6003  
  6004  	// The email of an Amazon Web Services account.
  6005  	Email *string `type:"string"`
  6006  }
  6007  
  6008  // String returns the string representation.
  6009  //
  6010  // API parameter values that are decorated as "sensitive" in the API will not
  6011  // be included in the string output. The member name will be present, but the
  6012  // value will be replaced with "sensitive".
  6013  func (s AccountDetails) String() string {
  6014  	return awsutil.Prettify(s)
  6015  }
  6016  
  6017  // GoString returns the string representation.
  6018  //
  6019  // API parameter values that are decorated as "sensitive" in the API will not
  6020  // be included in the string output. The member name will be present, but the
  6021  // value will be replaced with "sensitive".
  6022  func (s AccountDetails) GoString() string {
  6023  	return s.String()
  6024  }
  6025  
  6026  // Validate inspects the fields of the type to determine if they are valid.
  6027  func (s *AccountDetails) Validate() error {
  6028  	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
  6029  	if s.AccountId == nil {
  6030  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  6031  	}
  6032  
  6033  	if invalidParams.Len() > 0 {
  6034  		return invalidParams
  6035  	}
  6036  	return nil
  6037  }
  6038  
  6039  // SetAccountId sets the AccountId field's value.
  6040  func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
  6041  	s.AccountId = &v
  6042  	return s
  6043  }
  6044  
  6045  // SetEmail sets the Email field's value.
  6046  func (s *AccountDetails) SetEmail(v string) *AccountDetails {
  6047  	s.Email = &v
  6048  	return s
  6049  }
  6050  
  6051  // Provides details about one of the following actions that affects or that
  6052  // was taken on a resource:
  6053  //
  6054  //    * A remote IP address issued an Amazon Web Services API call
  6055  //
  6056  //    * A DNS request was received
  6057  //
  6058  //    * A remote IP address attempted to connect to an EC2 instance
  6059  //
  6060  //    * A remote IP address attempted a port probe on an EC2 instance
  6061  type Action struct {
  6062  	_ struct{} `type:"structure"`
  6063  
  6064  	// The type of action that was detected. The possible action types are:
  6065  	//
  6066  	//    * NETWORK_CONNECTION
  6067  	//
  6068  	//    * AWS_API_CALL
  6069  	//
  6070  	//    * DNS_REQUEST
  6071  	//
  6072  	//    * PORT_PROBE
  6073  	ActionType *string `type:"string"`
  6074  
  6075  	// Included if ActionType is AWS_API_CALL. Provides details about the API call
  6076  	// that was detected.
  6077  	AwsApiCallAction *AwsApiCallAction `type:"structure"`
  6078  
  6079  	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
  6080  	// that was detected.
  6081  	DnsRequestAction *DnsRequestAction `type:"structure"`
  6082  
  6083  	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
  6084  	// network connection that was detected.
  6085  	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
  6086  
  6087  	// Included if ActionType is PORT_PROBE. Provides details about the port probe
  6088  	// that was detected.
  6089  	PortProbeAction *PortProbeAction `type:"structure"`
  6090  }
  6091  
  6092  // String returns the string representation.
  6093  //
  6094  // API parameter values that are decorated as "sensitive" in the API will not
  6095  // be included in the string output. The member name will be present, but the
  6096  // value will be replaced with "sensitive".
  6097  func (s Action) String() string {
  6098  	return awsutil.Prettify(s)
  6099  }
  6100  
  6101  // GoString returns the string representation.
  6102  //
  6103  // API parameter values that are decorated as "sensitive" in the API will not
  6104  // be included in the string output. The member name will be present, but the
  6105  // value will be replaced with "sensitive".
  6106  func (s Action) GoString() string {
  6107  	return s.String()
  6108  }
  6109  
  6110  // SetActionType sets the ActionType field's value.
  6111  func (s *Action) SetActionType(v string) *Action {
  6112  	s.ActionType = &v
  6113  	return s
  6114  }
  6115  
  6116  // SetAwsApiCallAction sets the AwsApiCallAction field's value.
  6117  func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
  6118  	s.AwsApiCallAction = v
  6119  	return s
  6120  }
  6121  
  6122  // SetDnsRequestAction sets the DnsRequestAction field's value.
  6123  func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
  6124  	s.DnsRequestAction = v
  6125  	return s
  6126  }
  6127  
  6128  // SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
  6129  func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
  6130  	s.NetworkConnectionAction = v
  6131  	return s
  6132  }
  6133  
  6134  // SetPortProbeAction sets the PortProbeAction field's value.
  6135  func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
  6136  	s.PortProbeAction = v
  6137  	return s
  6138  }
  6139  
  6140  // Provides information about the IP address where the scanned port is located.
  6141  type ActionLocalIpDetails struct {
  6142  	_ struct{} `type:"structure"`
  6143  
  6144  	// The IP address.
  6145  	IpAddressV4 *string `type:"string"`
  6146  }
  6147  
  6148  // String returns the string representation.
  6149  //
  6150  // API parameter values that are decorated as "sensitive" in the API will not
  6151  // be included in the string output. The member name will be present, but the
  6152  // value will be replaced with "sensitive".
  6153  func (s ActionLocalIpDetails) String() string {
  6154  	return awsutil.Prettify(s)
  6155  }
  6156  
  6157  // GoString returns the string representation.
  6158  //
  6159  // API parameter values that are decorated as "sensitive" in the API will not
  6160  // be included in the string output. The member name will be present, but the
  6161  // value will be replaced with "sensitive".
  6162  func (s ActionLocalIpDetails) GoString() string {
  6163  	return s.String()
  6164  }
  6165  
  6166  // SetIpAddressV4 sets the IpAddressV4 field's value.
  6167  func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
  6168  	s.IpAddressV4 = &v
  6169  	return s
  6170  }
  6171  
  6172  // For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
  6173  // information about the local port that was involved in the action.
  6174  type ActionLocalPortDetails struct {
  6175  	_ struct{} `type:"structure"`
  6176  
  6177  	// The number of the port.
  6178  	Port *int64 `type:"integer"`
  6179  
  6180  	// The port name of the local connection.
  6181  	PortName *string `type:"string"`
  6182  }
  6183  
  6184  // String returns the string representation.
  6185  //
  6186  // API parameter values that are decorated as "sensitive" in the API will not
  6187  // be included in the string output. The member name will be present, but the
  6188  // value will be replaced with "sensitive".
  6189  func (s ActionLocalPortDetails) String() string {
  6190  	return awsutil.Prettify(s)
  6191  }
  6192  
  6193  // GoString returns the string representation.
  6194  //
  6195  // API parameter values that are decorated as "sensitive" in the API will not
  6196  // be included in the string output. The member name will be present, but the
  6197  // value will be replaced with "sensitive".
  6198  func (s ActionLocalPortDetails) GoString() string {
  6199  	return s.String()
  6200  }
  6201  
  6202  // SetPort sets the Port field's value.
  6203  func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
  6204  	s.Port = &v
  6205  	return s
  6206  }
  6207  
  6208  // SetPortName sets the PortName field's value.
  6209  func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
  6210  	s.PortName = &v
  6211  	return s
  6212  }
  6213  
  6214  // For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
  6215  // provides information about the remote IP address that was involved in the
  6216  // action.
  6217  type ActionRemoteIpDetails struct {
  6218  	_ struct{} `type:"structure"`
  6219  
  6220  	// The city where the remote IP address is located.
  6221  	City *City `type:"structure"`
  6222  
  6223  	// The country where the remote IP address is located.
  6224  	Country *Country `type:"structure"`
  6225  
  6226  	// The coordinates of the location of the remote IP address.
  6227  	GeoLocation *GeoLocation `type:"structure"`
  6228  
  6229  	// The IP address.
  6230  	IpAddressV4 *string `type:"string"`
  6231  
  6232  	// The internet service provider (ISP) organization associated with the remote
  6233  	// IP address.
  6234  	Organization *IpOrganizationDetails `type:"structure"`
  6235  }
  6236  
  6237  // String returns the string representation.
  6238  //
  6239  // API parameter values that are decorated as "sensitive" in the API will not
  6240  // be included in the string output. The member name will be present, but the
  6241  // value will be replaced with "sensitive".
  6242  func (s ActionRemoteIpDetails) String() string {
  6243  	return awsutil.Prettify(s)
  6244  }
  6245  
  6246  // GoString returns the string representation.
  6247  //
  6248  // API parameter values that are decorated as "sensitive" in the API will not
  6249  // be included in the string output. The member name will be present, but the
  6250  // value will be replaced with "sensitive".
  6251  func (s ActionRemoteIpDetails) GoString() string {
  6252  	return s.String()
  6253  }
  6254  
  6255  // SetCity sets the City field's value.
  6256  func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
  6257  	s.City = v
  6258  	return s
  6259  }
  6260  
  6261  // SetCountry sets the Country field's value.
  6262  func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
  6263  	s.Country = v
  6264  	return s
  6265  }
  6266  
  6267  // SetGeoLocation sets the GeoLocation field's value.
  6268  func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
  6269  	s.GeoLocation = v
  6270  	return s
  6271  }
  6272  
  6273  // SetIpAddressV4 sets the IpAddressV4 field's value.
  6274  func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
  6275  	s.IpAddressV4 = &v
  6276  	return s
  6277  }
  6278  
  6279  // SetOrganization sets the Organization field's value.
  6280  func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
  6281  	s.Organization = v
  6282  	return s
  6283  }
  6284  
  6285  // Provides information about the remote port that was involved in an attempted
  6286  // network connection.
  6287  type ActionRemotePortDetails struct {
  6288  	_ struct{} `type:"structure"`
  6289  
  6290  	// The number of the port.
  6291  	Port *int64 `type:"integer"`
  6292  
  6293  	// The port name of the remote connection.
  6294  	PortName *string `type:"string"`
  6295  }
  6296  
  6297  // String returns the string representation.
  6298  //
  6299  // API parameter values that are decorated as "sensitive" in the API will not
  6300  // be included in the string output. The member name will be present, but the
  6301  // value will be replaced with "sensitive".
  6302  func (s ActionRemotePortDetails) String() string {
  6303  	return awsutil.Prettify(s)
  6304  }
  6305  
  6306  // GoString returns the string representation.
  6307  //
  6308  // API parameter values that are decorated as "sensitive" in the API will not
  6309  // be included in the string output. The member name will be present, but the
  6310  // value will be replaced with "sensitive".
  6311  func (s ActionRemotePortDetails) GoString() string {
  6312  	return s.String()
  6313  }
  6314  
  6315  // SetPort sets the Port field's value.
  6316  func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
  6317  	s.Port = &v
  6318  	return s
  6319  }
  6320  
  6321  // SetPortName sets the PortName field's value.
  6322  func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
  6323  	s.PortName = &v
  6324  	return s
  6325  }
  6326  
  6327  // An ActionTarget object.
  6328  type ActionTarget struct {
  6329  	_ struct{} `type:"structure"`
  6330  
  6331  	// The ARN for the target action.
  6332  	//
  6333  	// ActionTargetArn is a required field
  6334  	ActionTargetArn *string `type:"string" required:"true"`
  6335  
  6336  	// The description of the target action.
  6337  	//
  6338  	// Description is a required field
  6339  	Description *string `type:"string" required:"true"`
  6340  
  6341  	// The name of the action target.
  6342  	//
  6343  	// Name is a required field
  6344  	Name *string `type:"string" required:"true"`
  6345  }
  6346  
  6347  // String returns the string representation.
  6348  //
  6349  // API parameter values that are decorated as "sensitive" in the API will not
  6350  // be included in the string output. The member name will be present, but the
  6351  // value will be replaced with "sensitive".
  6352  func (s ActionTarget) String() string {
  6353  	return awsutil.Prettify(s)
  6354  }
  6355  
  6356  // GoString returns the string representation.
  6357  //
  6358  // API parameter values that are decorated as "sensitive" in the API will not
  6359  // be included in the string output. The member name will be present, but the
  6360  // value will be replaced with "sensitive".
  6361  func (s ActionTarget) GoString() string {
  6362  	return s.String()
  6363  }
  6364  
  6365  // SetActionTargetArn sets the ActionTargetArn field's value.
  6366  func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
  6367  	s.ActionTargetArn = &v
  6368  	return s
  6369  }
  6370  
  6371  // SetDescription sets the Description field's value.
  6372  func (s *ActionTarget) SetDescription(v string) *ActionTarget {
  6373  	s.Description = &v
  6374  	return s
  6375  }
  6376  
  6377  // SetName sets the Name field's value.
  6378  func (s *ActionTarget) SetName(v string) *ActionTarget {
  6379  	s.Name = &v
  6380  	return s
  6381  }
  6382  
  6383  // An adjustment to the CVSS metric.
  6384  type Adjustment struct {
  6385  	_ struct{} `type:"structure"`
  6386  
  6387  	// The metric to adjust.
  6388  	Metric *string `type:"string"`
  6389  
  6390  	// The reason for the adjustment.
  6391  	Reason *string `type:"string"`
  6392  }
  6393  
  6394  // String returns the string representation.
  6395  //
  6396  // API parameter values that are decorated as "sensitive" in the API will not
  6397  // be included in the string output. The member name will be present, but the
  6398  // value will be replaced with "sensitive".
  6399  func (s Adjustment) String() string {
  6400  	return awsutil.Prettify(s)
  6401  }
  6402  
  6403  // GoString returns the string representation.
  6404  //
  6405  // API parameter values that are decorated as "sensitive" in the API will not
  6406  // be included in the string output. The member name will be present, but the
  6407  // value will be replaced with "sensitive".
  6408  func (s Adjustment) GoString() string {
  6409  	return s.String()
  6410  }
  6411  
  6412  // SetMetric sets the Metric field's value.
  6413  func (s *Adjustment) SetMetric(v string) *Adjustment {
  6414  	s.Metric = &v
  6415  	return s
  6416  }
  6417  
  6418  // SetReason sets the Reason field's value.
  6419  func (s *Adjustment) SetReason(v string) *Adjustment {
  6420  	s.Reason = &v
  6421  	return s
  6422  }
  6423  
  6424  // Represents a Security Hub administrator account designated by an organization
  6425  // management account.
  6426  type AdminAccount struct {
  6427  	_ struct{} `type:"structure"`
  6428  
  6429  	// The Amazon Web Services account identifier of the Security Hub administrator
  6430  	// account.
  6431  	AccountId *string `type:"string"`
  6432  
  6433  	// The current status of the Security Hub administrator account. Indicates whether
  6434  	// the account is currently enabled as a Security Hub administrator.
  6435  	Status *string `type:"string" enum:"AdminStatus"`
  6436  }
  6437  
  6438  // String returns the string representation.
  6439  //
  6440  // API parameter values that are decorated as "sensitive" in the API will not
  6441  // be included in the string output. The member name will be present, but the
  6442  // value will be replaced with "sensitive".
  6443  func (s AdminAccount) String() string {
  6444  	return awsutil.Prettify(s)
  6445  }
  6446  
  6447  // GoString returns the string representation.
  6448  //
  6449  // API parameter values that are decorated as "sensitive" in the API will not
  6450  // be included in the string output. The member name will be present, but the
  6451  // value will be replaced with "sensitive".
  6452  func (s AdminAccount) GoString() string {
  6453  	return s.String()
  6454  }
  6455  
  6456  // SetAccountId sets the AccountId field's value.
  6457  func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
  6458  	s.AccountId = &v
  6459  	return s
  6460  }
  6461  
  6462  // SetStatus sets the Status field's value.
  6463  func (s *AdminAccount) SetStatus(v string) *AdminAccount {
  6464  	s.Status = &v
  6465  	return s
  6466  }
  6467  
  6468  // Information about an Availability Zone.
  6469  type AvailabilityZone struct {
  6470  	_ struct{} `type:"structure"`
  6471  
  6472  	// The ID of the subnet. You can specify one subnet per Availability Zone.
  6473  	SubnetId *string `type:"string"`
  6474  
  6475  	// The name of the Availability Zone.
  6476  	ZoneName *string `type:"string"`
  6477  }
  6478  
  6479  // String returns the string representation.
  6480  //
  6481  // API parameter values that are decorated as "sensitive" in the API will not
  6482  // be included in the string output. The member name will be present, but the
  6483  // value will be replaced with "sensitive".
  6484  func (s AvailabilityZone) String() string {
  6485  	return awsutil.Prettify(s)
  6486  }
  6487  
  6488  // GoString returns the string representation.
  6489  //
  6490  // API parameter values that are decorated as "sensitive" in the API will not
  6491  // be included in the string output. The member name will be present, but the
  6492  // value will be replaced with "sensitive".
  6493  func (s AvailabilityZone) GoString() string {
  6494  	return s.String()
  6495  }
  6496  
  6497  // SetSubnetId sets the SubnetId field's value.
  6498  func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
  6499  	s.SubnetId = &v
  6500  	return s
  6501  }
  6502  
  6503  // SetZoneName sets the ZoneName field's value.
  6504  func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  6505  	s.ZoneName = &v
  6506  	return s
  6507  }
  6508  
  6509  // Provided if ActionType is AWS_API_CALL. It provides details about the API
  6510  // call that was detected.
  6511  type AwsApiCallAction struct {
  6512  	_ struct{} `type:"structure"`
  6513  
  6514  	// Identifies the resources that were affected by the API call.
  6515  	AffectedResources map[string]*string `type:"map"`
  6516  
  6517  	// The name of the API method that was issued.
  6518  	Api *string `type:"string"`
  6519  
  6520  	// Indicates whether the API call originated from a remote IP address (remoteip)
  6521  	// or from a DNS domain (domain).
  6522  	CallerType *string `type:"string"`
  6523  
  6524  	// Provided if CallerType is domain. Provides information about the DNS domain
  6525  	// that the API call originated from.
  6526  	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
  6527  
  6528  	// An ISO8601-formatted timestamp that indicates when the API call was first
  6529  	// observed.
  6530  	FirstSeen *string `type:"string"`
  6531  
  6532  	// An ISO8601-formatted timestamp that indicates when the API call was most
  6533  	// recently observed.
  6534  	LastSeen *string `type:"string"`
  6535  
  6536  	// Provided if CallerType is remoteIp. Provides information about the remote
  6537  	// IP address that the API call originated from.
  6538  	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
  6539  
  6540  	// The name of the Amazon Web Services service that the API method belongs to.
  6541  	ServiceName *string `type:"string"`
  6542  }
  6543  
  6544  // String returns the string representation.
  6545  //
  6546  // API parameter values that are decorated as "sensitive" in the API will not
  6547  // be included in the string output. The member name will be present, but the
  6548  // value will be replaced with "sensitive".
  6549  func (s AwsApiCallAction) String() string {
  6550  	return awsutil.Prettify(s)
  6551  }
  6552  
  6553  // GoString returns the string representation.
  6554  //
  6555  // API parameter values that are decorated as "sensitive" in the API will not
  6556  // be included in the string output. The member name will be present, but the
  6557  // value will be replaced with "sensitive".
  6558  func (s AwsApiCallAction) GoString() string {
  6559  	return s.String()
  6560  }
  6561  
  6562  // SetAffectedResources sets the AffectedResources field's value.
  6563  func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
  6564  	s.AffectedResources = v
  6565  	return s
  6566  }
  6567  
  6568  // SetApi sets the Api field's value.
  6569  func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
  6570  	s.Api = &v
  6571  	return s
  6572  }
  6573  
  6574  // SetCallerType sets the CallerType field's value.
  6575  func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
  6576  	s.CallerType = &v
  6577  	return s
  6578  }
  6579  
  6580  // SetDomainDetails sets the DomainDetails field's value.
  6581  func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
  6582  	s.DomainDetails = v
  6583  	return s
  6584  }
  6585  
  6586  // SetFirstSeen sets the FirstSeen field's value.
  6587  func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
  6588  	s.FirstSeen = &v
  6589  	return s
  6590  }
  6591  
  6592  // SetLastSeen sets the LastSeen field's value.
  6593  func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
  6594  	s.LastSeen = &v
  6595  	return s
  6596  }
  6597  
  6598  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
  6599  func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
  6600  	s.RemoteIpDetails = v
  6601  	return s
  6602  }
  6603  
  6604  // SetServiceName sets the ServiceName field's value.
  6605  func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
  6606  	s.ServiceName = &v
  6607  	return s
  6608  }
  6609  
  6610  // Provided if CallerType is domain. It provides information about the DNS domain
  6611  // that issued the API call.
  6612  type AwsApiCallActionDomainDetails struct {
  6613  	_ struct{} `type:"structure"`
  6614  
  6615  	// The name of the DNS domain that issued the API call.
  6616  	Domain *string `type:"string"`
  6617  }
  6618  
  6619  // String returns the string representation.
  6620  //
  6621  // API parameter values that are decorated as "sensitive" in the API will not
  6622  // be included in the string output. The member name will be present, but the
  6623  // value will be replaced with "sensitive".
  6624  func (s AwsApiCallActionDomainDetails) String() string {
  6625  	return awsutil.Prettify(s)
  6626  }
  6627  
  6628  // GoString returns the string representation.
  6629  //
  6630  // API parameter values that are decorated as "sensitive" in the API will not
  6631  // be included in the string output. The member name will be present, but the
  6632  // value will be replaced with "sensitive".
  6633  func (s AwsApiCallActionDomainDetails) GoString() string {
  6634  	return s.String()
  6635  }
  6636  
  6637  // SetDomain sets the Domain field's value.
  6638  func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
  6639  	s.Domain = &v
  6640  	return s
  6641  }
  6642  
  6643  // Contains information about settings for logging access for the stage.
  6644  type AwsApiGatewayAccessLogSettings struct {
  6645  	_ struct{} `type:"structure"`
  6646  
  6647  	// The ARN of the CloudWatch Logs log group that receives the access logs.
  6648  	DestinationArn *string `type:"string"`
  6649  
  6650  	// A single-line format of the access logs of data, as specified by selected
  6651  	// $context variables. The format must include at least $context.requestId.
  6652  	Format *string `type:"string"`
  6653  }
  6654  
  6655  // String returns the string representation.
  6656  //
  6657  // API parameter values that are decorated as "sensitive" in the API will not
  6658  // be included in the string output. The member name will be present, but the
  6659  // value will be replaced with "sensitive".
  6660  func (s AwsApiGatewayAccessLogSettings) String() string {
  6661  	return awsutil.Prettify(s)
  6662  }
  6663  
  6664  // GoString returns the string representation.
  6665  //
  6666  // API parameter values that are decorated as "sensitive" in the API will not
  6667  // be included in the string output. The member name will be present, but the
  6668  // value will be replaced with "sensitive".
  6669  func (s AwsApiGatewayAccessLogSettings) GoString() string {
  6670  	return s.String()
  6671  }
  6672  
  6673  // SetDestinationArn sets the DestinationArn field's value.
  6674  func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
  6675  	s.DestinationArn = &v
  6676  	return s
  6677  }
  6678  
  6679  // SetFormat sets the Format field's value.
  6680  func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
  6681  	s.Format = &v
  6682  	return s
  6683  }
  6684  
  6685  // Contains information about settings for canary deployment in the stage.
  6686  type AwsApiGatewayCanarySettings struct {
  6687  	_ struct{} `type:"structure"`
  6688  
  6689  	// The deployment identifier for the canary deployment.
  6690  	DeploymentId *string `type:"string"`
  6691  
  6692  	// The percentage of traffic that is diverted to a canary deployment.
  6693  	PercentTraffic *float64 `type:"double"`
  6694  
  6695  	// Stage variables that are overridden in the canary release deployment. The
  6696  	// variables include new stage variables that are introduced in the canary.
  6697  	//
  6698  	// Each variable is represented as a string-to-string map between the stage
  6699  	// variable name and the variable value.
  6700  	StageVariableOverrides map[string]*string `type:"map"`
  6701  
  6702  	// Indicates whether the canary deployment uses the stage cache.
  6703  	UseStageCache *bool `type:"boolean"`
  6704  }
  6705  
  6706  // String returns the string representation.
  6707  //
  6708  // API parameter values that are decorated as "sensitive" in the API will not
  6709  // be included in the string output. The member name will be present, but the
  6710  // value will be replaced with "sensitive".
  6711  func (s AwsApiGatewayCanarySettings) String() string {
  6712  	return awsutil.Prettify(s)
  6713  }
  6714  
  6715  // GoString returns the string representation.
  6716  //
  6717  // API parameter values that are decorated as "sensitive" in the API will not
  6718  // be included in the string output. The member name will be present, but the
  6719  // value will be replaced with "sensitive".
  6720  func (s AwsApiGatewayCanarySettings) GoString() string {
  6721  	return s.String()
  6722  }
  6723  
  6724  // SetDeploymentId sets the DeploymentId field's value.
  6725  func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
  6726  	s.DeploymentId = &v
  6727  	return s
  6728  }
  6729  
  6730  // SetPercentTraffic sets the PercentTraffic field's value.
  6731  func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
  6732  	s.PercentTraffic = &v
  6733  	return s
  6734  }
  6735  
  6736  // SetStageVariableOverrides sets the StageVariableOverrides field's value.
  6737  func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
  6738  	s.StageVariableOverrides = v
  6739  	return s
  6740  }
  6741  
  6742  // SetUseStageCache sets the UseStageCache field's value.
  6743  func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
  6744  	s.UseStageCache = &v
  6745  	return s
  6746  }
  6747  
  6748  // Contains information about the endpoints for the API.
  6749  type AwsApiGatewayEndpointConfiguration struct {
  6750  	_ struct{} `type:"structure"`
  6751  
  6752  	// A list of endpoint types for the REST API.
  6753  	//
  6754  	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
  6755  	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
  6756  	Types []*string `type:"list"`
  6757  }
  6758  
  6759  // String returns the string representation.
  6760  //
  6761  // API parameter values that are decorated as "sensitive" in the API will not
  6762  // be included in the string output. The member name will be present, but the
  6763  // value will be replaced with "sensitive".
  6764  func (s AwsApiGatewayEndpointConfiguration) String() string {
  6765  	return awsutil.Prettify(s)
  6766  }
  6767  
  6768  // GoString returns the string representation.
  6769  //
  6770  // API parameter values that are decorated as "sensitive" in the API will not
  6771  // be included in the string output. The member name will be present, but the
  6772  // value will be replaced with "sensitive".
  6773  func (s AwsApiGatewayEndpointConfiguration) GoString() string {
  6774  	return s.String()
  6775  }
  6776  
  6777  // SetTypes sets the Types field's value.
  6778  func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
  6779  	s.Types = v
  6780  	return s
  6781  }
  6782  
  6783  // Defines settings for a method for the stage.
  6784  type AwsApiGatewayMethodSettings struct {
  6785  	_ struct{} `type:"structure"`
  6786  
  6787  	// Indicates whether the cached responses are encrypted.
  6788  	CacheDataEncrypted *bool `type:"boolean"`
  6789  
  6790  	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
  6791  	// the TTL, the longer the response is cached.
  6792  	CacheTtlInSeconds *int64 `type:"integer"`
  6793  
  6794  	// Indicates whether responses are cached and returned for requests. For responses
  6795  	// to be cached, a cache cluster must be enabled on the stage.
  6796  	CachingEnabled *bool `type:"boolean"`
  6797  
  6798  	// Indicates whether data trace logging is enabled for the method. Data trace
  6799  	// logging affects the log entries that are pushed to CloudWatch Logs.
  6800  	DataTraceEnabled *bool `type:"boolean"`
  6801  
  6802  	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
  6803  	// settings to multiple methods.
  6804  	HttpMethod *string `type:"string"`
  6805  
  6806  	// The logging level for this method. The logging level affects the log entries
  6807  	// that are pushed to CloudWatch Logs.
  6808  	//
  6809  	// If the logging level is ERROR, then the logs only include error-level entries.
  6810  	//
  6811  	// If the logging level is INFO, then the logs include both ERROR events and
  6812  	// extra informational events.
  6813  	//
  6814  	// Valid values: OFF | ERROR | INFO
  6815  	LoggingLevel *string `type:"string"`
  6816  
  6817  	// Indicates whether CloudWatch metrics are enabled for the method.
  6818  	MetricsEnabled *bool `type:"boolean"`
  6819  
  6820  	// Indicates whether authorization is required for a cache invalidation request.
  6821  	RequireAuthorizationForCacheControl *bool `type:"boolean"`
  6822  
  6823  	// The resource path for this method. Forward slashes (/) are encoded as ~1
  6824  	// . The initial slash must include a forward slash.
  6825  	//
  6826  	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
  6827  	//
  6828  	// To specify the root path, use only a slash (/). You can use an asterisk (*)
  6829  	// as a wildcard to apply method settings to multiple methods.
  6830  	ResourcePath *string `type:"string"`
  6831  
  6832  	// The throttling burst limit for the method.
  6833  	ThrottlingBurstLimit *int64 `type:"integer"`
  6834  
  6835  	// The throttling rate limit for the method.
  6836  	ThrottlingRateLimit *float64 `type:"double"`
  6837  
  6838  	// Indicates how to handle unauthorized requests for cache invalidation.
  6839  	//
  6840  	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
  6841  	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
  6842  }
  6843  
  6844  // String returns the string representation.
  6845  //
  6846  // API parameter values that are decorated as "sensitive" in the API will not
  6847  // be included in the string output. The member name will be present, but the
  6848  // value will be replaced with "sensitive".
  6849  func (s AwsApiGatewayMethodSettings) String() string {
  6850  	return awsutil.Prettify(s)
  6851  }
  6852  
  6853  // GoString returns the string representation.
  6854  //
  6855  // API parameter values that are decorated as "sensitive" in the API will not
  6856  // be included in the string output. The member name will be present, but the
  6857  // value will be replaced with "sensitive".
  6858  func (s AwsApiGatewayMethodSettings) GoString() string {
  6859  	return s.String()
  6860  }
  6861  
  6862  // SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
  6863  func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
  6864  	s.CacheDataEncrypted = &v
  6865  	return s
  6866  }
  6867  
  6868  // SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
  6869  func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
  6870  	s.CacheTtlInSeconds = &v
  6871  	return s
  6872  }
  6873  
  6874  // SetCachingEnabled sets the CachingEnabled field's value.
  6875  func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
  6876  	s.CachingEnabled = &v
  6877  	return s
  6878  }
  6879  
  6880  // SetDataTraceEnabled sets the DataTraceEnabled field's value.
  6881  func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
  6882  	s.DataTraceEnabled = &v
  6883  	return s
  6884  }
  6885  
  6886  // SetHttpMethod sets the HttpMethod field's value.
  6887  func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
  6888  	s.HttpMethod = &v
  6889  	return s
  6890  }
  6891  
  6892  // SetLoggingLevel sets the LoggingLevel field's value.
  6893  func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
  6894  	s.LoggingLevel = &v
  6895  	return s
  6896  }
  6897  
  6898  // SetMetricsEnabled sets the MetricsEnabled field's value.
  6899  func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
  6900  	s.MetricsEnabled = &v
  6901  	return s
  6902  }
  6903  
  6904  // SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
  6905  func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
  6906  	s.RequireAuthorizationForCacheControl = &v
  6907  	return s
  6908  }
  6909  
  6910  // SetResourcePath sets the ResourcePath field's value.
  6911  func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
  6912  	s.ResourcePath = &v
  6913  	return s
  6914  }
  6915  
  6916  // SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
  6917  func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
  6918  	s.ThrottlingBurstLimit = &v
  6919  	return s
  6920  }
  6921  
  6922  // SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
  6923  func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
  6924  	s.ThrottlingRateLimit = &v
  6925  	return s
  6926  }
  6927  
  6928  // SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
  6929  func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
  6930  	s.UnauthorizedCacheControlHeaderStrategy = &v
  6931  	return s
  6932  }
  6933  
  6934  // Contains information about a REST API in version 1 of Amazon API Gateway.
  6935  type AwsApiGatewayRestApiDetails struct {
  6936  	_ struct{} `type:"structure"`
  6937  
  6938  	// The source of the API key for metering requests according to a usage plan.
  6939  	//
  6940  	// HEADER indicates whether to read the API key from the X-API-Key header of
  6941  	// a request.
  6942  	//
  6943  	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
  6944  	// from a custom authorizer.
  6945  	ApiKeySource *string `type:"string"`
  6946  
  6947  	// The list of binary media types supported by the REST API.
  6948  	BinaryMediaTypes []*string `type:"list"`
  6949  
  6950  	// Indicates when the API was created.
  6951  	//
  6952  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  6953  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  6954  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  6955  	CreatedDate *string `type:"string"`
  6956  
  6957  	// A description of the REST API.
  6958  	Description *string `type:"string"`
  6959  
  6960  	// The endpoint configuration of the REST API.
  6961  	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
  6962  
  6963  	// The identifier of the REST API.
  6964  	Id *string `type:"string"`
  6965  
  6966  	// The minimum size in bytes of a payload before compression is enabled.
  6967  	//
  6968  	// If null, then compression is disabled.
  6969  	//
  6970  	// If 0, then all payloads are compressed.
  6971  	MinimumCompressionSize *int64 `type:"integer"`
  6972  
  6973  	// The name of the REST API.
  6974  	Name *string `type:"string"`
  6975  
  6976  	// The version identifier for the REST API.
  6977  	Version *string `type:"string"`
  6978  }
  6979  
  6980  // String returns the string representation.
  6981  //
  6982  // API parameter values that are decorated as "sensitive" in the API will not
  6983  // be included in the string output. The member name will be present, but the
  6984  // value will be replaced with "sensitive".
  6985  func (s AwsApiGatewayRestApiDetails) String() string {
  6986  	return awsutil.Prettify(s)
  6987  }
  6988  
  6989  // GoString returns the string representation.
  6990  //
  6991  // API parameter values that are decorated as "sensitive" in the API will not
  6992  // be included in the string output. The member name will be present, but the
  6993  // value will be replaced with "sensitive".
  6994  func (s AwsApiGatewayRestApiDetails) GoString() string {
  6995  	return s.String()
  6996  }
  6997  
  6998  // SetApiKeySource sets the ApiKeySource field's value.
  6999  func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
  7000  	s.ApiKeySource = &v
  7001  	return s
  7002  }
  7003  
  7004  // SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
  7005  func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
  7006  	s.BinaryMediaTypes = v
  7007  	return s
  7008  }
  7009  
  7010  // SetCreatedDate sets the CreatedDate field's value.
  7011  func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
  7012  	s.CreatedDate = &v
  7013  	return s
  7014  }
  7015  
  7016  // SetDescription sets the Description field's value.
  7017  func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
  7018  	s.Description = &v
  7019  	return s
  7020  }
  7021  
  7022  // SetEndpointConfiguration sets the EndpointConfiguration field's value.
  7023  func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
  7024  	s.EndpointConfiguration = v
  7025  	return s
  7026  }
  7027  
  7028  // SetId sets the Id field's value.
  7029  func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
  7030  	s.Id = &v
  7031  	return s
  7032  }
  7033  
  7034  // SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
  7035  func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
  7036  	s.MinimumCompressionSize = &v
  7037  	return s
  7038  }
  7039  
  7040  // SetName sets the Name field's value.
  7041  func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
  7042  	s.Name = &v
  7043  	return s
  7044  }
  7045  
  7046  // SetVersion sets the Version field's value.
  7047  func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
  7048  	s.Version = &v
  7049  	return s
  7050  }
  7051  
  7052  // Provides information about a version 1 Amazon API Gateway stage.
  7053  type AwsApiGatewayStageDetails struct {
  7054  	_ struct{} `type:"structure"`
  7055  
  7056  	// Settings for logging access for the stage.
  7057  	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
  7058  
  7059  	// Indicates whether a cache cluster is enabled for the stage.
  7060  	CacheClusterEnabled *bool `type:"boolean"`
  7061  
  7062  	// If a cache cluster is enabled, the size of the cache cluster.
  7063  	CacheClusterSize *string `type:"string"`
  7064  
  7065  	// If a cache cluster is enabled, the status of the cache cluster.
  7066  	CacheClusterStatus *string `type:"string"`
  7067  
  7068  	// Information about settings for canary deployment in the stage.
  7069  	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
  7070  
  7071  	// The identifier of the client certificate for the stage.
  7072  	ClientCertificateId *string `type:"string"`
  7073  
  7074  	// Indicates when the stage was created.
  7075  	//
  7076  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7077  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7078  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7079  	CreatedDate *string `type:"string"`
  7080  
  7081  	// The identifier of the deployment that the stage points to.
  7082  	DeploymentId *string `type:"string"`
  7083  
  7084  	// A description of the stage.
  7085  	Description *string `type:"string"`
  7086  
  7087  	// The version of the API documentation that is associated with the stage.
  7088  	DocumentationVersion *string `type:"string"`
  7089  
  7090  	// Indicates when the stage was most recently updated.
  7091  	//
  7092  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7093  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7094  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7095  	LastUpdatedDate *string `type:"string"`
  7096  
  7097  	// Defines the method settings for the stage.
  7098  	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
  7099  
  7100  	// The name of the stage.
  7101  	StageName *string `type:"string"`
  7102  
  7103  	// Indicates whether active tracing with X-Ray is enabled for the stage.
  7104  	TracingEnabled *bool `type:"boolean"`
  7105  
  7106  	// A map that defines the stage variables for the stage.
  7107  	//
  7108  	// Variable names can have alphanumeric and underscore characters.
  7109  	//
  7110  	// Variable values can contain the following characters:
  7111  	//
  7112  	//    * Uppercase and lowercase letters
  7113  	//
  7114  	//    * Numbers
  7115  	//
  7116  	//    * Special characters -._~:/?#&=,
  7117  	Variables map[string]*string `type:"map"`
  7118  
  7119  	// The ARN of the web ACL associated with the stage.
  7120  	WebAclArn *string `type:"string"`
  7121  }
  7122  
  7123  // String returns the string representation.
  7124  //
  7125  // API parameter values that are decorated as "sensitive" in the API will not
  7126  // be included in the string output. The member name will be present, but the
  7127  // value will be replaced with "sensitive".
  7128  func (s AwsApiGatewayStageDetails) String() string {
  7129  	return awsutil.Prettify(s)
  7130  }
  7131  
  7132  // GoString returns the string representation.
  7133  //
  7134  // API parameter values that are decorated as "sensitive" in the API will not
  7135  // be included in the string output. The member name will be present, but the
  7136  // value will be replaced with "sensitive".
  7137  func (s AwsApiGatewayStageDetails) GoString() string {
  7138  	return s.String()
  7139  }
  7140  
  7141  // SetAccessLogSettings sets the AccessLogSettings field's value.
  7142  func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
  7143  	s.AccessLogSettings = v
  7144  	return s
  7145  }
  7146  
  7147  // SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
  7148  func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
  7149  	s.CacheClusterEnabled = &v
  7150  	return s
  7151  }
  7152  
  7153  // SetCacheClusterSize sets the CacheClusterSize field's value.
  7154  func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
  7155  	s.CacheClusterSize = &v
  7156  	return s
  7157  }
  7158  
  7159  // SetCacheClusterStatus sets the CacheClusterStatus field's value.
  7160  func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
  7161  	s.CacheClusterStatus = &v
  7162  	return s
  7163  }
  7164  
  7165  // SetCanarySettings sets the CanarySettings field's value.
  7166  func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
  7167  	s.CanarySettings = v
  7168  	return s
  7169  }
  7170  
  7171  // SetClientCertificateId sets the ClientCertificateId field's value.
  7172  func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
  7173  	s.ClientCertificateId = &v
  7174  	return s
  7175  }
  7176  
  7177  // SetCreatedDate sets the CreatedDate field's value.
  7178  func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
  7179  	s.CreatedDate = &v
  7180  	return s
  7181  }
  7182  
  7183  // SetDeploymentId sets the DeploymentId field's value.
  7184  func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
  7185  	s.DeploymentId = &v
  7186  	return s
  7187  }
  7188  
  7189  // SetDescription sets the Description field's value.
  7190  func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
  7191  	s.Description = &v
  7192  	return s
  7193  }
  7194  
  7195  // SetDocumentationVersion sets the DocumentationVersion field's value.
  7196  func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
  7197  	s.DocumentationVersion = &v
  7198  	return s
  7199  }
  7200  
  7201  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
  7202  func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
  7203  	s.LastUpdatedDate = &v
  7204  	return s
  7205  }
  7206  
  7207  // SetMethodSettings sets the MethodSettings field's value.
  7208  func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
  7209  	s.MethodSettings = v
  7210  	return s
  7211  }
  7212  
  7213  // SetStageName sets the StageName field's value.
  7214  func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
  7215  	s.StageName = &v
  7216  	return s
  7217  }
  7218  
  7219  // SetTracingEnabled sets the TracingEnabled field's value.
  7220  func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
  7221  	s.TracingEnabled = &v
  7222  	return s
  7223  }
  7224  
  7225  // SetVariables sets the Variables field's value.
  7226  func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
  7227  	s.Variables = v
  7228  	return s
  7229  }
  7230  
  7231  // SetWebAclArn sets the WebAclArn field's value.
  7232  func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
  7233  	s.WebAclArn = &v
  7234  	return s
  7235  }
  7236  
  7237  // Contains information about a version 2 API in Amazon API Gateway.
  7238  type AwsApiGatewayV2ApiDetails struct {
  7239  	_ struct{} `type:"structure"`
  7240  
  7241  	// The URI of the API.
  7242  	//
  7243  	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
  7244  	//
  7245  	// The stage name is typically appended to the URI to form a complete path to
  7246  	// a deployed API stage.
  7247  	ApiEndpoint *string `type:"string"`
  7248  
  7249  	// The identifier of the API.
  7250  	ApiId *string `type:"string"`
  7251  
  7252  	// An API key selection expression. Supported only for WebSocket APIs.
  7253  	ApiKeySelectionExpression *string `type:"string"`
  7254  
  7255  	// A cross-origin resource sharing (CORS) configuration. Supported only for
  7256  	// HTTP APIs.
  7257  	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
  7258  
  7259  	// Indicates when the API was created.
  7260  	//
  7261  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7262  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7263  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7264  	CreatedDate *string `type:"string"`
  7265  
  7266  	// A description of the API.
  7267  	Description *string `type:"string"`
  7268  
  7269  	// The name of the API.
  7270  	Name *string `type:"string"`
  7271  
  7272  	// The API protocol for the API.
  7273  	//
  7274  	// Valid values: WEBSOCKET | HTTP
  7275  	ProtocolType *string `type:"string"`
  7276  
  7277  	// The route selection expression for the API.
  7278  	//
  7279  	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
  7280  	// value for HTTP APIs.
  7281  	//
  7282  	// For WebSocket APIs, there is no default value.
  7283  	RouteSelectionExpression *string `type:"string"`
  7284  
  7285  	// The version identifier for the API.
  7286  	Version *string `type:"string"`
  7287  }
  7288  
  7289  // String returns the string representation.
  7290  //
  7291  // API parameter values that are decorated as "sensitive" in the API will not
  7292  // be included in the string output. The member name will be present, but the
  7293  // value will be replaced with "sensitive".
  7294  func (s AwsApiGatewayV2ApiDetails) String() string {
  7295  	return awsutil.Prettify(s)
  7296  }
  7297  
  7298  // GoString returns the string representation.
  7299  //
  7300  // API parameter values that are decorated as "sensitive" in the API will not
  7301  // be included in the string output. The member name will be present, but the
  7302  // value will be replaced with "sensitive".
  7303  func (s AwsApiGatewayV2ApiDetails) GoString() string {
  7304  	return s.String()
  7305  }
  7306  
  7307  // SetApiEndpoint sets the ApiEndpoint field's value.
  7308  func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
  7309  	s.ApiEndpoint = &v
  7310  	return s
  7311  }
  7312  
  7313  // SetApiId sets the ApiId field's value.
  7314  func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
  7315  	s.ApiId = &v
  7316  	return s
  7317  }
  7318  
  7319  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
  7320  func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
  7321  	s.ApiKeySelectionExpression = &v
  7322  	return s
  7323  }
  7324  
  7325  // SetCorsConfiguration sets the CorsConfiguration field's value.
  7326  func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
  7327  	s.CorsConfiguration = v
  7328  	return s
  7329  }
  7330  
  7331  // SetCreatedDate sets the CreatedDate field's value.
  7332  func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
  7333  	s.CreatedDate = &v
  7334  	return s
  7335  }
  7336  
  7337  // SetDescription sets the Description field's value.
  7338  func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
  7339  	s.Description = &v
  7340  	return s
  7341  }
  7342  
  7343  // SetName sets the Name field's value.
  7344  func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
  7345  	s.Name = &v
  7346  	return s
  7347  }
  7348  
  7349  // SetProtocolType sets the ProtocolType field's value.
  7350  func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
  7351  	s.ProtocolType = &v
  7352  	return s
  7353  }
  7354  
  7355  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
  7356  func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
  7357  	s.RouteSelectionExpression = &v
  7358  	return s
  7359  }
  7360  
  7361  // SetVersion sets the Version field's value.
  7362  func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
  7363  	s.Version = &v
  7364  	return s
  7365  }
  7366  
  7367  // Contains route settings for a stage.
  7368  type AwsApiGatewayV2RouteSettings struct {
  7369  	_ struct{} `type:"structure"`
  7370  
  7371  	// Indicates whether data trace logging is enabled. Data trace logging affects
  7372  	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
  7373  	// APIs.
  7374  	DataTraceEnabled *bool `type:"boolean"`
  7375  
  7376  	// Indicates whether detailed metrics are enabled.
  7377  	DetailedMetricsEnabled *bool `type:"boolean"`
  7378  
  7379  	// The logging level. The logging level affects the log entries that are pushed
  7380  	// to CloudWatch Logs. Supported only for WebSocket APIs.
  7381  	//
  7382  	// If the logging level is ERROR, then the logs only include error-level entries.
  7383  	//
  7384  	// If the logging level is INFO, then the logs include both ERROR events and
  7385  	// extra informational events.
  7386  	//
  7387  	// Valid values: OFF | ERROR | INFO
  7388  	LoggingLevel *string `type:"string"`
  7389  
  7390  	// The throttling burst limit.
  7391  	ThrottlingBurstLimit *int64 `type:"integer"`
  7392  
  7393  	// The throttling rate limit.
  7394  	ThrottlingRateLimit *float64 `type:"double"`
  7395  }
  7396  
  7397  // String returns the string representation.
  7398  //
  7399  // API parameter values that are decorated as "sensitive" in the API will not
  7400  // be included in the string output. The member name will be present, but the
  7401  // value will be replaced with "sensitive".
  7402  func (s AwsApiGatewayV2RouteSettings) String() string {
  7403  	return awsutil.Prettify(s)
  7404  }
  7405  
  7406  // GoString returns the string representation.
  7407  //
  7408  // API parameter values that are decorated as "sensitive" in the API will not
  7409  // be included in the string output. The member name will be present, but the
  7410  // value will be replaced with "sensitive".
  7411  func (s AwsApiGatewayV2RouteSettings) GoString() string {
  7412  	return s.String()
  7413  }
  7414  
  7415  // SetDataTraceEnabled sets the DataTraceEnabled field's value.
  7416  func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
  7417  	s.DataTraceEnabled = &v
  7418  	return s
  7419  }
  7420  
  7421  // SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
  7422  func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
  7423  	s.DetailedMetricsEnabled = &v
  7424  	return s
  7425  }
  7426  
  7427  // SetLoggingLevel sets the LoggingLevel field's value.
  7428  func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
  7429  	s.LoggingLevel = &v
  7430  	return s
  7431  }
  7432  
  7433  // SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
  7434  func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
  7435  	s.ThrottlingBurstLimit = &v
  7436  	return s
  7437  }
  7438  
  7439  // SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
  7440  func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
  7441  	s.ThrottlingRateLimit = &v
  7442  	return s
  7443  }
  7444  
  7445  // Contains information about a version 2 stage for Amazon API Gateway.
  7446  type AwsApiGatewayV2StageDetails struct {
  7447  	_ struct{} `type:"structure"`
  7448  
  7449  	// Information about settings for logging access for the stage.
  7450  	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
  7451  
  7452  	// Indicates whether the stage is managed by API Gateway.
  7453  	ApiGatewayManaged *bool `type:"boolean"`
  7454  
  7455  	// Indicates whether updates to an API automatically trigger a new deployment.
  7456  	AutoDeploy *bool `type:"boolean"`
  7457  
  7458  	// The identifier of a client certificate for a stage. Supported only for WebSocket
  7459  	// API calls.
  7460  	ClientCertificateId *string `type:"string"`
  7461  
  7462  	// Indicates when the stage was created.
  7463  	//
  7464  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7465  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7466  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7467  	CreatedDate *string `type:"string"`
  7468  
  7469  	// Default route settings for the stage.
  7470  	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
  7471  
  7472  	// The identifier of the deployment that the stage is associated with.
  7473  	DeploymentId *string `type:"string"`
  7474  
  7475  	// The description of the stage.
  7476  	Description *string `type:"string"`
  7477  
  7478  	// The status of the last deployment of a stage. Supported only if the stage
  7479  	// has automatic deployment enabled.
  7480  	LastDeploymentStatusMessage *string `type:"string"`
  7481  
  7482  	// Indicates when the stage was most recently updated.
  7483  	//
  7484  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7485  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7486  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7487  	LastUpdatedDate *string `type:"string"`
  7488  
  7489  	// The route settings for the stage.
  7490  	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
  7491  
  7492  	// The name of the stage.
  7493  	StageName *string `type:"string"`
  7494  
  7495  	// A map that defines the stage variables for the stage.
  7496  	//
  7497  	// Variable names can have alphanumeric and underscore characters.
  7498  	//
  7499  	// Variable values can contain the following characters:
  7500  	//
  7501  	//    * Uppercase and lowercase letters
  7502  	//
  7503  	//    * Numbers
  7504  	//
  7505  	//    * Special characters -._~:/?#&=,
  7506  	StageVariables map[string]*string `type:"map"`
  7507  }
  7508  
  7509  // String returns the string representation.
  7510  //
  7511  // API parameter values that are decorated as "sensitive" in the API will not
  7512  // be included in the string output. The member name will be present, but the
  7513  // value will be replaced with "sensitive".
  7514  func (s AwsApiGatewayV2StageDetails) String() string {
  7515  	return awsutil.Prettify(s)
  7516  }
  7517  
  7518  // GoString returns the string representation.
  7519  //
  7520  // API parameter values that are decorated as "sensitive" in the API will not
  7521  // be included in the string output. The member name will be present, but the
  7522  // value will be replaced with "sensitive".
  7523  func (s AwsApiGatewayV2StageDetails) GoString() string {
  7524  	return s.String()
  7525  }
  7526  
  7527  // SetAccessLogSettings sets the AccessLogSettings field's value.
  7528  func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
  7529  	s.AccessLogSettings = v
  7530  	return s
  7531  }
  7532  
  7533  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  7534  func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
  7535  	s.ApiGatewayManaged = &v
  7536  	return s
  7537  }
  7538  
  7539  // SetAutoDeploy sets the AutoDeploy field's value.
  7540  func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
  7541  	s.AutoDeploy = &v
  7542  	return s
  7543  }
  7544  
  7545  // SetClientCertificateId sets the ClientCertificateId field's value.
  7546  func (s *AwsApiGatewayV2StageDetails) SetClientCertificateId(v string) *AwsApiGatewayV2StageDetails {
  7547  	s.ClientCertificateId = &v
  7548  	return s
  7549  }
  7550  
  7551  // SetCreatedDate sets the CreatedDate field's value.
  7552  func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
  7553  	s.CreatedDate = &v
  7554  	return s
  7555  }
  7556  
  7557  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
  7558  func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
  7559  	s.DefaultRouteSettings = v
  7560  	return s
  7561  }
  7562  
  7563  // SetDeploymentId sets the DeploymentId field's value.
  7564  func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
  7565  	s.DeploymentId = &v
  7566  	return s
  7567  }
  7568  
  7569  // SetDescription sets the Description field's value.
  7570  func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
  7571  	s.Description = &v
  7572  	return s
  7573  }
  7574  
  7575  // SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
  7576  func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
  7577  	s.LastDeploymentStatusMessage = &v
  7578  	return s
  7579  }
  7580  
  7581  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
  7582  func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
  7583  	s.LastUpdatedDate = &v
  7584  	return s
  7585  }
  7586  
  7587  // SetRouteSettings sets the RouteSettings field's value.
  7588  func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
  7589  	s.RouteSettings = v
  7590  	return s
  7591  }
  7592  
  7593  // SetStageName sets the StageName field's value.
  7594  func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
  7595  	s.StageName = &v
  7596  	return s
  7597  }
  7598  
  7599  // SetStageVariables sets the StageVariables field's value.
  7600  func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
  7601  	s.StageVariables = v
  7602  	return s
  7603  }
  7604  
  7605  // Provides details about an auto scaling group.
  7606  type AwsAutoScalingAutoScalingGroupDetails struct {
  7607  	_ struct{} `type:"structure"`
  7608  
  7609  	// Indicates when the auto scaling group was created.
  7610  	//
  7611  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7612  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7613  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7614  	CreatedTime *string `type:"string"`
  7615  
  7616  	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
  7617  	// it checks the health status of an EC2 instance that has come into service.
  7618  	HealthCheckGracePeriod *int64 `type:"integer"`
  7619  
  7620  	// The service to use for the health checks.
  7621  	HealthCheckType *string `type:"string"`
  7622  
  7623  	// The name of the launch configuration.
  7624  	LaunchConfigurationName *string `type:"string"`
  7625  
  7626  	// The list of load balancers associated with the group.
  7627  	LoadBalancerNames []*string `type:"list"`
  7628  }
  7629  
  7630  // String returns the string representation.
  7631  //
  7632  // API parameter values that are decorated as "sensitive" in the API will not
  7633  // be included in the string output. The member name will be present, but the
  7634  // value will be replaced with "sensitive".
  7635  func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
  7636  	return awsutil.Prettify(s)
  7637  }
  7638  
  7639  // GoString returns the string representation.
  7640  //
  7641  // API parameter values that are decorated as "sensitive" in the API will not
  7642  // be included in the string output. The member name will be present, but the
  7643  // value will be replaced with "sensitive".
  7644  func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
  7645  	return s.String()
  7646  }
  7647  
  7648  // SetCreatedTime sets the CreatedTime field's value.
  7649  func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
  7650  	s.CreatedTime = &v
  7651  	return s
  7652  }
  7653  
  7654  // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
  7655  func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
  7656  	s.HealthCheckGracePeriod = &v
  7657  	return s
  7658  }
  7659  
  7660  // SetHealthCheckType sets the HealthCheckType field's value.
  7661  func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
  7662  	s.HealthCheckType = &v
  7663  	return s
  7664  }
  7665  
  7666  // SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
  7667  func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
  7668  	s.LaunchConfigurationName = &v
  7669  	return s
  7670  }
  7671  
  7672  // SetLoadBalancerNames sets the LoadBalancerNames field's value.
  7673  func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
  7674  	s.LoadBalancerNames = v
  7675  	return s
  7676  }
  7677  
  7678  // A block device for the instance.
  7679  type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails struct {
  7680  	_ struct{} `type:"structure"`
  7681  
  7682  	// The device name that is exposed to the EC2 instance. For example, /dev/sdh
  7683  	// or xvdh.
  7684  	DeviceName *string `type:"string"`
  7685  
  7686  	// Parameters that are used to automatically set up Amazon EBS volumes when
  7687  	// an instance is launched.
  7688  	Ebs *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails `type:"structure"`
  7689  
  7690  	// Whether to suppress the device that is included in the block device mapping
  7691  	// of the Amazon Machine Image (AMI).
  7692  	//
  7693  	// If NoDevice is true, then you cannot specify Ebs.>
  7694  	NoDevice *bool `type:"boolean"`
  7695  
  7696  	// The name of the virtual device (for example, ephemeral0).
  7697  	//
  7698  	// You can provide either VirtualName or Ebs, but not both.
  7699  	VirtualName *string `type:"string"`
  7700  }
  7701  
  7702  // String returns the string representation.
  7703  //
  7704  // API parameter values that are decorated as "sensitive" in the API will not
  7705  // be included in the string output. The member name will be present, but the
  7706  // value will be replaced with "sensitive".
  7707  func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) String() string {
  7708  	return awsutil.Prettify(s)
  7709  }
  7710  
  7711  // GoString returns the string representation.
  7712  //
  7713  // API parameter values that are decorated as "sensitive" in the API will not
  7714  // be included in the string output. The member name will be present, but the
  7715  // value will be replaced with "sensitive".
  7716  func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) GoString() string {
  7717  	return s.String()
  7718  }
  7719  
  7720  // SetDeviceName sets the DeviceName field's value.
  7721  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetDeviceName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
  7722  	s.DeviceName = &v
  7723  	return s
  7724  }
  7725  
  7726  // SetEbs sets the Ebs field's value.
  7727  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetEbs(v *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
  7728  	s.Ebs = v
  7729  	return s
  7730  }
  7731  
  7732  // SetNoDevice sets the NoDevice field's value.
  7733  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetNoDevice(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
  7734  	s.NoDevice = &v
  7735  	return s
  7736  }
  7737  
  7738  // SetVirtualName sets the VirtualName field's value.
  7739  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetVirtualName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
  7740  	s.VirtualName = &v
  7741  	return s
  7742  }
  7743  
  7744  // Parameters that are used to automatically set up EBS volumes when an instance
  7745  // is launched.
  7746  type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails struct {
  7747  	_ struct{} `type:"structure"`
  7748  
  7749  	// Whether to delete the volume when the instance is terminated.
  7750  	DeleteOnTermination *bool `type:"boolean"`
  7751  
  7752  	// Whether to encrypt the volume.
  7753  	Encrypted *bool `type:"boolean"`
  7754  
  7755  	// The number of input/output (I/O) operations per second (IOPS) to provision
  7756  	// for the volume.
  7757  	//
  7758  	// Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used
  7759  	// with standard, gp2, st1, or sc1 volumes.
  7760  	Iops *int64 `type:"integer"`
  7761  
  7762  	// The snapshot ID of the volume to use.
  7763  	//
  7764  	// You must specify either VolumeSize or SnapshotId.
  7765  	SnapshotId *string `type:"string"`
  7766  
  7767  	// The volume size, in GiBs. The following are the supported volumes sizes for
  7768  	// each volume type:
  7769  	//
  7770  	//    * gp2 and gp3: 1-16,384
  7771  	//
  7772  	//    * io1: 4-16,384
  7773  	//
  7774  	//    * st1 and sc1: 125-16,384
  7775  	//
  7776  	//    * standard: 1-1,024
  7777  	//
  7778  	// You must specify either SnapshotId or VolumeSize. If you specify both SnapshotId
  7779  	// and VolumeSize, the volume size must be equal or greater than the size of
  7780  	// the snapshot.
  7781  	VolumeSize *int64 `type:"integer"`
  7782  
  7783  	// The volume type.
  7784  	VolumeType *string `type:"string"`
  7785  }
  7786  
  7787  // String returns the string representation.
  7788  //
  7789  // API parameter values that are decorated as "sensitive" in the API will not
  7790  // be included in the string output. The member name will be present, but the
  7791  // value will be replaced with "sensitive".
  7792  func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) String() string {
  7793  	return awsutil.Prettify(s)
  7794  }
  7795  
  7796  // GoString returns the string representation.
  7797  //
  7798  // API parameter values that are decorated as "sensitive" in the API will not
  7799  // be included in the string output. The member name will be present, but the
  7800  // value will be replaced with "sensitive".
  7801  func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) GoString() string {
  7802  	return s.String()
  7803  }
  7804  
  7805  // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  7806  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetDeleteOnTermination(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7807  	s.DeleteOnTermination = &v
  7808  	return s
  7809  }
  7810  
  7811  // SetEncrypted sets the Encrypted field's value.
  7812  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetEncrypted(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7813  	s.Encrypted = &v
  7814  	return s
  7815  }
  7816  
  7817  // SetIops sets the Iops field's value.
  7818  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetIops(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7819  	s.Iops = &v
  7820  	return s
  7821  }
  7822  
  7823  // SetSnapshotId sets the SnapshotId field's value.
  7824  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetSnapshotId(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7825  	s.SnapshotId = &v
  7826  	return s
  7827  }
  7828  
  7829  // SetVolumeSize sets the VolumeSize field's value.
  7830  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeSize(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7831  	s.VolumeSize = &v
  7832  	return s
  7833  }
  7834  
  7835  // SetVolumeType sets the VolumeType field's value.
  7836  func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeType(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
  7837  	s.VolumeType = &v
  7838  	return s
  7839  }
  7840  
  7841  // Details about a launch configuration.
  7842  type AwsAutoScalingLaunchConfigurationDetails struct {
  7843  	_ struct{} `type:"structure"`
  7844  
  7845  	// For Auto Scaling groups that run in a VPC, specifies whether to assign a
  7846  	// public IP address to the group's instances.
  7847  	AssociatePublicIpAddress *bool `type:"boolean"`
  7848  
  7849  	// Specifies the block devices for the instance.
  7850  	BlockDeviceMappings []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails `type:"list"`
  7851  
  7852  	// The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are
  7853  	// linked to.
  7854  	ClassicLinkVpcId *string `type:"string"`
  7855  
  7856  	// The identifiers of one or more security groups for the VPC that is specified
  7857  	// in ClassicLinkVPCId.
  7858  	ClassicLinkVpcSecurityGroups []*string `type:"list"`
  7859  
  7860  	// The creation date and time for the launch configuration.
  7861  	//
  7862  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  7863  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  7864  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  7865  	CreatedTime *string `type:"string"`
  7866  
  7867  	// Whether the launch configuration is optimized for Amazon EBS I/O.
  7868  	EbsOptimized *bool `type:"boolean"`
  7869  
  7870  	// The name or the ARN of the instance profile associated with the IAM role
  7871  	// for the instance. The instance profile contains the IAM role.
  7872  	IamInstanceProfile *string `type:"string"`
  7873  
  7874  	// The identifier of the Amazon Machine Image (AMI) that is used to launch EC2
  7875  	// instances.
  7876  	ImageId *string `type:"string"`
  7877  
  7878  	// Indicates the type of monitoring for instances in the group.
  7879  	InstanceMonitoring *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails `type:"structure"`
  7880  
  7881  	// The instance type for the instances.
  7882  	InstanceType *string `type:"string"`
  7883  
  7884  	// The identifier of the kernel associated with the AMI.
  7885  	KernelId *string `type:"string"`
  7886  
  7887  	// The name of the key pair.
  7888  	KeyName *string `type:"string"`
  7889  
  7890  	// The name of the launch configuration.
  7891  	LaunchConfigurationName *string `type:"string"`
  7892  
  7893  	// The tenancy of the instance. An instance with dedicated tenancy runs on isolated,
  7894  	// single-tenant hardware and can only be launched into a VPC.
  7895  	PlacementTenancy *string `type:"string"`
  7896  
  7897  	// The identifier of the RAM disk associated with the AMI.
  7898  	RamdiskId *string `type:"string"`
  7899  
  7900  	// The security groups to assign to the instances in the Auto Scaling group.
  7901  	SecurityGroups []*string `type:"list"`
  7902  
  7903  	// The maximum hourly price to be paid for any Spot Instance that is launched
  7904  	// to fulfill the request.
  7905  	SpotPrice *string `type:"string"`
  7906  
  7907  	// The user data to make available to the launched EC2 instances. Must be base64-encoded
  7908  	// text.
  7909  	UserData *string `type:"string"`
  7910  }
  7911  
  7912  // String returns the string representation.
  7913  //
  7914  // API parameter values that are decorated as "sensitive" in the API will not
  7915  // be included in the string output. The member name will be present, but the
  7916  // value will be replaced with "sensitive".
  7917  func (s AwsAutoScalingLaunchConfigurationDetails) String() string {
  7918  	return awsutil.Prettify(s)
  7919  }
  7920  
  7921  // GoString returns the string representation.
  7922  //
  7923  // API parameter values that are decorated as "sensitive" in the API will not
  7924  // be included in the string output. The member name will be present, but the
  7925  // value will be replaced with "sensitive".
  7926  func (s AwsAutoScalingLaunchConfigurationDetails) GoString() string {
  7927  	return s.String()
  7928  }
  7929  
  7930  // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  7931  func (s *AwsAutoScalingLaunchConfigurationDetails) SetAssociatePublicIpAddress(v bool) *AwsAutoScalingLaunchConfigurationDetails {
  7932  	s.AssociatePublicIpAddress = &v
  7933  	return s
  7934  }
  7935  
  7936  // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  7937  func (s *AwsAutoScalingLaunchConfigurationDetails) SetBlockDeviceMappings(v []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) *AwsAutoScalingLaunchConfigurationDetails {
  7938  	s.BlockDeviceMappings = v
  7939  	return s
  7940  }
  7941  
  7942  // SetClassicLinkVpcId sets the ClassicLinkVpcId field's value.
  7943  func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcId(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7944  	s.ClassicLinkVpcId = &v
  7945  	return s
  7946  }
  7947  
  7948  // SetClassicLinkVpcSecurityGroups sets the ClassicLinkVpcSecurityGroups field's value.
  7949  func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
  7950  	s.ClassicLinkVpcSecurityGroups = v
  7951  	return s
  7952  }
  7953  
  7954  // SetCreatedTime sets the CreatedTime field's value.
  7955  func (s *AwsAutoScalingLaunchConfigurationDetails) SetCreatedTime(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7956  	s.CreatedTime = &v
  7957  	return s
  7958  }
  7959  
  7960  // SetEbsOptimized sets the EbsOptimized field's value.
  7961  func (s *AwsAutoScalingLaunchConfigurationDetails) SetEbsOptimized(v bool) *AwsAutoScalingLaunchConfigurationDetails {
  7962  	s.EbsOptimized = &v
  7963  	return s
  7964  }
  7965  
  7966  // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  7967  func (s *AwsAutoScalingLaunchConfigurationDetails) SetIamInstanceProfile(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7968  	s.IamInstanceProfile = &v
  7969  	return s
  7970  }
  7971  
  7972  // SetImageId sets the ImageId field's value.
  7973  func (s *AwsAutoScalingLaunchConfigurationDetails) SetImageId(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7974  	s.ImageId = &v
  7975  	return s
  7976  }
  7977  
  7978  // SetInstanceMonitoring sets the InstanceMonitoring field's value.
  7979  func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceMonitoring(v *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) *AwsAutoScalingLaunchConfigurationDetails {
  7980  	s.InstanceMonitoring = v
  7981  	return s
  7982  }
  7983  
  7984  // SetInstanceType sets the InstanceType field's value.
  7985  func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceType(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7986  	s.InstanceType = &v
  7987  	return s
  7988  }
  7989  
  7990  // SetKernelId sets the KernelId field's value.
  7991  func (s *AwsAutoScalingLaunchConfigurationDetails) SetKernelId(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7992  	s.KernelId = &v
  7993  	return s
  7994  }
  7995  
  7996  // SetKeyName sets the KeyName field's value.
  7997  func (s *AwsAutoScalingLaunchConfigurationDetails) SetKeyName(v string) *AwsAutoScalingLaunchConfigurationDetails {
  7998  	s.KeyName = &v
  7999  	return s
  8000  }
  8001  
  8002  // SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
  8003  func (s *AwsAutoScalingLaunchConfigurationDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingLaunchConfigurationDetails {
  8004  	s.LaunchConfigurationName = &v
  8005  	return s
  8006  }
  8007  
  8008  // SetPlacementTenancy sets the PlacementTenancy field's value.
  8009  func (s *AwsAutoScalingLaunchConfigurationDetails) SetPlacementTenancy(v string) *AwsAutoScalingLaunchConfigurationDetails {
  8010  	s.PlacementTenancy = &v
  8011  	return s
  8012  }
  8013  
  8014  // SetRamdiskId sets the RamdiskId field's value.
  8015  func (s *AwsAutoScalingLaunchConfigurationDetails) SetRamdiskId(v string) *AwsAutoScalingLaunchConfigurationDetails {
  8016  	s.RamdiskId = &v
  8017  	return s
  8018  }
  8019  
  8020  // SetSecurityGroups sets the SecurityGroups field's value.
  8021  func (s *AwsAutoScalingLaunchConfigurationDetails) SetSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
  8022  	s.SecurityGroups = v
  8023  	return s
  8024  }
  8025  
  8026  // SetSpotPrice sets the SpotPrice field's value.
  8027  func (s *AwsAutoScalingLaunchConfigurationDetails) SetSpotPrice(v string) *AwsAutoScalingLaunchConfigurationDetails {
  8028  	s.SpotPrice = &v
  8029  	return s
  8030  }
  8031  
  8032  // SetUserData sets the UserData field's value.
  8033  func (s *AwsAutoScalingLaunchConfigurationDetails) SetUserData(v string) *AwsAutoScalingLaunchConfigurationDetails {
  8034  	s.UserData = &v
  8035  	return s
  8036  }
  8037  
  8038  // Information about the type of monitoring for instances in the group.
  8039  type AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails struct {
  8040  	_ struct{} `type:"structure"`
  8041  
  8042  	// If set to true, then instances in the group launch with detailed monitoring.
  8043  	//
  8044  	// If set to false, then instances in the group launch with basic monitoring.
  8045  	Enabled *bool `type:"boolean"`
  8046  }
  8047  
  8048  // String returns the string representation.
  8049  //
  8050  // API parameter values that are decorated as "sensitive" in the API will not
  8051  // be included in the string output. The member name will be present, but the
  8052  // value will be replaced with "sensitive".
  8053  func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) String() string {
  8054  	return awsutil.Prettify(s)
  8055  }
  8056  
  8057  // GoString returns the string representation.
  8058  //
  8059  // API parameter values that are decorated as "sensitive" in the API will not
  8060  // be included in the string output. The member name will be present, but the
  8061  // value will be replaced with "sensitive".
  8062  func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) GoString() string {
  8063  	return s.String()
  8064  }
  8065  
  8066  // SetEnabled sets the Enabled field's value.
  8067  func (s *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) SetEnabled(v bool) *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails {
  8068  	s.Enabled = &v
  8069  	return s
  8070  }
  8071  
  8072  // Provides details about an Certificate Manager certificate.
  8073  type AwsCertificateManagerCertificateDetails struct {
  8074  	_ struct{} `type:"structure"`
  8075  
  8076  	// The ARN of the private certificate authority (CA) that will be used to issue
  8077  	// the certificate.
  8078  	CertificateAuthorityArn *string `type:"string"`
  8079  
  8080  	// Indicates when the certificate was requested.
  8081  	//
  8082  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8083  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8084  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8085  	CreatedAt *string `type:"string"`
  8086  
  8087  	// The fully qualified domain name (FQDN), such as www.example.com, that is
  8088  	// secured by the certificate.
  8089  	DomainName *string `type:"string"`
  8090  
  8091  	// Contains information about the initial validation of each domain name that
  8092  	// occurs as a result of the RequestCertificate request.
  8093  	//
  8094  	// Only provided if the certificate type is AMAZON_ISSUED.
  8095  	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
  8096  
  8097  	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
  8098  	// specifies a purpose for which the certificate public key can be used and
  8099  	// consists of a name and an object identifier (OID).
  8100  	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
  8101  
  8102  	// For a failed certificate request, the reason for the failure.
  8103  	//
  8104  	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
  8105  	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
  8106  	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
  8107  	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
  8108  	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
  8109  	FailureReason *string `type:"string"`
  8110  
  8111  	// Indicates when the certificate was imported. Provided if the certificate
  8112  	// type is IMPORTED.
  8113  	//
  8114  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8115  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8116  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8117  	ImportedAt *string `type:"string"`
  8118  
  8119  	// The list of ARNs for the Amazon Web Services resources that use the certificate.
  8120  	InUseBy []*string `type:"list"`
  8121  
  8122  	// Indicates when the certificate was issued. Provided if the certificate type
  8123  	// is AMAZON_ISSUED.
  8124  	//
  8125  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8126  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8127  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8128  	IssuedAt *string `type:"string"`
  8129  
  8130  	// The name of the certificate authority that issued and signed the certificate.
  8131  	Issuer *string `type:"string"`
  8132  
  8133  	// The algorithm that was used to generate the public-private key pair.
  8134  	//
  8135  	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
  8136  	// | EC_secp521r1
  8137  	KeyAlgorithm *string `type:"string"`
  8138  
  8139  	// A list of key usage X.509 v3 extension objects.
  8140  	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
  8141  
  8142  	// The time after which the certificate becomes invalid.
  8143  	//
  8144  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8145  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8146  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8147  	NotAfter *string `type:"string"`
  8148  
  8149  	// The time before which the certificate is not valid.
  8150  	//
  8151  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8152  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8153  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8154  	NotBefore *string `type:"string"`
  8155  
  8156  	// Provides a value that specifies whether to add the certificate to a transparency
  8157  	// log.
  8158  	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
  8159  
  8160  	// Whether the certificate is eligible for renewal.
  8161  	//
  8162  	// Valid values: ELIGIBLE | INELIGIBLE
  8163  	RenewalEligibility *string `type:"string"`
  8164  
  8165  	// Information about the status of the Certificate Manager managed renewal for
  8166  	// the certificate. Provided only when the certificate type is AMAZON_ISSUED.
  8167  	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
  8168  
  8169  	// The serial number of the certificate.
  8170  	Serial *string `type:"string"`
  8171  
  8172  	// The algorithm that was used to sign the certificate.
  8173  	SignatureAlgorithm *string `type:"string"`
  8174  
  8175  	// The status of the certificate.
  8176  	//
  8177  	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
  8178  	// | REVOKED | FAILED
  8179  	Status *string `type:"string"`
  8180  
  8181  	// The name of the entity that is associated with the public key contained in
  8182  	// the certificate.
  8183  	Subject *string `type:"string"`
  8184  
  8185  	// One or more domain names (subject alternative names) included in the certificate.
  8186  	// This list contains the domain names that are bound to the public key that
  8187  	// is contained in the certificate.
  8188  	//
  8189  	// The subject alternative names include the canonical domain name (CN) of the
  8190  	// certificate and additional domain names that can be used to connect to the
  8191  	// website.
  8192  	SubjectAlternativeNames []*string `type:"list"`
  8193  
  8194  	// The source of the certificate. For certificates that Certificate Manager
  8195  	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
  8196  	// ImportCertificate, Type is IMPORTED.
  8197  	//
  8198  	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
  8199  	Type *string `type:"string"`
  8200  }
  8201  
  8202  // String returns the string representation.
  8203  //
  8204  // API parameter values that are decorated as "sensitive" in the API will not
  8205  // be included in the string output. The member name will be present, but the
  8206  // value will be replaced with "sensitive".
  8207  func (s AwsCertificateManagerCertificateDetails) String() string {
  8208  	return awsutil.Prettify(s)
  8209  }
  8210  
  8211  // GoString returns the string representation.
  8212  //
  8213  // API parameter values that are decorated as "sensitive" in the API will not
  8214  // be included in the string output. The member name will be present, but the
  8215  // value will be replaced with "sensitive".
  8216  func (s AwsCertificateManagerCertificateDetails) GoString() string {
  8217  	return s.String()
  8218  }
  8219  
  8220  // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
  8221  func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
  8222  	s.CertificateAuthorityArn = &v
  8223  	return s
  8224  }
  8225  
  8226  // SetCreatedAt sets the CreatedAt field's value.
  8227  func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
  8228  	s.CreatedAt = &v
  8229  	return s
  8230  }
  8231  
  8232  // SetDomainName sets the DomainName field's value.
  8233  func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
  8234  	s.DomainName = &v
  8235  	return s
  8236  }
  8237  
  8238  // SetDomainValidationOptions sets the DomainValidationOptions field's value.
  8239  func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
  8240  	s.DomainValidationOptions = v
  8241  	return s
  8242  }
  8243  
  8244  // SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
  8245  func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
  8246  	s.ExtendedKeyUsages = v
  8247  	return s
  8248  }
  8249  
  8250  // SetFailureReason sets the FailureReason field's value.
  8251  func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
  8252  	s.FailureReason = &v
  8253  	return s
  8254  }
  8255  
  8256  // SetImportedAt sets the ImportedAt field's value.
  8257  func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
  8258  	s.ImportedAt = &v
  8259  	return s
  8260  }
  8261  
  8262  // SetInUseBy sets the InUseBy field's value.
  8263  func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
  8264  	s.InUseBy = v
  8265  	return s
  8266  }
  8267  
  8268  // SetIssuedAt sets the IssuedAt field's value.
  8269  func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
  8270  	s.IssuedAt = &v
  8271  	return s
  8272  }
  8273  
  8274  // SetIssuer sets the Issuer field's value.
  8275  func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
  8276  	s.Issuer = &v
  8277  	return s
  8278  }
  8279  
  8280  // SetKeyAlgorithm sets the KeyAlgorithm field's value.
  8281  func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
  8282  	s.KeyAlgorithm = &v
  8283  	return s
  8284  }
  8285  
  8286  // SetKeyUsages sets the KeyUsages field's value.
  8287  func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
  8288  	s.KeyUsages = v
  8289  	return s
  8290  }
  8291  
  8292  // SetNotAfter sets the NotAfter field's value.
  8293  func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
  8294  	s.NotAfter = &v
  8295  	return s
  8296  }
  8297  
  8298  // SetNotBefore sets the NotBefore field's value.
  8299  func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
  8300  	s.NotBefore = &v
  8301  	return s
  8302  }
  8303  
  8304  // SetOptions sets the Options field's value.
  8305  func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
  8306  	s.Options = v
  8307  	return s
  8308  }
  8309  
  8310  // SetRenewalEligibility sets the RenewalEligibility field's value.
  8311  func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
  8312  	s.RenewalEligibility = &v
  8313  	return s
  8314  }
  8315  
  8316  // SetRenewalSummary sets the RenewalSummary field's value.
  8317  func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
  8318  	s.RenewalSummary = v
  8319  	return s
  8320  }
  8321  
  8322  // SetSerial sets the Serial field's value.
  8323  func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
  8324  	s.Serial = &v
  8325  	return s
  8326  }
  8327  
  8328  // SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
  8329  func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
  8330  	s.SignatureAlgorithm = &v
  8331  	return s
  8332  }
  8333  
  8334  // SetStatus sets the Status field's value.
  8335  func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
  8336  	s.Status = &v
  8337  	return s
  8338  }
  8339  
  8340  // SetSubject sets the Subject field's value.
  8341  func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
  8342  	s.Subject = &v
  8343  	return s
  8344  }
  8345  
  8346  // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
  8347  func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
  8348  	s.SubjectAlternativeNames = v
  8349  	return s
  8350  }
  8351  
  8352  // SetType sets the Type field's value.
  8353  func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
  8354  	s.Type = &v
  8355  	return s
  8356  }
  8357  
  8358  // Contains information about one of the following:
  8359  //
  8360  //    * The initial validation of each domain name that occurs as a result of
  8361  //    the RequestCertificate request
  8362  //
  8363  //    * The validation of each domain name in the certificate, as it pertains
  8364  //    to Certificate Manager managed renewal
  8365  type AwsCertificateManagerCertificateDomainValidationOption struct {
  8366  	_ struct{} `type:"structure"`
  8367  
  8368  	// A fully qualified domain name (FQDN) in the certificate.
  8369  	DomainName *string `type:"string"`
  8370  
  8371  	// The CNAME record that is added to the DNS database for domain validation.
  8372  	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
  8373  
  8374  	// The domain name that Certificate Manager uses to send domain validation emails.
  8375  	ValidationDomain *string `type:"string"`
  8376  
  8377  	// A list of email addresses that Certificate Manager uses to send domain validation
  8378  	// emails.
  8379  	ValidationEmails []*string `type:"list"`
  8380  
  8381  	// The method used to validate the domain name.
  8382  	ValidationMethod *string `type:"string"`
  8383  
  8384  	// The validation status of the domain name.
  8385  	ValidationStatus *string `type:"string"`
  8386  }
  8387  
  8388  // String returns the string representation.
  8389  //
  8390  // API parameter values that are decorated as "sensitive" in the API will not
  8391  // be included in the string output. The member name will be present, but the
  8392  // value will be replaced with "sensitive".
  8393  func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
  8394  	return awsutil.Prettify(s)
  8395  }
  8396  
  8397  // GoString returns the string representation.
  8398  //
  8399  // API parameter values that are decorated as "sensitive" in the API will not
  8400  // be included in the string output. The member name will be present, but the
  8401  // value will be replaced with "sensitive".
  8402  func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
  8403  	return s.String()
  8404  }
  8405  
  8406  // SetDomainName sets the DomainName field's value.
  8407  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
  8408  	s.DomainName = &v
  8409  	return s
  8410  }
  8411  
  8412  // SetResourceRecord sets the ResourceRecord field's value.
  8413  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
  8414  	s.ResourceRecord = v
  8415  	return s
  8416  }
  8417  
  8418  // SetValidationDomain sets the ValidationDomain field's value.
  8419  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
  8420  	s.ValidationDomain = &v
  8421  	return s
  8422  }
  8423  
  8424  // SetValidationEmails sets the ValidationEmails field's value.
  8425  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
  8426  	s.ValidationEmails = v
  8427  	return s
  8428  }
  8429  
  8430  // SetValidationMethod sets the ValidationMethod field's value.
  8431  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
  8432  	s.ValidationMethod = &v
  8433  	return s
  8434  }
  8435  
  8436  // SetValidationStatus sets the ValidationStatus field's value.
  8437  func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
  8438  	s.ValidationStatus = &v
  8439  	return s
  8440  }
  8441  
  8442  // Contains information about an extended key usage X.509 v3 extension object.
  8443  type AwsCertificateManagerCertificateExtendedKeyUsage struct {
  8444  	_ struct{} `type:"structure"`
  8445  
  8446  	// The name of an extension value. Indicates the purpose for which the certificate
  8447  	// public key can be used.
  8448  	Name *string `type:"string"`
  8449  
  8450  	// An object identifier (OID) for the extension value.
  8451  	//
  8452  	// The format is numbers separated by periods.
  8453  	OId *string `type:"string"`
  8454  }
  8455  
  8456  // String returns the string representation.
  8457  //
  8458  // API parameter values that are decorated as "sensitive" in the API will not
  8459  // be included in the string output. The member name will be present, but the
  8460  // value will be replaced with "sensitive".
  8461  func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
  8462  	return awsutil.Prettify(s)
  8463  }
  8464  
  8465  // GoString returns the string representation.
  8466  //
  8467  // API parameter values that are decorated as "sensitive" in the API will not
  8468  // be included in the string output. The member name will be present, but the
  8469  // value will be replaced with "sensitive".
  8470  func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
  8471  	return s.String()
  8472  }
  8473  
  8474  // SetName sets the Name field's value.
  8475  func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
  8476  	s.Name = &v
  8477  	return s
  8478  }
  8479  
  8480  // SetOId sets the OId field's value.
  8481  func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
  8482  	s.OId = &v
  8483  	return s
  8484  }
  8485  
  8486  // Contains information about a key usage X.509 v3 extension object.
  8487  type AwsCertificateManagerCertificateKeyUsage struct {
  8488  	_ struct{} `type:"structure"`
  8489  
  8490  	// The key usage extension name.
  8491  	Name *string `type:"string"`
  8492  }
  8493  
  8494  // String returns the string representation.
  8495  //
  8496  // API parameter values that are decorated as "sensitive" in the API will not
  8497  // be included in the string output. The member name will be present, but the
  8498  // value will be replaced with "sensitive".
  8499  func (s AwsCertificateManagerCertificateKeyUsage) String() string {
  8500  	return awsutil.Prettify(s)
  8501  }
  8502  
  8503  // GoString returns the string representation.
  8504  //
  8505  // API parameter values that are decorated as "sensitive" in the API will not
  8506  // be included in the string output. The member name will be present, but the
  8507  // value will be replaced with "sensitive".
  8508  func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
  8509  	return s.String()
  8510  }
  8511  
  8512  // SetName sets the Name field's value.
  8513  func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
  8514  	s.Name = &v
  8515  	return s
  8516  }
  8517  
  8518  // Contains other options for the certificate.
  8519  type AwsCertificateManagerCertificateOptions struct {
  8520  	_ struct{} `type:"structure"`
  8521  
  8522  	// Whether to add the certificate to a transparency log.
  8523  	//
  8524  	// Valid values: DISABLED | ENABLED
  8525  	CertificateTransparencyLoggingPreference *string `type:"string"`
  8526  }
  8527  
  8528  // String returns the string representation.
  8529  //
  8530  // API parameter values that are decorated as "sensitive" in the API will not
  8531  // be included in the string output. The member name will be present, but the
  8532  // value will be replaced with "sensitive".
  8533  func (s AwsCertificateManagerCertificateOptions) String() string {
  8534  	return awsutil.Prettify(s)
  8535  }
  8536  
  8537  // GoString returns the string representation.
  8538  //
  8539  // API parameter values that are decorated as "sensitive" in the API will not
  8540  // be included in the string output. The member name will be present, but the
  8541  // value will be replaced with "sensitive".
  8542  func (s AwsCertificateManagerCertificateOptions) GoString() string {
  8543  	return s.String()
  8544  }
  8545  
  8546  // SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
  8547  func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
  8548  	s.CertificateTransparencyLoggingPreference = &v
  8549  	return s
  8550  }
  8551  
  8552  // Contains information about the Certificate Manager managed renewal for an
  8553  // AMAZON_ISSUED certificate.
  8554  type AwsCertificateManagerCertificateRenewalSummary struct {
  8555  	_ struct{} `type:"structure"`
  8556  
  8557  	// Information about the validation of each domain name in the certificate,
  8558  	// as it pertains to Certificate Manager managed renewal. Provided only when
  8559  	// the certificate type is AMAZON_ISSUED.
  8560  	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
  8561  
  8562  	// The status of the Certificate Manager managed renewal of the certificate.
  8563  	//
  8564  	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
  8565  	RenewalStatus *string `type:"string"`
  8566  
  8567  	// The reason that a renewal request was unsuccessful.
  8568  	//
  8569  	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
  8570  	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
  8571  	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
  8572  	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
  8573  	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
  8574  	RenewalStatusReason *string `type:"string"`
  8575  
  8576  	// Indicates when the renewal summary was last updated.
  8577  	//
  8578  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8579  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8580  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8581  	UpdatedAt *string `type:"string"`
  8582  }
  8583  
  8584  // String returns the string representation.
  8585  //
  8586  // API parameter values that are decorated as "sensitive" in the API will not
  8587  // be included in the string output. The member name will be present, but the
  8588  // value will be replaced with "sensitive".
  8589  func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
  8590  	return awsutil.Prettify(s)
  8591  }
  8592  
  8593  // GoString returns the string representation.
  8594  //
  8595  // API parameter values that are decorated as "sensitive" in the API will not
  8596  // be included in the string output. The member name will be present, but the
  8597  // value will be replaced with "sensitive".
  8598  func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
  8599  	return s.String()
  8600  }
  8601  
  8602  // SetDomainValidationOptions sets the DomainValidationOptions field's value.
  8603  func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
  8604  	s.DomainValidationOptions = v
  8605  	return s
  8606  }
  8607  
  8608  // SetRenewalStatus sets the RenewalStatus field's value.
  8609  func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
  8610  	s.RenewalStatus = &v
  8611  	return s
  8612  }
  8613  
  8614  // SetRenewalStatusReason sets the RenewalStatusReason field's value.
  8615  func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
  8616  	s.RenewalStatusReason = &v
  8617  	return s
  8618  }
  8619  
  8620  // SetUpdatedAt sets the UpdatedAt field's value.
  8621  func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
  8622  	s.UpdatedAt = &v
  8623  	return s
  8624  }
  8625  
  8626  // Provides details about the CNAME record that is added to the DNS database
  8627  // for domain validation.
  8628  type AwsCertificateManagerCertificateResourceRecord struct {
  8629  	_ struct{} `type:"structure"`
  8630  
  8631  	// The name of the resource.
  8632  	Name *string `type:"string"`
  8633  
  8634  	// The type of resource.
  8635  	Type *string `type:"string"`
  8636  
  8637  	// The value of the resource.
  8638  	Value *string `type:"string"`
  8639  }
  8640  
  8641  // String returns the string representation.
  8642  //
  8643  // API parameter values that are decorated as "sensitive" in the API will not
  8644  // be included in the string output. The member name will be present, but the
  8645  // value will be replaced with "sensitive".
  8646  func (s AwsCertificateManagerCertificateResourceRecord) String() string {
  8647  	return awsutil.Prettify(s)
  8648  }
  8649  
  8650  // GoString returns the string representation.
  8651  //
  8652  // API parameter values that are decorated as "sensitive" in the API will not
  8653  // be included in the string output. The member name will be present, but the
  8654  // value will be replaced with "sensitive".
  8655  func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
  8656  	return s.String()
  8657  }
  8658  
  8659  // SetName sets the Name field's value.
  8660  func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
  8661  	s.Name = &v
  8662  	return s
  8663  }
  8664  
  8665  // SetType sets the Type field's value.
  8666  func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
  8667  	s.Type = &v
  8668  	return s
  8669  }
  8670  
  8671  // SetValue sets the Value field's value.
  8672  func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
  8673  	s.Value = &v
  8674  	return s
  8675  }
  8676  
  8677  // Information about a cache behavior for the distribution.
  8678  type AwsCloudFrontDistributionCacheBehavior struct {
  8679  	_ struct{} `type:"structure"`
  8680  
  8681  	// The protocol that viewers can use to access the files in an origin. You can
  8682  	// specify the following options:
  8683  	//
  8684  	//    * allow-all - Viewers can use HTTP or HTTPS.
  8685  	//
  8686  	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
  8687  	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
  8688  	//    uses the new URL to resubmit.
  8689  	//
  8690  	//    * https-only - CloudFront responds to HTTP request with an HTTP status
  8691  	//    code of 403 (Forbidden).
  8692  	ViewerProtocolPolicy *string `type:"string"`
  8693  }
  8694  
  8695  // String returns the string representation.
  8696  //
  8697  // API parameter values that are decorated as "sensitive" in the API will not
  8698  // be included in the string output. The member name will be present, but the
  8699  // value will be replaced with "sensitive".
  8700  func (s AwsCloudFrontDistributionCacheBehavior) String() string {
  8701  	return awsutil.Prettify(s)
  8702  }
  8703  
  8704  // GoString returns the string representation.
  8705  //
  8706  // API parameter values that are decorated as "sensitive" in the API will not
  8707  // be included in the string output. The member name will be present, but the
  8708  // value will be replaced with "sensitive".
  8709  func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
  8710  	return s.String()
  8711  }
  8712  
  8713  // SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
  8714  func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
  8715  	s.ViewerProtocolPolicy = &v
  8716  	return s
  8717  }
  8718  
  8719  // Provides information about caching for the distribution.
  8720  type AwsCloudFrontDistributionCacheBehaviors struct {
  8721  	_ struct{} `type:"structure"`
  8722  
  8723  	// The cache behaviors for the distribution.
  8724  	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
  8725  }
  8726  
  8727  // String returns the string representation.
  8728  //
  8729  // API parameter values that are decorated as "sensitive" in the API will not
  8730  // be included in the string output. The member name will be present, but the
  8731  // value will be replaced with "sensitive".
  8732  func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
  8733  	return awsutil.Prettify(s)
  8734  }
  8735  
  8736  // GoString returns the string representation.
  8737  //
  8738  // API parameter values that are decorated as "sensitive" in the API will not
  8739  // be included in the string output. The member name will be present, but the
  8740  // value will be replaced with "sensitive".
  8741  func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
  8742  	return s.String()
  8743  }
  8744  
  8745  // SetItems sets the Items field's value.
  8746  func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
  8747  	s.Items = v
  8748  	return s
  8749  }
  8750  
  8751  // Contains information about the default cache configuration for the distribution.
  8752  type AwsCloudFrontDistributionDefaultCacheBehavior struct {
  8753  	_ struct{} `type:"structure"`
  8754  
  8755  	// The protocol that viewers can use to access the files in an origin. You can
  8756  	// specify the following options:
  8757  	//
  8758  	//    * allow-all - Viewers can use HTTP or HTTPS.
  8759  	//
  8760  	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
  8761  	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
  8762  	//    uses the new URL to resubmit.
  8763  	//
  8764  	//    * https-only - CloudFront responds to HTTP request with an HTTP status
  8765  	//    code of 403 (Forbidden).
  8766  	ViewerProtocolPolicy *string `type:"string"`
  8767  }
  8768  
  8769  // String returns the string representation.
  8770  //
  8771  // API parameter values that are decorated as "sensitive" in the API will not
  8772  // be included in the string output. The member name will be present, but the
  8773  // value will be replaced with "sensitive".
  8774  func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
  8775  	return awsutil.Prettify(s)
  8776  }
  8777  
  8778  // GoString returns the string representation.
  8779  //
  8780  // API parameter values that are decorated as "sensitive" in the API will not
  8781  // be included in the string output. The member name will be present, but the
  8782  // value will be replaced with "sensitive".
  8783  func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
  8784  	return s.String()
  8785  }
  8786  
  8787  // SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
  8788  func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
  8789  	s.ViewerProtocolPolicy = &v
  8790  	return s
  8791  }
  8792  
  8793  // A distribution configuration.
  8794  type AwsCloudFrontDistributionDetails struct {
  8795  	_ struct{} `type:"structure"`
  8796  
  8797  	// Provides information about the cache configuration for the distribution.
  8798  	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
  8799  
  8800  	// The default cache behavior for the configuration.
  8801  	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
  8802  
  8803  	// The object that CloudFront sends in response to requests from the origin
  8804  	// (for example, index.html) when a viewer requests the root URL for the distribution
  8805  	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
  8806  	DefaultRootObject *string `type:"string"`
  8807  
  8808  	// The domain name corresponding to the distribution.
  8809  	DomainName *string `type:"string"`
  8810  
  8811  	// The entity tag is a hash of the object.
  8812  	ETag *string `type:"string"`
  8813  
  8814  	// Indicates when that the distribution was last modified.
  8815  	//
  8816  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
  8817  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
  8818  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
  8819  	LastModifiedTime *string `type:"string"`
  8820  
  8821  	// A complex type that controls whether access logs are written for the distribution.
  8822  	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
  8823  
  8824  	// Provides information about the origin groups in the distribution.
  8825  	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
  8826  
  8827  	// A complex type that contains information about origins for this distribution.
  8828  	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
  8829  
  8830  	// Indicates the current status of the distribution.
  8831  	Status *string `type:"string"`
  8832  
  8833  	// Provides information about the TLS/SSL configuration that the distribution
  8834  	// uses to communicate with viewers.
  8835  	ViewerCertificate *AwsCloudFrontDistributionViewerCertificate `type:"structure"`
  8836  
  8837  	// A unique identifier that specifies the WAF web ACL, if any, to associate
  8838  	// with this distribution.
  8839  	WebAclId *string `type:"string"`
  8840  }
  8841  
  8842  // String returns the string representation.
  8843  //
  8844  // API parameter values that are decorated as "sensitive" in the API will not
  8845  // be included in the string output. The member name will be present, but the
  8846  // value will be replaced with "sensitive".
  8847  func (s AwsCloudFrontDistributionDetails) String() string {
  8848  	return awsutil.Prettify(s)
  8849  }
  8850  
  8851  // GoString returns the string representation.
  8852  //
  8853  // API parameter values that are decorated as "sensitive" in the API will not
  8854  // be included in the string output. The member name will be present, but the
  8855  // value will be replaced with "sensitive".
  8856  func (s AwsCloudFrontDistributionDetails) GoString() string {
  8857  	return s.String()
  8858  }
  8859  
  8860  // SetCacheBehaviors sets the CacheBehaviors field's value.
  8861  func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
  8862  	s.CacheBehaviors = v
  8863  	return s
  8864  }
  8865  
  8866  // SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
  8867  func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
  8868  	s.DefaultCacheBehavior = v
  8869  	return s
  8870  }
  8871  
  8872  // SetDefaultRootObject sets the DefaultRootObject field's value.
  8873  func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
  8874  	s.DefaultRootObject = &v
  8875  	return s
  8876  }
  8877  
  8878  // SetDomainName sets the DomainName field's value.
  8879  func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
  8880  	s.DomainName = &v
  8881  	return s
  8882  }
  8883  
  8884  // SetETag sets the ETag field's value.
  8885  func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
  8886  	s.ETag = &v
  8887  	return s
  8888  }
  8889  
  8890  // SetLastModifiedTime sets the LastModifiedTime field's value.
  8891  func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
  8892  	s.LastModifiedTime = &v
  8893  	return s
  8894  }
  8895  
  8896  // SetLogging sets the Logging field's value.
  8897  func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
  8898  	s.Logging = v
  8899  	return s
  8900  }
  8901  
  8902  // SetOriginGroups sets the OriginGroups field's value.
  8903  func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
  8904  	s.OriginGroups = v
  8905  	return s
  8906  }
  8907  
  8908  // SetOrigins sets the Origins field's value.
  8909  func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
  8910  	s.Origins = v
  8911  	return s
  8912  }
  8913  
  8914  // SetStatus sets the Status field's value.
  8915  func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
  8916  	s.Status = &v
  8917  	return s
  8918  }
  8919  
  8920  // SetViewerCertificate sets the ViewerCertificate field's value.
  8921  func (s *AwsCloudFrontDistributionDetails) SetViewerCertificate(v *AwsCloudFrontDistributionViewerCertificate) *AwsCloudFrontDistributionDetails {
  8922  	s.ViewerCertificate = v
  8923  	return s
  8924  }
  8925  
  8926  // SetWebAclId sets the WebAclId field's value.
  8927  func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
  8928  	s.WebAclId = &v
  8929  	return s
  8930  }
  8931  
  8932  // A complex type that controls whether access logs are written for the distribution.
  8933  type AwsCloudFrontDistributionLogging struct {
  8934  	_ struct{} `type:"structure"`
  8935  
  8936  	// The S3 bucket to store the access logs in.
  8937  	Bucket *string `type:"string"`
  8938  
  8939  	// With this field, you can enable or disable the selected distribution.
  8940  	Enabled *bool `type:"boolean"`
  8941  
  8942  	// Specifies whether you want CloudFront to include cookies in access logs.
  8943  	IncludeCookies *bool `type:"boolean"`
  8944  
  8945  	// An optional string that you want CloudFront to use as a prefix to the access
  8946  	// log filenames for this distribution.
  8947  	Prefix *string `type:"string"`
  8948  }
  8949  
  8950  // String returns the string representation.
  8951  //
  8952  // API parameter values that are decorated as "sensitive" in the API will not
  8953  // be included in the string output. The member name will be present, but the
  8954  // value will be replaced with "sensitive".
  8955  func (s AwsCloudFrontDistributionLogging) String() string {
  8956  	return awsutil.Prettify(s)
  8957  }
  8958  
  8959  // GoString returns the string representation.
  8960  //
  8961  // API parameter values that are decorated as "sensitive" in the API will not
  8962  // be included in the string output. The member name will be present, but the
  8963  // value will be replaced with "sensitive".
  8964  func (s AwsCloudFrontDistributionLogging) GoString() string {
  8965  	return s.String()
  8966  }
  8967  
  8968  // SetBucket sets the Bucket field's value.
  8969  func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
  8970  	s.Bucket = &v
  8971  	return s
  8972  }
  8973  
  8974  // SetEnabled sets the Enabled field's value.
  8975  func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
  8976  	s.Enabled = &v
  8977  	return s
  8978  }
  8979  
  8980  // SetIncludeCookies sets the IncludeCookies field's value.
  8981  func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
  8982  	s.IncludeCookies = &v
  8983  	return s
  8984  }
  8985  
  8986  // SetPrefix sets the Prefix field's value.
  8987  func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
  8988  	s.Prefix = &v
  8989  	return s
  8990  }
  8991  
  8992  // Information about an origin group for the distribution.
  8993  type AwsCloudFrontDistributionOriginGroup struct {
  8994  	_ struct{} `type:"structure"`
  8995  
  8996  	// Provides the criteria for an origin group to fail over.
  8997  	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
  8998  }
  8999  
  9000  // String returns the string representation.
  9001  //
  9002  // API parameter values that are decorated as "sensitive" in the API will not
  9003  // be included in the string output. The member name will be present, but the
  9004  // value will be replaced with "sensitive".
  9005  func (s AwsCloudFrontDistributionOriginGroup) String() string {
  9006  	return awsutil.Prettify(s)
  9007  }
  9008  
  9009  // GoString returns the string representation.
  9010  //
  9011  // API parameter values that are decorated as "sensitive" in the API will not
  9012  // be included in the string output. The member name will be present, but the
  9013  // value will be replaced with "sensitive".
  9014  func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
  9015  	return s.String()
  9016  }
  9017  
  9018  // SetFailoverCriteria sets the FailoverCriteria field's value.
  9019  func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
  9020  	s.FailoverCriteria = v
  9021  	return s
  9022  }
  9023  
  9024  // Provides information about when an origin group fails over.
  9025  type AwsCloudFrontDistributionOriginGroupFailover struct {
  9026  	_ struct{} `type:"structure"`
  9027  
  9028  	// Information about the status codes that cause an origin group to fail over.
  9029  	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
  9030  }
  9031  
  9032  // String returns the string representation.
  9033  //
  9034  // API parameter values that are decorated as "sensitive" in the API will not
  9035  // be included in the string output. The member name will be present, but the
  9036  // value will be replaced with "sensitive".
  9037  func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
  9038  	return awsutil.Prettify(s)
  9039  }
  9040  
  9041  // GoString returns the string representation.
  9042  //
  9043  // API parameter values that are decorated as "sensitive" in the API will not
  9044  // be included in the string output. The member name will be present, but the
  9045  // value will be replaced with "sensitive".
  9046  func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
  9047  	return s.String()
  9048  }
  9049  
  9050  // SetStatusCodes sets the StatusCodes field's value.
  9051  func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
  9052  	s.StatusCodes = v
  9053  	return s
  9054  }
  9055  
  9056  // The status codes that cause an origin group to fail over.
  9057  type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
  9058  	_ struct{} `type:"structure"`
  9059  
  9060  	// The list of status code values that can cause a failover to the next origin.
  9061  	Items []*int64 `type:"list"`
  9062  
  9063  	// The number of status codes that can cause a failover.
  9064  	Quantity *int64 `type:"integer"`
  9065  }
  9066  
  9067  // String returns the string representation.
  9068  //
  9069  // API parameter values that are decorated as "sensitive" in the API will not
  9070  // be included in the string output. The member name will be present, but the
  9071  // value will be replaced with "sensitive".
  9072  func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
  9073  	return awsutil.Prettify(s)
  9074  }
  9075  
  9076  // GoString returns the string representation.
  9077  //
  9078  // API parameter values that are decorated as "sensitive" in the API will not
  9079  // be included in the string output. The member name will be present, but the
  9080  // value will be replaced with "sensitive".
  9081  func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
  9082  	return s.String()
  9083  }
  9084  
  9085  // SetItems sets the Items field's value.
  9086  func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
  9087  	s.Items = v
  9088  	return s
  9089  }
  9090  
  9091  // SetQuantity sets the Quantity field's value.
  9092  func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
  9093  	s.Quantity = &v
  9094  	return s
  9095  }
  9096  
  9097  // Provides information about origin groups that are associated with the distribution.
  9098  type AwsCloudFrontDistributionOriginGroups struct {
  9099  	_ struct{} `type:"structure"`
  9100  
  9101  	// The list of origin groups.
  9102  	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
  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 AwsCloudFrontDistributionOriginGroups) 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 AwsCloudFrontDistributionOriginGroups) GoString() string {
  9120  	return s.String()
  9121  }
  9122  
  9123  // SetItems sets the Items field's value.
  9124  func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
  9125  	s.Items = v
  9126  	return s
  9127  }
  9128  
  9129  // A complex type that describes the S3 bucket, HTTP server (for example, a
  9130  // web server), AWS Elemental MediaStore, or other server from which CloudFront
  9131  // gets your files.
  9132  type AwsCloudFrontDistributionOriginItem struct {
  9133  	_ struct{} `type:"structure"`
  9134  
  9135  	// Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront
  9136  	// to get objects for this origin.
  9137  	DomainName *string `type:"string"`
  9138  
  9139  	// A unique identifier for the origin or origin group.
  9140  	Id *string `type:"string"`
  9141  
  9142  	// An optional element that causes CloudFront to request your content from a
  9143  	// directory in your Amazon S3 bucket or your custom origin.
  9144  	OriginPath *string `type:"string"`
  9145  
  9146  	// An origin that is an S3 bucket that is not configured with static website
  9147  	// hosting.
  9148  	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
  9149  }
  9150  
  9151  // String returns the string representation.
  9152  //
  9153  // API parameter values that are decorated as "sensitive" in the API will not
  9154  // be included in the string output. The member name will be present, but the
  9155  // value will be replaced with "sensitive".
  9156  func (s AwsCloudFrontDistributionOriginItem) String() string {
  9157  	return awsutil.Prettify(s)
  9158  }
  9159  
  9160  // GoString returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s AwsCloudFrontDistributionOriginItem) GoString() string {
  9166  	return s.String()
  9167  }
  9168  
  9169  // SetDomainName sets the DomainName field's value.
  9170  func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
  9171  	s.DomainName = &v
  9172  	return s
  9173  }
  9174  
  9175  // SetId sets the Id field's value.
  9176  func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
  9177  	s.Id = &v
  9178  	return s
  9179  }
  9180  
  9181  // SetOriginPath sets the OriginPath field's value.
  9182  func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
  9183  	s.OriginPath = &v
  9184  	return s
  9185  }
  9186  
  9187  // SetS3OriginConfig sets the S3OriginConfig field's value.
  9188  func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
  9189  	s.S3OriginConfig = v
  9190  	return s
  9191  }
  9192  
  9193  // Information about an origin that is an S3 bucket that is not configured with
  9194  // static website hosting.
  9195  type AwsCloudFrontDistributionOriginS3OriginConfig struct {
  9196  	_ struct{} `type:"structure"`
  9197  
  9198  	// The CloudFront origin access identity to associate with the origin.
  9199  	OriginAccessIdentity *string `type:"string"`
  9200  }
  9201  
  9202  // String returns the string representation.
  9203  //
  9204  // API parameter values that are decorated as "sensitive" in the API will not
  9205  // be included in the string output. The member name will be present, but the
  9206  // value will be replaced with "sensitive".
  9207  func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
  9208  	return awsutil.Prettify(s)
  9209  }
  9210  
  9211  // GoString returns the string representation.
  9212  //
  9213  // API parameter values that are decorated as "sensitive" in the API will not
  9214  // be included in the string output. The member name will be present, but the
  9215  // value will be replaced with "sensitive".
  9216  func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
  9217  	return s.String()
  9218  }
  9219  
  9220  // SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
  9221  func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
  9222  	s.OriginAccessIdentity = &v
  9223  	return s
  9224  }
  9225  
  9226  // A complex type that contains information about origins and origin groups
  9227  // for this distribution.
  9228  type AwsCloudFrontDistributionOrigins struct {
  9229  	_ struct{} `type:"structure"`
  9230  
  9231  	// A complex type that contains origins or origin groups for this distribution.
  9232  	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
  9233  }
  9234  
  9235  // String returns the string representation.
  9236  //
  9237  // API parameter values that are decorated as "sensitive" in the API will not
  9238  // be included in the string output. The member name will be present, but the
  9239  // value will be replaced with "sensitive".
  9240  func (s AwsCloudFrontDistributionOrigins) String() string {
  9241  	return awsutil.Prettify(s)
  9242  }
  9243  
  9244  // GoString returns the string representation.
  9245  //
  9246  // API parameter values that are decorated as "sensitive" in the API will not
  9247  // be included in the string output. The member name will be present, but the
  9248  // value will be replaced with "sensitive".
  9249  func (s AwsCloudFrontDistributionOrigins) GoString() string {
  9250  	return s.String()
  9251  }
  9252  
  9253  // SetItems sets the Items field's value.
  9254  func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
  9255  	s.Items = v
  9256  	return s
  9257  }
  9258  
  9259  // Provides information about the TLS/SSL configuration that the distribution
  9260  // uses to communicate with viewers.
  9261  type AwsCloudFrontDistributionViewerCertificate struct {
  9262  	_ struct{} `type:"structure"`
  9263  
  9264  	// The ARN of the ACM certificate. Used if the certificate is stored in ACM.
  9265  	// If you provide an ACM certificate ARN, you must also provide MinimumCertificateVersion
  9266  	// and SslSupportMethod.
  9267  	AcmCertificateArn *string `type:"string"`
  9268  
  9269  	// The identifier of the certificate. Note that in CloudFront, this attribute
  9270  	// is deprecated.
  9271  	Certificate *string `type:"string"`
  9272  
  9273  	// The source of the certificate identified by Certificate. Note that in CloudFront,
  9274  	// this attribute is deprecated.
  9275  	CertificateSource *string `type:"string"`
  9276  
  9277  	// Whether the distribution uses the CloudFront domain name. If set to false,
  9278  	// then you provide either AcmCertificateArn or IamCertificateId.
  9279  	CloudFrontDefaultCertificate *bool `type:"boolean"`
  9280  
  9281  	// The identifier of the IAM certificate. Used if the certificate is stored
  9282  	// in IAM. If you provide IamCertificateId, then you also must provide MinimumProtocolVersion
  9283  	// and SslSupportMethod.
  9284  	IamCertificateId *string `type:"string"`
  9285  
  9286  	// The security policy that CloudFront uses for HTTPS connections with viewers.
  9287  	// If SslSupportMethod is sni-only, then MinimumProtocolVersion must be TLSv1
  9288  	// or higher.
  9289  	MinimumProtocolVersion *string `type:"string"`
  9290  
  9291  	// The viewers that the distribution accepts HTTPS connections from.
  9292  	SslSupportMethod *string `type:"string"`
  9293  }
  9294  
  9295  // String returns the string representation.
  9296  //
  9297  // API parameter values that are decorated as "sensitive" in the API will not
  9298  // be included in the string output. The member name will be present, but the
  9299  // value will be replaced with "sensitive".
  9300  func (s AwsCloudFrontDistributionViewerCertificate) String() string {
  9301  	return awsutil.Prettify(s)
  9302  }
  9303  
  9304  // GoString returns the string representation.
  9305  //
  9306  // API parameter values that are decorated as "sensitive" in the API will not
  9307  // be included in the string output. The member name will be present, but the
  9308  // value will be replaced with "sensitive".
  9309  func (s AwsCloudFrontDistributionViewerCertificate) GoString() string {
  9310  	return s.String()
  9311  }
  9312  
  9313  // SetAcmCertificateArn sets the AcmCertificateArn field's value.
  9314  func (s *AwsCloudFrontDistributionViewerCertificate) SetAcmCertificateArn(v string) *AwsCloudFrontDistributionViewerCertificate {
  9315  	s.AcmCertificateArn = &v
  9316  	return s
  9317  }
  9318  
  9319  // SetCertificate sets the Certificate field's value.
  9320  func (s *AwsCloudFrontDistributionViewerCertificate) SetCertificate(v string) *AwsCloudFrontDistributionViewerCertificate {
  9321  	s.Certificate = &v
  9322  	return s
  9323  }
  9324  
  9325  // SetCertificateSource sets the CertificateSource field's value.
  9326  func (s *AwsCloudFrontDistributionViewerCertificate) SetCertificateSource(v string) *AwsCloudFrontDistributionViewerCertificate {
  9327  	s.CertificateSource = &v
  9328  	return s
  9329  }
  9330  
  9331  // SetCloudFrontDefaultCertificate sets the CloudFrontDefaultCertificate field's value.
  9332  func (s *AwsCloudFrontDistributionViewerCertificate) SetCloudFrontDefaultCertificate(v bool) *AwsCloudFrontDistributionViewerCertificate {
  9333  	s.CloudFrontDefaultCertificate = &v
  9334  	return s
  9335  }
  9336  
  9337  // SetIamCertificateId sets the IamCertificateId field's value.
  9338  func (s *AwsCloudFrontDistributionViewerCertificate) SetIamCertificateId(v string) *AwsCloudFrontDistributionViewerCertificate {
  9339  	s.IamCertificateId = &v
  9340  	return s
  9341  }
  9342  
  9343  // SetMinimumProtocolVersion sets the MinimumProtocolVersion field's value.
  9344  func (s *AwsCloudFrontDistributionViewerCertificate) SetMinimumProtocolVersion(v string) *AwsCloudFrontDistributionViewerCertificate {
  9345  	s.MinimumProtocolVersion = &v
  9346  	return s
  9347  }
  9348  
  9349  // SetSslSupportMethod sets the SslSupportMethod field's value.
  9350  func (s *AwsCloudFrontDistributionViewerCertificate) SetSslSupportMethod(v string) *AwsCloudFrontDistributionViewerCertificate {
  9351  	s.SslSupportMethod = &v
  9352  	return s
  9353  }
  9354  
  9355  // Provides details about a CloudTrail trail.
  9356  type AwsCloudTrailTrailDetails struct {
  9357  	_ struct{} `type:"structure"`
  9358  
  9359  	// The ARN of the log group that CloudTrail logs are delivered to.
  9360  	CloudWatchLogsLogGroupArn *string `type:"string"`
  9361  
  9362  	// The ARN of the role that the CloudWatch Events endpoint assumes when it writes
  9363  	// to the log group.
  9364  	CloudWatchLogsRoleArn *string `type:"string"`
  9365  
  9366  	// Indicates whether the trail has custom event selectors.
  9367  	HasCustomEventSelectors *bool `type:"boolean"`
  9368  
  9369  	// The Region where the trail was created.
  9370  	HomeRegion *string `type:"string"`
  9371  
  9372  	// Indicates whether the trail publishes events from global services such as
  9373  	// IAM to the log files.
  9374  	IncludeGlobalServiceEvents *bool `type:"boolean"`
  9375  
  9376  	// Indicates whether the trail applies only to the current Region or to all
  9377  	// Regions.
  9378  	IsMultiRegionTrail *bool `type:"boolean"`
  9379  
  9380  	// Whether the trail is created for all accounts in an organization in Organizations,
  9381  	// or only for the current Amazon Web Services account.
  9382  	IsOrganizationTrail *bool `type:"boolean"`
  9383  
  9384  	// The KMS key ID to use to encrypt the logs.
  9385  	KmsKeyId *string `type:"string"`
  9386  
  9387  	// Indicates whether CloudTrail log file validation is enabled.
  9388  	LogFileValidationEnabled *bool `type:"boolean"`
  9389  
  9390  	// The name of the trail.
  9391  	Name *string `type:"string"`
  9392  
  9393  	// The name of the S3 bucket where the log files are published.
  9394  	S3BucketName *string `type:"string"`
  9395  
  9396  	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
  9397  	// where the log files are published.
  9398  	S3KeyPrefix *string `type:"string"`
  9399  
  9400  	// The ARN of the SNS topic that is used for notifications of log file delivery.
  9401  	SnsTopicArn *string `type:"string"`
  9402  
  9403  	// The name of the SNS topic that is used for notifications of log file delivery.
  9404  	SnsTopicName *string `type:"string"`
  9405  
  9406  	// The ARN of the trail.
  9407  	TrailArn *string `type:"string"`
  9408  }
  9409  
  9410  // String returns the string representation.
  9411  //
  9412  // API parameter values that are decorated as "sensitive" in the API will not
  9413  // be included in the string output. The member name will be present, but the
  9414  // value will be replaced with "sensitive".
  9415  func (s AwsCloudTrailTrailDetails) String() string {
  9416  	return awsutil.Prettify(s)
  9417  }
  9418  
  9419  // GoString returns the string representation.
  9420  //
  9421  // API parameter values that are decorated as "sensitive" in the API will not
  9422  // be included in the string output. The member name will be present, but the
  9423  // value will be replaced with "sensitive".
  9424  func (s AwsCloudTrailTrailDetails) GoString() string {
  9425  	return s.String()
  9426  }
  9427  
  9428  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
  9429  func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
  9430  	s.CloudWatchLogsLogGroupArn = &v
  9431  	return s
  9432  }
  9433  
  9434  // SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
  9435  func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
  9436  	s.CloudWatchLogsRoleArn = &v
  9437  	return s
  9438  }
  9439  
  9440  // SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
  9441  func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
  9442  	s.HasCustomEventSelectors = &v
  9443  	return s
  9444  }
  9445  
  9446  // SetHomeRegion sets the HomeRegion field's value.
  9447  func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
  9448  	s.HomeRegion = &v
  9449  	return s
  9450  }
  9451  
  9452  // SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
  9453  func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
  9454  	s.IncludeGlobalServiceEvents = &v
  9455  	return s
  9456  }
  9457  
  9458  // SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
  9459  func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
  9460  	s.IsMultiRegionTrail = &v
  9461  	return s
  9462  }
  9463  
  9464  // SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
  9465  func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
  9466  	s.IsOrganizationTrail = &v
  9467  	return s
  9468  }
  9469  
  9470  // SetKmsKeyId sets the KmsKeyId field's value.
  9471  func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
  9472  	s.KmsKeyId = &v
  9473  	return s
  9474  }
  9475  
  9476  // SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
  9477  func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
  9478  	s.LogFileValidationEnabled = &v
  9479  	return s
  9480  }
  9481  
  9482  // SetName sets the Name field's value.
  9483  func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
  9484  	s.Name = &v
  9485  	return s
  9486  }
  9487  
  9488  // SetS3BucketName sets the S3BucketName field's value.
  9489  func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
  9490  	s.S3BucketName = &v
  9491  	return s
  9492  }
  9493  
  9494  // SetS3KeyPrefix sets the S3KeyPrefix field's value.
  9495  func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
  9496  	s.S3KeyPrefix = &v
  9497  	return s
  9498  }
  9499  
  9500  // SetSnsTopicArn sets the SnsTopicArn field's value.
  9501  func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
  9502  	s.SnsTopicArn = &v
  9503  	return s
  9504  }
  9505  
  9506  // SetSnsTopicName sets the SnsTopicName field's value.
  9507  func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
  9508  	s.SnsTopicName = &v
  9509  	return s
  9510  }
  9511  
  9512  // SetTrailArn sets the TrailArn field's value.
  9513  func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
  9514  	s.TrailArn = &v
  9515  	return s
  9516  }
  9517  
  9518  // Information about the build artifacts for the CodeBuild project.
  9519  type AwsCodeBuildProjectArtifactsDetails struct {
  9520  	_ struct{} `type:"structure"`
  9521  
  9522  	// An identifier for the artifact definition.
  9523  	ArtifactIdentifier *string `type:"string"`
  9524  
  9525  	// Indicates whether to disable encryption on the artifact. Only valid when
  9526  	// Type is S3.
  9527  	EncryptionDisabled *bool `type:"boolean"`
  9528  
  9529  	// Only used when Type is S3. The name of the S3 bucket where the artifact is
  9530  	// located.
  9531  	Location *string `type:"string"`
  9532  
  9533  	// Only used when Type is S3. The name of the artifact. Used with NamepaceType
  9534  	// and Path to determine the pattern for storing the artifact.
  9535  	Name *string `type:"string"`
  9536  
  9537  	// Only used when Type is S3. The value to use for the namespace. Used with
  9538  	// Name and Path to determine the pattern for storing the artifact.
  9539  	NamespaceType *string `type:"string"`
  9540  
  9541  	// Whether the name specified in the buildspec file overrides the artifact name.
  9542  	OverrideArtifactName *bool `type:"boolean"`
  9543  
  9544  	// Only used when Type is S3. The type of output artifact to create.
  9545  	Packaging *string `type:"string"`
  9546  
  9547  	// Only used when Type is S3. The path to the artifact. Used with Name and NamespaceType
  9548  	// to determine the pattern for storing the artifact.
  9549  	Path *string `type:"string"`
  9550  
  9551  	// The type of build artifact.
  9552  	Type *string `type:"string"`
  9553  }
  9554  
  9555  // String returns the string representation.
  9556  //
  9557  // API parameter values that are decorated as "sensitive" in the API will not
  9558  // be included in the string output. The member name will be present, but the
  9559  // value will be replaced with "sensitive".
  9560  func (s AwsCodeBuildProjectArtifactsDetails) String() string {
  9561  	return awsutil.Prettify(s)
  9562  }
  9563  
  9564  // GoString returns the string representation.
  9565  //
  9566  // API parameter values that are decorated as "sensitive" in the API will not
  9567  // be included in the string output. The member name will be present, but the
  9568  // value will be replaced with "sensitive".
  9569  func (s AwsCodeBuildProjectArtifactsDetails) GoString() string {
  9570  	return s.String()
  9571  }
  9572  
  9573  // SetArtifactIdentifier sets the ArtifactIdentifier field's value.
  9574  func (s *AwsCodeBuildProjectArtifactsDetails) SetArtifactIdentifier(v string) *AwsCodeBuildProjectArtifactsDetails {
  9575  	s.ArtifactIdentifier = &v
  9576  	return s
  9577  }
  9578  
  9579  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
  9580  func (s *AwsCodeBuildProjectArtifactsDetails) SetEncryptionDisabled(v bool) *AwsCodeBuildProjectArtifactsDetails {
  9581  	s.EncryptionDisabled = &v
  9582  	return s
  9583  }
  9584  
  9585  // SetLocation sets the Location field's value.
  9586  func (s *AwsCodeBuildProjectArtifactsDetails) SetLocation(v string) *AwsCodeBuildProjectArtifactsDetails {
  9587  	s.Location = &v
  9588  	return s
  9589  }
  9590  
  9591  // SetName sets the Name field's value.
  9592  func (s *AwsCodeBuildProjectArtifactsDetails) SetName(v string) *AwsCodeBuildProjectArtifactsDetails {
  9593  	s.Name = &v
  9594  	return s
  9595  }
  9596  
  9597  // SetNamespaceType sets the NamespaceType field's value.
  9598  func (s *AwsCodeBuildProjectArtifactsDetails) SetNamespaceType(v string) *AwsCodeBuildProjectArtifactsDetails {
  9599  	s.NamespaceType = &v
  9600  	return s
  9601  }
  9602  
  9603  // SetOverrideArtifactName sets the OverrideArtifactName field's value.
  9604  func (s *AwsCodeBuildProjectArtifactsDetails) SetOverrideArtifactName(v bool) *AwsCodeBuildProjectArtifactsDetails {
  9605  	s.OverrideArtifactName = &v
  9606  	return s
  9607  }
  9608  
  9609  // SetPackaging sets the Packaging field's value.
  9610  func (s *AwsCodeBuildProjectArtifactsDetails) SetPackaging(v string) *AwsCodeBuildProjectArtifactsDetails {
  9611  	s.Packaging = &v
  9612  	return s
  9613  }
  9614  
  9615  // SetPath sets the Path field's value.
  9616  func (s *AwsCodeBuildProjectArtifactsDetails) SetPath(v string) *AwsCodeBuildProjectArtifactsDetails {
  9617  	s.Path = &v
  9618  	return s
  9619  }
  9620  
  9621  // SetType sets the Type field's value.
  9622  func (s *AwsCodeBuildProjectArtifactsDetails) SetType(v string) *AwsCodeBuildProjectArtifactsDetails {
  9623  	s.Type = &v
  9624  	return s
  9625  }
  9626  
  9627  // Information about an CodeBuild project.
  9628  type AwsCodeBuildProjectDetails struct {
  9629  	_ struct{} `type:"structure"`
  9630  
  9631  	// Information about the build artifacts for the CodeBuild project.
  9632  	Artifacts []*AwsCodeBuildProjectArtifactsDetails `type:"list"`
  9633  
  9634  	// The KMS key used to encrypt the build output artifacts.
  9635  	//
  9636  	// You can specify either the ARN of the KMS key or, if available, the KMS key
  9637  	// alias (using the format alias/alias-name).
  9638  	EncryptionKey *string `type:"string"`
  9639  
  9640  	// Information about the build environment for this build project.
  9641  	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
  9642  
  9643  	// Information about logs for the build project.
  9644  	LogsConfig *AwsCodeBuildProjectLogsConfigDetails `type:"structure"`
  9645  
  9646  	// The name of the build project.
  9647  	Name *string `type:"string"`
  9648  
  9649  	// The ARN of the IAM role that enables CodeBuild to interact with dependent
  9650  	// Amazon Web Services services on behalf of the Amazon Web Services account.
  9651  	ServiceRole *string `type:"string"`
  9652  
  9653  	// Information about the build input source code for this build project.
  9654  	Source *AwsCodeBuildProjectSource `type:"structure"`
  9655  
  9656  	// Information about the VPC configuration that CodeBuild accesses.
  9657  	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
  9658  }
  9659  
  9660  // String returns the string representation.
  9661  //
  9662  // API parameter values that are decorated as "sensitive" in the API will not
  9663  // be included in the string output. The member name will be present, but the
  9664  // value will be replaced with "sensitive".
  9665  func (s AwsCodeBuildProjectDetails) String() string {
  9666  	return awsutil.Prettify(s)
  9667  }
  9668  
  9669  // GoString returns the string representation.
  9670  //
  9671  // API parameter values that are decorated as "sensitive" in the API will not
  9672  // be included in the string output. The member name will be present, but the
  9673  // value will be replaced with "sensitive".
  9674  func (s AwsCodeBuildProjectDetails) GoString() string {
  9675  	return s.String()
  9676  }
  9677  
  9678  // SetArtifacts sets the Artifacts field's value.
  9679  func (s *AwsCodeBuildProjectDetails) SetArtifacts(v []*AwsCodeBuildProjectArtifactsDetails) *AwsCodeBuildProjectDetails {
  9680  	s.Artifacts = v
  9681  	return s
  9682  }
  9683  
  9684  // SetEncryptionKey sets the EncryptionKey field's value.
  9685  func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
  9686  	s.EncryptionKey = &v
  9687  	return s
  9688  }
  9689  
  9690  // SetEnvironment sets the Environment field's value.
  9691  func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
  9692  	s.Environment = v
  9693  	return s
  9694  }
  9695  
  9696  // SetLogsConfig sets the LogsConfig field's value.
  9697  func (s *AwsCodeBuildProjectDetails) SetLogsConfig(v *AwsCodeBuildProjectLogsConfigDetails) *AwsCodeBuildProjectDetails {
  9698  	s.LogsConfig = v
  9699  	return s
  9700  }
  9701  
  9702  // SetName sets the Name field's value.
  9703  func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
  9704  	s.Name = &v
  9705  	return s
  9706  }
  9707  
  9708  // SetServiceRole sets the ServiceRole field's value.
  9709  func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
  9710  	s.ServiceRole = &v
  9711  	return s
  9712  }
  9713  
  9714  // SetSource sets the Source field's value.
  9715  func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
  9716  	s.Source = v
  9717  	return s
  9718  }
  9719  
  9720  // SetVpcConfig sets the VpcConfig field's value.
  9721  func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
  9722  	s.VpcConfig = v
  9723  	return s
  9724  }
  9725  
  9726  // Information about the build environment for this build project.
  9727  type AwsCodeBuildProjectEnvironment struct {
  9728  	_ struct{} `type:"structure"`
  9729  
  9730  	// The certificate to use with this build project.
  9731  	Certificate *string `type:"string"`
  9732  
  9733  	// A set of environment variables to make available to builds for the build
  9734  	// project.
  9735  	EnvironmentVariables []*AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails `type:"list"`
  9736  
  9737  	// The type of credentials CodeBuild uses to pull images in your build.
  9738  	//
  9739  	// Valid values:
  9740  	//
  9741  	//    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires
  9742  	//    that you modify your ECR repository policy to trust the CodeBuild service
  9743  	//    principal.
  9744  	//
  9745  	//    * SERVICE_ROLE specifies that CodeBuild uses your build project's service
  9746  	//    role.
  9747  	//
  9748  	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
  9749  	// credentials. When you use an CodeBuild curated image, you must use CODEBUILD
  9750  	// credentials.
  9751  	ImagePullCredentialsType *string `type:"string"`
  9752  
  9753  	// Whether to allow the Docker daemon to run inside a Docker container. Set
  9754  	// to true if the build project is used to build Docker images.
  9755  	PrivilegedMode *bool `type:"boolean"`
  9756  
  9757  	// The credentials for access to a private registry.
  9758  	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
  9759  
  9760  	// The type of build environment to use for related builds.
  9761  	//
  9762  	// The environment type ARM_CONTAINER is available only in Regions US East (N.
  9763  	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
  9764  	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
  9765  	//
  9766  	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
  9767  	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
  9768  	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
  9769  	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
  9770  	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
  9771  	//
  9772  	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
  9773  	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
  9774  	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
  9775  	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
  9776  	// (Beijing), and China (Ningxia).
  9777  	//
  9778  	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
  9779  	// ARM_CONTAINER
  9780  	Type *string `type:"string"`
  9781  }
  9782  
  9783  // String returns the string representation.
  9784  //
  9785  // API parameter values that are decorated as "sensitive" in the API will not
  9786  // be included in the string output. The member name will be present, but the
  9787  // value will be replaced with "sensitive".
  9788  func (s AwsCodeBuildProjectEnvironment) String() string {
  9789  	return awsutil.Prettify(s)
  9790  }
  9791  
  9792  // GoString returns the string representation.
  9793  //
  9794  // API parameter values that are decorated as "sensitive" in the API will not
  9795  // be included in the string output. The member name will be present, but the
  9796  // value will be replaced with "sensitive".
  9797  func (s AwsCodeBuildProjectEnvironment) GoString() string {
  9798  	return s.String()
  9799  }
  9800  
  9801  // SetCertificate sets the Certificate field's value.
  9802  func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
  9803  	s.Certificate = &v
  9804  	return s
  9805  }
  9806  
  9807  // SetEnvironmentVariables sets the EnvironmentVariables field's value.
  9808  func (s *AwsCodeBuildProjectEnvironment) SetEnvironmentVariables(v []*AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) *AwsCodeBuildProjectEnvironment {
  9809  	s.EnvironmentVariables = v
  9810  	return s
  9811  }
  9812  
  9813  // SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
  9814  func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
  9815  	s.ImagePullCredentialsType = &v
  9816  	return s
  9817  }
  9818  
  9819  // SetPrivilegedMode sets the PrivilegedMode field's value.
  9820  func (s *AwsCodeBuildProjectEnvironment) SetPrivilegedMode(v bool) *AwsCodeBuildProjectEnvironment {
  9821  	s.PrivilegedMode = &v
  9822  	return s
  9823  }
  9824  
  9825  // SetRegistryCredential sets the RegistryCredential field's value.
  9826  func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
  9827  	s.RegistryCredential = v
  9828  	return s
  9829  }
  9830  
  9831  // SetType sets the Type field's value.
  9832  func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
  9833  	s.Type = &v
  9834  	return s
  9835  }
  9836  
  9837  // Information about an environment variable that is available to builds for
  9838  // the build project.
  9839  type AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails struct {
  9840  	_ struct{} `type:"structure"`
  9841  
  9842  	// The name of the environment variable.
  9843  	Name *string `type:"string"`
  9844  
  9845  	// The type of environment variable.
  9846  	Type *string `type:"string"`
  9847  
  9848  	// The value of the environment variable.
  9849  	Value *string `type:"string"`
  9850  }
  9851  
  9852  // String returns the string representation.
  9853  //
  9854  // API parameter values that are decorated as "sensitive" in the API will not
  9855  // be included in the string output. The member name will be present, but the
  9856  // value will be replaced with "sensitive".
  9857  func (s AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) String() string {
  9858  	return awsutil.Prettify(s)
  9859  }
  9860  
  9861  // GoString returns the string representation.
  9862  //
  9863  // API parameter values that are decorated as "sensitive" in the API will not
  9864  // be included in the string output. The member name will be present, but the
  9865  // value will be replaced with "sensitive".
  9866  func (s AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) GoString() string {
  9867  	return s.String()
  9868  }
  9869  
  9870  // SetName sets the Name field's value.
  9871  func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetName(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
  9872  	s.Name = &v
  9873  	return s
  9874  }
  9875  
  9876  // SetType sets the Type field's value.
  9877  func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetType(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
  9878  	s.Type = &v
  9879  	return s
  9880  }
  9881  
  9882  // SetValue sets the Value field's value.
  9883  func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetValue(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
  9884  	s.Value = &v
  9885  	return s
  9886  }
  9887  
  9888  // The credentials for access to a private registry.
  9889  type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
  9890  	_ struct{} `type:"structure"`
  9891  
  9892  	// The ARN or name of credentials created using Secrets Manager.
  9893  	//
  9894  	// The credential can use the name of the credentials only if they exist in
  9895  	// your current Amazon Web Services Region.
  9896  	Credential *string `type:"string"`
  9897  
  9898  	// The service that created the credentials to access a private Docker registry.
  9899  	//
  9900  	// The valid value,SECRETS_MANAGER, is for Secrets Manager.
  9901  	CredentialProvider *string `type:"string"`
  9902  }
  9903  
  9904  // String returns the string representation.
  9905  //
  9906  // API parameter values that are decorated as "sensitive" in the API will not
  9907  // be included in the string output. The member name will be present, but the
  9908  // value will be replaced with "sensitive".
  9909  func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
  9910  	return awsutil.Prettify(s)
  9911  }
  9912  
  9913  // GoString 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 AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
  9919  	return s.String()
  9920  }
  9921  
  9922  // SetCredential sets the Credential field's value.
  9923  func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
  9924  	s.Credential = &v
  9925  	return s
  9926  }
  9927  
  9928  // SetCredentialProvider sets the CredentialProvider field's value.
  9929  func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
  9930  	s.CredentialProvider = &v
  9931  	return s
  9932  }
  9933  
  9934  // Information about CloudWatch Logs for the build project.
  9935  type AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails struct {
  9936  	_ struct{} `type:"structure"`
  9937  
  9938  	// The group name of the logs in CloudWatch Logs.
  9939  	GroupName *string `type:"string"`
  9940  
  9941  	// The current status of the logs in CloudWatch Logs for a build project.
  9942  	Status *string `type:"string"`
  9943  
  9944  	// The prefix of the stream name of the CloudWatch Logs.
  9945  	StreamName *string `type:"string"`
  9946  }
  9947  
  9948  // String returns the string representation.
  9949  //
  9950  // API parameter values that are decorated as "sensitive" in the API will not
  9951  // be included in the string output. The member name will be present, but the
  9952  // value will be replaced with "sensitive".
  9953  func (s AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) String() string {
  9954  	return awsutil.Prettify(s)
  9955  }
  9956  
  9957  // GoString returns the string representation.
  9958  //
  9959  // API parameter values that are decorated as "sensitive" in the API will not
  9960  // be included in the string output. The member name will be present, but the
  9961  // value will be replaced with "sensitive".
  9962  func (s AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) GoString() string {
  9963  	return s.String()
  9964  }
  9965  
  9966  // SetGroupName sets the GroupName field's value.
  9967  func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetGroupName(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
  9968  	s.GroupName = &v
  9969  	return s
  9970  }
  9971  
  9972  // SetStatus sets the Status field's value.
  9973  func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetStatus(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
  9974  	s.Status = &v
  9975  	return s
  9976  }
  9977  
  9978  // SetStreamName sets the StreamName field's value.
  9979  func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetStreamName(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
  9980  	s.StreamName = &v
  9981  	return s
  9982  }
  9983  
  9984  // Information about logs for the build project.
  9985  type AwsCodeBuildProjectLogsConfigDetails struct {
  9986  	_ struct{} `type:"structure"`
  9987  
  9988  	// Information about CloudWatch Logs for the build project.
  9989  	CloudWatchLogs *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails `type:"structure"`
  9990  
  9991  	// Information about logs built to an S3 bucket for a build project.
  9992  	S3Logs *AwsCodeBuildProjectLogsConfigS3LogsDetails `type:"structure"`
  9993  }
  9994  
  9995  // String returns the string representation.
  9996  //
  9997  // API parameter values that are decorated as "sensitive" in the API will not
  9998  // be included in the string output. The member name will be present, but the
  9999  // value will be replaced with "sensitive".
 10000  func (s AwsCodeBuildProjectLogsConfigDetails) String() string {
 10001  	return awsutil.Prettify(s)
 10002  }
 10003  
 10004  // GoString returns the string representation.
 10005  //
 10006  // API parameter values that are decorated as "sensitive" in the API will not
 10007  // be included in the string output. The member name will be present, but the
 10008  // value will be replaced with "sensitive".
 10009  func (s AwsCodeBuildProjectLogsConfigDetails) GoString() string {
 10010  	return s.String()
 10011  }
 10012  
 10013  // SetCloudWatchLogs sets the CloudWatchLogs field's value.
 10014  func (s *AwsCodeBuildProjectLogsConfigDetails) SetCloudWatchLogs(v *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) *AwsCodeBuildProjectLogsConfigDetails {
 10015  	s.CloudWatchLogs = v
 10016  	return s
 10017  }
 10018  
 10019  // SetS3Logs sets the S3Logs field's value.
 10020  func (s *AwsCodeBuildProjectLogsConfigDetails) SetS3Logs(v *AwsCodeBuildProjectLogsConfigS3LogsDetails) *AwsCodeBuildProjectLogsConfigDetails {
 10021  	s.S3Logs = v
 10022  	return s
 10023  }
 10024  
 10025  // Information about logs built to an S3 bucket for a build project.
 10026  type AwsCodeBuildProjectLogsConfigS3LogsDetails struct {
 10027  	_ struct{} `type:"structure"`
 10028  
 10029  	// Whether to disable encryption of the S3 build log output.
 10030  	EncryptionDisabled *bool `type:"boolean"`
 10031  
 10032  	// The ARN of the S3 bucket and the path prefix for S3 logs.
 10033  	Location *string `type:"string"`
 10034  
 10035  	// The current status of the S3 build logs.
 10036  	Status *string `type:"string"`
 10037  }
 10038  
 10039  // String 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 AwsCodeBuildProjectLogsConfigS3LogsDetails) String() string {
 10045  	return awsutil.Prettify(s)
 10046  }
 10047  
 10048  // GoString returns the string representation.
 10049  //
 10050  // API parameter values that are decorated as "sensitive" in the API will not
 10051  // be included in the string output. The member name will be present, but the
 10052  // value will be replaced with "sensitive".
 10053  func (s AwsCodeBuildProjectLogsConfigS3LogsDetails) GoString() string {
 10054  	return s.String()
 10055  }
 10056  
 10057  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
 10058  func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetEncryptionDisabled(v bool) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
 10059  	s.EncryptionDisabled = &v
 10060  	return s
 10061  }
 10062  
 10063  // SetLocation sets the Location field's value.
 10064  func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetLocation(v string) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
 10065  	s.Location = &v
 10066  	return s
 10067  }
 10068  
 10069  // SetStatus sets the Status field's value.
 10070  func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetStatus(v string) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
 10071  	s.Status = &v
 10072  	return s
 10073  }
 10074  
 10075  // Information about the build input source code for this build project.
 10076  type AwsCodeBuildProjectSource struct {
 10077  	_ struct{} `type:"structure"`
 10078  
 10079  	// Information about the Git clone depth for the build project.
 10080  	GitCloneDepth *int64 `type:"integer"`
 10081  
 10082  	// Whether to ignore SSL warnings while connecting to the project source code.
 10083  	InsecureSsl *bool `type:"boolean"`
 10084  
 10085  	// Information about the location of the source code to be built.
 10086  	//
 10087  	// Valid values include:
 10088  	//
 10089  	//    * For source code settings that are specified in the source action of
 10090  	//    a pipeline in CodePipeline, location should not be specified. If it is
 10091  	//    specified, CodePipeline ignores it. This is because CodePipeline uses
 10092  	//    the settings in a pipeline's source action instead of this value.
 10093  	//
 10094  	//    * For source code in an CodeCommit repository, the HTTPS clone URL to
 10095  	//    the repository that contains the source code and the build spec file (for
 10096  	//    example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
 10097  	//    ).
 10098  	//
 10099  	//    * For source code in an S3 input bucket, one of the following. The path
 10100  	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
 10101  	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
 10102  	//
 10103  	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
 10104  	//    that contains the source and the build spec file.
 10105  	//
 10106  	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
 10107  	//    repository that contains the source and the build spec file.
 10108  	Location *string `type:"string"`
 10109  
 10110  	// The type of repository that contains the source code to be built. Valid values
 10111  	// are:
 10112  	//
 10113  	//    * BITBUCKET - The source code is in a Bitbucket repository.
 10114  	//
 10115  	//    * CODECOMMIT - The source code is in an CodeCommit repository.
 10116  	//
 10117  	//    * CODEPIPELINE - The source code settings are specified in the source
 10118  	//    action of a pipeline in CodePipeline.
 10119  	//
 10120  	//    * GITHUB - The source code is in a GitHub repository.
 10121  	//
 10122  	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
 10123  	//
 10124  	//    * NO_SOURCE - The project does not have input source code.
 10125  	//
 10126  	//    * S3 - The source code is in an S3 input bucket.
 10127  	Type *string `type:"string"`
 10128  }
 10129  
 10130  // String returns the string representation.
 10131  //
 10132  // API parameter values that are decorated as "sensitive" in the API will not
 10133  // be included in the string output. The member name will be present, but the
 10134  // value will be replaced with "sensitive".
 10135  func (s AwsCodeBuildProjectSource) String() string {
 10136  	return awsutil.Prettify(s)
 10137  }
 10138  
 10139  // GoString returns the string representation.
 10140  //
 10141  // API parameter values that are decorated as "sensitive" in the API will not
 10142  // be included in the string output. The member name will be present, but the
 10143  // value will be replaced with "sensitive".
 10144  func (s AwsCodeBuildProjectSource) GoString() string {
 10145  	return s.String()
 10146  }
 10147  
 10148  // SetGitCloneDepth sets the GitCloneDepth field's value.
 10149  func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
 10150  	s.GitCloneDepth = &v
 10151  	return s
 10152  }
 10153  
 10154  // SetInsecureSsl sets the InsecureSsl field's value.
 10155  func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
 10156  	s.InsecureSsl = &v
 10157  	return s
 10158  }
 10159  
 10160  // SetLocation sets the Location field's value.
 10161  func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
 10162  	s.Location = &v
 10163  	return s
 10164  }
 10165  
 10166  // SetType sets the Type field's value.
 10167  func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
 10168  	s.Type = &v
 10169  	return s
 10170  }
 10171  
 10172  // Information about the VPC configuration that CodeBuild accesses.
 10173  type AwsCodeBuildProjectVpcConfig struct {
 10174  	_ struct{} `type:"structure"`
 10175  
 10176  	// A list of one or more security group IDs in your VPC.
 10177  	SecurityGroupIds []*string `type:"list"`
 10178  
 10179  	// A list of one or more subnet IDs in your VPC.
 10180  	Subnets []*string `type:"list"`
 10181  
 10182  	// The ID of the VPC.
 10183  	VpcId *string `type:"string"`
 10184  }
 10185  
 10186  // String returns the string representation.
 10187  //
 10188  // API parameter values that are decorated as "sensitive" in the API will not
 10189  // be included in the string output. The member name will be present, but the
 10190  // value will be replaced with "sensitive".
 10191  func (s AwsCodeBuildProjectVpcConfig) String() string {
 10192  	return awsutil.Prettify(s)
 10193  }
 10194  
 10195  // GoString returns the string representation.
 10196  //
 10197  // API parameter values that are decorated as "sensitive" in the API will not
 10198  // be included in the string output. The member name will be present, but the
 10199  // value will be replaced with "sensitive".
 10200  func (s AwsCodeBuildProjectVpcConfig) GoString() string {
 10201  	return s.String()
 10202  }
 10203  
 10204  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 10205  func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
 10206  	s.SecurityGroupIds = v
 10207  	return s
 10208  }
 10209  
 10210  // SetSubnets sets the Subnets field's value.
 10211  func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
 10212  	s.Subnets = v
 10213  	return s
 10214  }
 10215  
 10216  // SetVpcId sets the VpcId field's value.
 10217  func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
 10218  	s.VpcId = &v
 10219  	return s
 10220  }
 10221  
 10222  // Contains the cross-origin resource sharing (CORS) configuration for the API.
 10223  // CORS is only supported for HTTP APIs.
 10224  type AwsCorsConfiguration struct {
 10225  	_ struct{} `type:"structure"`
 10226  
 10227  	// Indicates whether the CORS request includes credentials.
 10228  	AllowCredentials *bool `type:"boolean"`
 10229  
 10230  	// The allowed headers for CORS requests.
 10231  	AllowHeaders []*string `type:"list"`
 10232  
 10233  	// The allowed methods for CORS requests.
 10234  	AllowMethods []*string `type:"list"`
 10235  
 10236  	// The allowed origins for CORS requests.
 10237  	AllowOrigins []*string `type:"list"`
 10238  
 10239  	// The exposed headers for CORS requests.
 10240  	ExposeHeaders []*string `type:"list"`
 10241  
 10242  	// The number of seconds for which the browser caches preflight request results.
 10243  	MaxAge *int64 `type:"integer"`
 10244  }
 10245  
 10246  // String returns the string representation.
 10247  //
 10248  // API parameter values that are decorated as "sensitive" in the API will not
 10249  // be included in the string output. The member name will be present, but the
 10250  // value will be replaced with "sensitive".
 10251  func (s AwsCorsConfiguration) String() string {
 10252  	return awsutil.Prettify(s)
 10253  }
 10254  
 10255  // GoString returns the string representation.
 10256  //
 10257  // API parameter values that are decorated as "sensitive" in the API will not
 10258  // be included in the string output. The member name will be present, but the
 10259  // value will be replaced with "sensitive".
 10260  func (s AwsCorsConfiguration) GoString() string {
 10261  	return s.String()
 10262  }
 10263  
 10264  // SetAllowCredentials sets the AllowCredentials field's value.
 10265  func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
 10266  	s.AllowCredentials = &v
 10267  	return s
 10268  }
 10269  
 10270  // SetAllowHeaders sets the AllowHeaders field's value.
 10271  func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
 10272  	s.AllowHeaders = v
 10273  	return s
 10274  }
 10275  
 10276  // SetAllowMethods sets the AllowMethods field's value.
 10277  func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
 10278  	s.AllowMethods = v
 10279  	return s
 10280  }
 10281  
 10282  // SetAllowOrigins sets the AllowOrigins field's value.
 10283  func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
 10284  	s.AllowOrigins = v
 10285  	return s
 10286  }
 10287  
 10288  // SetExposeHeaders sets the ExposeHeaders field's value.
 10289  func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
 10290  	s.ExposeHeaders = v
 10291  	return s
 10292  }
 10293  
 10294  // SetMaxAge sets the MaxAge field's value.
 10295  func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
 10296  	s.MaxAge = &v
 10297  	return s
 10298  }
 10299  
 10300  // Contains a definition of an attribute for the table.
 10301  type AwsDynamoDbTableAttributeDefinition struct {
 10302  	_ struct{} `type:"structure"`
 10303  
 10304  	// The name of the attribute.
 10305  	AttributeName *string `type:"string"`
 10306  
 10307  	// The type of the attribute.
 10308  	AttributeType *string `type:"string"`
 10309  }
 10310  
 10311  // String returns the string representation.
 10312  //
 10313  // API parameter values that are decorated as "sensitive" in the API will not
 10314  // be included in the string output. The member name will be present, but the
 10315  // value will be replaced with "sensitive".
 10316  func (s AwsDynamoDbTableAttributeDefinition) String() string {
 10317  	return awsutil.Prettify(s)
 10318  }
 10319  
 10320  // GoString returns the string representation.
 10321  //
 10322  // API parameter values that are decorated as "sensitive" in the API will not
 10323  // be included in the string output. The member name will be present, but the
 10324  // value will be replaced with "sensitive".
 10325  func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
 10326  	return s.String()
 10327  }
 10328  
 10329  // SetAttributeName sets the AttributeName field's value.
 10330  func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
 10331  	s.AttributeName = &v
 10332  	return s
 10333  }
 10334  
 10335  // SetAttributeType sets the AttributeType field's value.
 10336  func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
 10337  	s.AttributeType = &v
 10338  	return s
 10339  }
 10340  
 10341  // Provides information about the billing for read/write capacity on the table.
 10342  type AwsDynamoDbTableBillingModeSummary struct {
 10343  	_ struct{} `type:"structure"`
 10344  
 10345  	// The method used to charge for read and write throughput and to manage capacity.
 10346  	BillingMode *string `type:"string"`
 10347  
 10348  	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
 10349  	// set to that value.
 10350  	//
 10351  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 10352  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 10353  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 10354  	LastUpdateToPayPerRequestDateTime *string `type:"string"`
 10355  }
 10356  
 10357  // String returns the string representation.
 10358  //
 10359  // API parameter values that are decorated as "sensitive" in the API will not
 10360  // be included in the string output. The member name will be present, but the
 10361  // value will be replaced with "sensitive".
 10362  func (s AwsDynamoDbTableBillingModeSummary) String() string {
 10363  	return awsutil.Prettify(s)
 10364  }
 10365  
 10366  // GoString returns the string representation.
 10367  //
 10368  // API parameter values that are decorated as "sensitive" in the API will not
 10369  // be included in the string output. The member name will be present, but the
 10370  // value will be replaced with "sensitive".
 10371  func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
 10372  	return s.String()
 10373  }
 10374  
 10375  // SetBillingMode sets the BillingMode field's value.
 10376  func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
 10377  	s.BillingMode = &v
 10378  	return s
 10379  }
 10380  
 10381  // SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
 10382  func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
 10383  	s.LastUpdateToPayPerRequestDateTime = &v
 10384  	return s
 10385  }
 10386  
 10387  // Provides details about a DynamoDB table.
 10388  type AwsDynamoDbTableDetails struct {
 10389  	_ struct{} `type:"structure"`
 10390  
 10391  	// A list of attribute definitions for the table.
 10392  	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
 10393  
 10394  	// Information about the billing for read/write capacity on the table.
 10395  	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
 10396  
 10397  	// Indicates when the table was created.
 10398  	//
 10399  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 10400  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 10401  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 10402  	CreationDateTime *string `type:"string"`
 10403  
 10404  	// List of global secondary indexes for the table.
 10405  	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
 10406  
 10407  	// The version of global tables being used.
 10408  	GlobalTableVersion *string `type:"string"`
 10409  
 10410  	// The number of items in the table.
 10411  	ItemCount *int64 `type:"integer"`
 10412  
 10413  	// The primary key structure for the table.
 10414  	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
 10415  
 10416  	// The ARN of the latest stream for the table.
 10417  	LatestStreamArn *string `type:"string"`
 10418  
 10419  	// The label of the latest stream. The label is not a unique identifier.
 10420  	LatestStreamLabel *string `type:"string"`
 10421  
 10422  	// The list of local secondary indexes for the table.
 10423  	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
 10424  
 10425  	// Information about the provisioned throughput for the table.
 10426  	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
 10427  
 10428  	// The list of replicas of this table.
 10429  	Replicas []*AwsDynamoDbTableReplica `type:"list"`
 10430  
 10431  	// Information about the restore for the table.
 10432  	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
 10433  
 10434  	// Information about the server-side encryption for the table.
 10435  	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
 10436  
 10437  	// The current DynamoDB Streams configuration for the table.
 10438  	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
 10439  
 10440  	// The identifier of the table.
 10441  	TableId *string `type:"string"`
 10442  
 10443  	// The name of the table.
 10444  	TableName *string `type:"string"`
 10445  
 10446  	// The total size of the table in bytes.
 10447  	TableSizeBytes *int64 `type:"long"`
 10448  
 10449  	// The current status of the table.
 10450  	TableStatus *string `type:"string"`
 10451  }
 10452  
 10453  // String returns the string representation.
 10454  //
 10455  // API parameter values that are decorated as "sensitive" in the API will not
 10456  // be included in the string output. The member name will be present, but the
 10457  // value will be replaced with "sensitive".
 10458  func (s AwsDynamoDbTableDetails) String() string {
 10459  	return awsutil.Prettify(s)
 10460  }
 10461  
 10462  // GoString returns the string representation.
 10463  //
 10464  // API parameter values that are decorated as "sensitive" in the API will not
 10465  // be included in the string output. The member name will be present, but the
 10466  // value will be replaced with "sensitive".
 10467  func (s AwsDynamoDbTableDetails) GoString() string {
 10468  	return s.String()
 10469  }
 10470  
 10471  // SetAttributeDefinitions sets the AttributeDefinitions field's value.
 10472  func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
 10473  	s.AttributeDefinitions = v
 10474  	return s
 10475  }
 10476  
 10477  // SetBillingModeSummary sets the BillingModeSummary field's value.
 10478  func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
 10479  	s.BillingModeSummary = v
 10480  	return s
 10481  }
 10482  
 10483  // SetCreationDateTime sets the CreationDateTime field's value.
 10484  func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
 10485  	s.CreationDateTime = &v
 10486  	return s
 10487  }
 10488  
 10489  // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
 10490  func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
 10491  	s.GlobalSecondaryIndexes = v
 10492  	return s
 10493  }
 10494  
 10495  // SetGlobalTableVersion sets the GlobalTableVersion field's value.
 10496  func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
 10497  	s.GlobalTableVersion = &v
 10498  	return s
 10499  }
 10500  
 10501  // SetItemCount sets the ItemCount field's value.
 10502  func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
 10503  	s.ItemCount = &v
 10504  	return s
 10505  }
 10506  
 10507  // SetKeySchema sets the KeySchema field's value.
 10508  func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
 10509  	s.KeySchema = v
 10510  	return s
 10511  }
 10512  
 10513  // SetLatestStreamArn sets the LatestStreamArn field's value.
 10514  func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
 10515  	s.LatestStreamArn = &v
 10516  	return s
 10517  }
 10518  
 10519  // SetLatestStreamLabel sets the LatestStreamLabel field's value.
 10520  func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
 10521  	s.LatestStreamLabel = &v
 10522  	return s
 10523  }
 10524  
 10525  // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
 10526  func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
 10527  	s.LocalSecondaryIndexes = v
 10528  	return s
 10529  }
 10530  
 10531  // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
 10532  func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
 10533  	s.ProvisionedThroughput = v
 10534  	return s
 10535  }
 10536  
 10537  // SetReplicas sets the Replicas field's value.
 10538  func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
 10539  	s.Replicas = v
 10540  	return s
 10541  }
 10542  
 10543  // SetRestoreSummary sets the RestoreSummary field's value.
 10544  func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
 10545  	s.RestoreSummary = v
 10546  	return s
 10547  }
 10548  
 10549  // SetSseDescription sets the SseDescription field's value.
 10550  func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
 10551  	s.SseDescription = v
 10552  	return s
 10553  }
 10554  
 10555  // SetStreamSpecification sets the StreamSpecification field's value.
 10556  func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
 10557  	s.StreamSpecification = v
 10558  	return s
 10559  }
 10560  
 10561  // SetTableId sets the TableId field's value.
 10562  func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
 10563  	s.TableId = &v
 10564  	return s
 10565  }
 10566  
 10567  // SetTableName sets the TableName field's value.
 10568  func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
 10569  	s.TableName = &v
 10570  	return s
 10571  }
 10572  
 10573  // SetTableSizeBytes sets the TableSizeBytes field's value.
 10574  func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
 10575  	s.TableSizeBytes = &v
 10576  	return s
 10577  }
 10578  
 10579  // SetTableStatus sets the TableStatus field's value.
 10580  func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
 10581  	s.TableStatus = &v
 10582  	return s
 10583  }
 10584  
 10585  // Information abut a global secondary index for the table.
 10586  type AwsDynamoDbTableGlobalSecondaryIndex struct {
 10587  	_ struct{} `type:"structure"`
 10588  
 10589  	// Whether the index is currently backfilling.
 10590  	Backfilling *bool `type:"boolean"`
 10591  
 10592  	// The ARN of the index.
 10593  	IndexArn *string `type:"string"`
 10594  
 10595  	// The name of the index.
 10596  	IndexName *string `type:"string"`
 10597  
 10598  	// The total size in bytes of the index.
 10599  	IndexSizeBytes *int64 `type:"long"`
 10600  
 10601  	// The current status of the index.
 10602  	IndexStatus *string `type:"string"`
 10603  
 10604  	// The number of items in the index.
 10605  	ItemCount *int64 `type:"integer"`
 10606  
 10607  	// The key schema for the index.
 10608  	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
 10609  
 10610  	// Attributes that are copied from the table into an index.
 10611  	Projection *AwsDynamoDbTableProjection `type:"structure"`
 10612  
 10613  	// Information about the provisioned throughput settings for the indexes.
 10614  	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
 10615  }
 10616  
 10617  // String returns the string representation.
 10618  //
 10619  // API parameter values that are decorated as "sensitive" in the API will not
 10620  // be included in the string output. The member name will be present, but the
 10621  // value will be replaced with "sensitive".
 10622  func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
 10623  	return awsutil.Prettify(s)
 10624  }
 10625  
 10626  // GoString returns the string representation.
 10627  //
 10628  // API parameter values that are decorated as "sensitive" in the API will not
 10629  // be included in the string output. The member name will be present, but the
 10630  // value will be replaced with "sensitive".
 10631  func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
 10632  	return s.String()
 10633  }
 10634  
 10635  // SetBackfilling sets the Backfilling field's value.
 10636  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
 10637  	s.Backfilling = &v
 10638  	return s
 10639  }
 10640  
 10641  // SetIndexArn sets the IndexArn field's value.
 10642  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
 10643  	s.IndexArn = &v
 10644  	return s
 10645  }
 10646  
 10647  // SetIndexName sets the IndexName field's value.
 10648  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
 10649  	s.IndexName = &v
 10650  	return s
 10651  }
 10652  
 10653  // SetIndexSizeBytes sets the IndexSizeBytes field's value.
 10654  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
 10655  	s.IndexSizeBytes = &v
 10656  	return s
 10657  }
 10658  
 10659  // SetIndexStatus sets the IndexStatus field's value.
 10660  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
 10661  	s.IndexStatus = &v
 10662  	return s
 10663  }
 10664  
 10665  // SetItemCount sets the ItemCount field's value.
 10666  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
 10667  	s.ItemCount = &v
 10668  	return s
 10669  }
 10670  
 10671  // SetKeySchema sets the KeySchema field's value.
 10672  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
 10673  	s.KeySchema = v
 10674  	return s
 10675  }
 10676  
 10677  // SetProjection sets the Projection field's value.
 10678  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
 10679  	s.Projection = v
 10680  	return s
 10681  }
 10682  
 10683  // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
 10684  func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
 10685  	s.ProvisionedThroughput = v
 10686  	return s
 10687  }
 10688  
 10689  // A component of the key schema for the DynamoDB table, a global secondary
 10690  // index, or a local secondary index.
 10691  type AwsDynamoDbTableKeySchema struct {
 10692  	_ struct{} `type:"structure"`
 10693  
 10694  	// The name of the key schema attribute.
 10695  	AttributeName *string `type:"string"`
 10696  
 10697  	// The type of key used for the key schema attribute.
 10698  	KeyType *string `type:"string"`
 10699  }
 10700  
 10701  // String returns the string representation.
 10702  //
 10703  // API parameter values that are decorated as "sensitive" in the API will not
 10704  // be included in the string output. The member name will be present, but the
 10705  // value will be replaced with "sensitive".
 10706  func (s AwsDynamoDbTableKeySchema) String() string {
 10707  	return awsutil.Prettify(s)
 10708  }
 10709  
 10710  // GoString returns the string representation.
 10711  //
 10712  // API parameter values that are decorated as "sensitive" in the API will not
 10713  // be included in the string output. The member name will be present, but the
 10714  // value will be replaced with "sensitive".
 10715  func (s AwsDynamoDbTableKeySchema) GoString() string {
 10716  	return s.String()
 10717  }
 10718  
 10719  // SetAttributeName sets the AttributeName field's value.
 10720  func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
 10721  	s.AttributeName = &v
 10722  	return s
 10723  }
 10724  
 10725  // SetKeyType sets the KeyType field's value.
 10726  func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
 10727  	s.KeyType = &v
 10728  	return s
 10729  }
 10730  
 10731  // Information about a local secondary index for a DynamoDB table.
 10732  type AwsDynamoDbTableLocalSecondaryIndex struct {
 10733  	_ struct{} `type:"structure"`
 10734  
 10735  	// The ARN of the index.
 10736  	IndexArn *string `type:"string"`
 10737  
 10738  	// The name of the index.
 10739  	IndexName *string `type:"string"`
 10740  
 10741  	// The complete key schema for the index.
 10742  	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
 10743  
 10744  	// Attributes that are copied from the table into the index. These are in addition
 10745  	// to the primary key attributes and index key attributes, which are automatically
 10746  	// projected.
 10747  	Projection *AwsDynamoDbTableProjection `type:"structure"`
 10748  }
 10749  
 10750  // String returns the string representation.
 10751  //
 10752  // API parameter values that are decorated as "sensitive" in the API will not
 10753  // be included in the string output. The member name will be present, but the
 10754  // value will be replaced with "sensitive".
 10755  func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
 10756  	return awsutil.Prettify(s)
 10757  }
 10758  
 10759  // GoString returns the string representation.
 10760  //
 10761  // API parameter values that are decorated as "sensitive" in the API will not
 10762  // be included in the string output. The member name will be present, but the
 10763  // value will be replaced with "sensitive".
 10764  func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
 10765  	return s.String()
 10766  }
 10767  
 10768  // SetIndexArn sets the IndexArn field's value.
 10769  func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
 10770  	s.IndexArn = &v
 10771  	return s
 10772  }
 10773  
 10774  // SetIndexName sets the IndexName field's value.
 10775  func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
 10776  	s.IndexName = &v
 10777  	return s
 10778  }
 10779  
 10780  // SetKeySchema sets the KeySchema field's value.
 10781  func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
 10782  	s.KeySchema = v
 10783  	return s
 10784  }
 10785  
 10786  // SetProjection sets the Projection field's value.
 10787  func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
 10788  	s.Projection = v
 10789  	return s
 10790  }
 10791  
 10792  // For global and local secondary indexes, identifies the attributes that are
 10793  // copied from the table into the index.
 10794  type AwsDynamoDbTableProjection struct {
 10795  	_ struct{} `type:"structure"`
 10796  
 10797  	// The nonkey attributes that are projected into the index. For each attribute,
 10798  	// provide the attribute name.
 10799  	NonKeyAttributes []*string `type:"list"`
 10800  
 10801  	// The types of attributes that are projected into the index.
 10802  	ProjectionType *string `type:"string"`
 10803  }
 10804  
 10805  // String returns the string representation.
 10806  //
 10807  // API parameter values that are decorated as "sensitive" in the API will not
 10808  // be included in the string output. The member name will be present, but the
 10809  // value will be replaced with "sensitive".
 10810  func (s AwsDynamoDbTableProjection) String() string {
 10811  	return awsutil.Prettify(s)
 10812  }
 10813  
 10814  // GoString returns the string representation.
 10815  //
 10816  // API parameter values that are decorated as "sensitive" in the API will not
 10817  // be included in the string output. The member name will be present, but the
 10818  // value will be replaced with "sensitive".
 10819  func (s AwsDynamoDbTableProjection) GoString() string {
 10820  	return s.String()
 10821  }
 10822  
 10823  // SetNonKeyAttributes sets the NonKeyAttributes field's value.
 10824  func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
 10825  	s.NonKeyAttributes = v
 10826  	return s
 10827  }
 10828  
 10829  // SetProjectionType sets the ProjectionType field's value.
 10830  func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
 10831  	s.ProjectionType = &v
 10832  	return s
 10833  }
 10834  
 10835  // Information about the provisioned throughput for the table or for a global
 10836  // secondary index.
 10837  type AwsDynamoDbTableProvisionedThroughput struct {
 10838  	_ struct{} `type:"structure"`
 10839  
 10840  	// Indicates when the provisioned throughput was last decreased.
 10841  	//
 10842  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 10843  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 10844  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 10845  	LastDecreaseDateTime *string `type:"string"`
 10846  
 10847  	// Indicates when the provisioned throughput was last increased.
 10848  	//
 10849  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 10850  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 10851  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 10852  	LastIncreaseDateTime *string `type:"string"`
 10853  
 10854  	// The number of times during the current UTC calendar day that the provisioned
 10855  	// throughput was decreased.
 10856  	NumberOfDecreasesToday *int64 `type:"integer"`
 10857  
 10858  	// The maximum number of strongly consistent reads consumed per second before
 10859  	// DynamoDB returns a ThrottlingException.
 10860  	ReadCapacityUnits *int64 `type:"integer"`
 10861  
 10862  	// The maximum number of writes consumed per second before DynamoDB returns
 10863  	// a ThrottlingException.
 10864  	WriteCapacityUnits *int64 `type:"integer"`
 10865  }
 10866  
 10867  // String returns the string representation.
 10868  //
 10869  // API parameter values that are decorated as "sensitive" in the API will not
 10870  // be included in the string output. The member name will be present, but the
 10871  // value will be replaced with "sensitive".
 10872  func (s AwsDynamoDbTableProvisionedThroughput) String() string {
 10873  	return awsutil.Prettify(s)
 10874  }
 10875  
 10876  // GoString returns the string representation.
 10877  //
 10878  // API parameter values that are decorated as "sensitive" in the API will not
 10879  // be included in the string output. The member name will be present, but the
 10880  // value will be replaced with "sensitive".
 10881  func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
 10882  	return s.String()
 10883  }
 10884  
 10885  // SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
 10886  func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
 10887  	s.LastDecreaseDateTime = &v
 10888  	return s
 10889  }
 10890  
 10891  // SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
 10892  func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
 10893  	s.LastIncreaseDateTime = &v
 10894  	return s
 10895  }
 10896  
 10897  // SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
 10898  func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
 10899  	s.NumberOfDecreasesToday = &v
 10900  	return s
 10901  }
 10902  
 10903  // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
 10904  func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
 10905  	s.ReadCapacityUnits = &v
 10906  	return s
 10907  }
 10908  
 10909  // SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
 10910  func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
 10911  	s.WriteCapacityUnits = &v
 10912  	return s
 10913  }
 10914  
 10915  // Replica-specific configuration for the provisioned throughput.
 10916  type AwsDynamoDbTableProvisionedThroughputOverride struct {
 10917  	_ struct{} `type:"structure"`
 10918  
 10919  	// The read capacity units for the replica.
 10920  	ReadCapacityUnits *int64 `type:"integer"`
 10921  }
 10922  
 10923  // String returns the string representation.
 10924  //
 10925  // API parameter values that are decorated as "sensitive" in the API will not
 10926  // be included in the string output. The member name will be present, but the
 10927  // value will be replaced with "sensitive".
 10928  func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
 10929  	return awsutil.Prettify(s)
 10930  }
 10931  
 10932  // GoString returns the string representation.
 10933  //
 10934  // API parameter values that are decorated as "sensitive" in the API will not
 10935  // be included in the string output. The member name will be present, but the
 10936  // value will be replaced with "sensitive".
 10937  func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
 10938  	return s.String()
 10939  }
 10940  
 10941  // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
 10942  func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
 10943  	s.ReadCapacityUnits = &v
 10944  	return s
 10945  }
 10946  
 10947  // Information about a replica of a DynamoDB table.
 10948  type AwsDynamoDbTableReplica struct {
 10949  	_ struct{} `type:"structure"`
 10950  
 10951  	// List of global secondary indexes for the replica.
 10952  	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
 10953  
 10954  	// The identifier of the KMS key that will be used for KMS encryption for the
 10955  	// replica.
 10956  	KmsMasterKeyId *string `type:"string"`
 10957  
 10958  	// Replica-specific configuration for the provisioned throughput.
 10959  	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
 10960  
 10961  	// The name of the Region where the replica is located.
 10962  	RegionName *string `type:"string"`
 10963  
 10964  	// The current status of the replica.
 10965  	ReplicaStatus *string `type:"string"`
 10966  
 10967  	// Detailed information about the replica status.
 10968  	ReplicaStatusDescription *string `type:"string"`
 10969  }
 10970  
 10971  // String returns the string representation.
 10972  //
 10973  // API parameter values that are decorated as "sensitive" in the API will not
 10974  // be included in the string output. The member name will be present, but the
 10975  // value will be replaced with "sensitive".
 10976  func (s AwsDynamoDbTableReplica) String() string {
 10977  	return awsutil.Prettify(s)
 10978  }
 10979  
 10980  // GoString returns the string representation.
 10981  //
 10982  // API parameter values that are decorated as "sensitive" in the API will not
 10983  // be included in the string output. The member name will be present, but the
 10984  // value will be replaced with "sensitive".
 10985  func (s AwsDynamoDbTableReplica) GoString() string {
 10986  	return s.String()
 10987  }
 10988  
 10989  // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
 10990  func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
 10991  	s.GlobalSecondaryIndexes = v
 10992  	return s
 10993  }
 10994  
 10995  // SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
 10996  func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
 10997  	s.KmsMasterKeyId = &v
 10998  	return s
 10999  }
 11000  
 11001  // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
 11002  func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
 11003  	s.ProvisionedThroughputOverride = v
 11004  	return s
 11005  }
 11006  
 11007  // SetRegionName sets the RegionName field's value.
 11008  func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
 11009  	s.RegionName = &v
 11010  	return s
 11011  }
 11012  
 11013  // SetReplicaStatus sets the ReplicaStatus field's value.
 11014  func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
 11015  	s.ReplicaStatus = &v
 11016  	return s
 11017  }
 11018  
 11019  // SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
 11020  func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
 11021  	s.ReplicaStatusDescription = &v
 11022  	return s
 11023  }
 11024  
 11025  // Information about a global secondary index for a DynamoDB table replica.
 11026  type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
 11027  	_ struct{} `type:"structure"`
 11028  
 11029  	// The name of the index.
 11030  	IndexName *string `type:"string"`
 11031  
 11032  	// Replica-specific configuration for the provisioned throughput for the index.
 11033  	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
 11034  }
 11035  
 11036  // String returns the string representation.
 11037  //
 11038  // API parameter values that are decorated as "sensitive" in the API will not
 11039  // be included in the string output. The member name will be present, but the
 11040  // value will be replaced with "sensitive".
 11041  func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
 11042  	return awsutil.Prettify(s)
 11043  }
 11044  
 11045  // GoString returns the string representation.
 11046  //
 11047  // API parameter values that are decorated as "sensitive" in the API will not
 11048  // be included in the string output. The member name will be present, but the
 11049  // value will be replaced with "sensitive".
 11050  func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
 11051  	return s.String()
 11052  }
 11053  
 11054  // SetIndexName sets the IndexName field's value.
 11055  func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
 11056  	s.IndexName = &v
 11057  	return s
 11058  }
 11059  
 11060  // SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
 11061  func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
 11062  	s.ProvisionedThroughputOverride = v
 11063  	return s
 11064  }
 11065  
 11066  // Information about the restore for the table.
 11067  type AwsDynamoDbTableRestoreSummary struct {
 11068  	_ struct{} `type:"structure"`
 11069  
 11070  	// Indicates the point in time that the table was restored to.
 11071  	//
 11072  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 11073  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 11074  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 11075  	RestoreDateTime *string `type:"string"`
 11076  
 11077  	// Whether a restore is currently in progress.
 11078  	RestoreInProgress *bool `type:"boolean"`
 11079  
 11080  	// The ARN of the source backup from which the table was restored.
 11081  	SourceBackupArn *string `type:"string"`
 11082  
 11083  	// The ARN of the source table for the backup.
 11084  	SourceTableArn *string `type:"string"`
 11085  }
 11086  
 11087  // String returns the string representation.
 11088  //
 11089  // API parameter values that are decorated as "sensitive" in the API will not
 11090  // be included in the string output. The member name will be present, but the
 11091  // value will be replaced with "sensitive".
 11092  func (s AwsDynamoDbTableRestoreSummary) String() string {
 11093  	return awsutil.Prettify(s)
 11094  }
 11095  
 11096  // GoString returns the string representation.
 11097  //
 11098  // API parameter values that are decorated as "sensitive" in the API will not
 11099  // be included in the string output. The member name will be present, but the
 11100  // value will be replaced with "sensitive".
 11101  func (s AwsDynamoDbTableRestoreSummary) GoString() string {
 11102  	return s.String()
 11103  }
 11104  
 11105  // SetRestoreDateTime sets the RestoreDateTime field's value.
 11106  func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
 11107  	s.RestoreDateTime = &v
 11108  	return s
 11109  }
 11110  
 11111  // SetRestoreInProgress sets the RestoreInProgress field's value.
 11112  func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
 11113  	s.RestoreInProgress = &v
 11114  	return s
 11115  }
 11116  
 11117  // SetSourceBackupArn sets the SourceBackupArn field's value.
 11118  func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
 11119  	s.SourceBackupArn = &v
 11120  	return s
 11121  }
 11122  
 11123  // SetSourceTableArn sets the SourceTableArn field's value.
 11124  func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
 11125  	s.SourceTableArn = &v
 11126  	return s
 11127  }
 11128  
 11129  // Information about the server-side encryption for the table.
 11130  type AwsDynamoDbTableSseDescription struct {
 11131  	_ struct{} `type:"structure"`
 11132  
 11133  	// If the key is inaccessible, the date and time when DynamoDB detected that
 11134  	// the key was inaccessible.
 11135  	//
 11136  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 11137  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 11138  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 11139  	InaccessibleEncryptionDateTime *string `type:"string"`
 11140  
 11141  	// The ARN of the KMS key that is used for the KMS encryption.
 11142  	KmsMasterKeyArn *string `type:"string"`
 11143  
 11144  	// The type of server-side encryption.
 11145  	SseType *string `type:"string"`
 11146  
 11147  	// The status of the server-side encryption.
 11148  	Status *string `type:"string"`
 11149  }
 11150  
 11151  // String returns the string representation.
 11152  //
 11153  // API parameter values that are decorated as "sensitive" in the API will not
 11154  // be included in the string output. The member name will be present, but the
 11155  // value will be replaced with "sensitive".
 11156  func (s AwsDynamoDbTableSseDescription) String() string {
 11157  	return awsutil.Prettify(s)
 11158  }
 11159  
 11160  // GoString returns the string representation.
 11161  //
 11162  // API parameter values that are decorated as "sensitive" in the API will not
 11163  // be included in the string output. The member name will be present, but the
 11164  // value will be replaced with "sensitive".
 11165  func (s AwsDynamoDbTableSseDescription) GoString() string {
 11166  	return s.String()
 11167  }
 11168  
 11169  // SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
 11170  func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
 11171  	s.InaccessibleEncryptionDateTime = &v
 11172  	return s
 11173  }
 11174  
 11175  // SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
 11176  func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
 11177  	s.KmsMasterKeyArn = &v
 11178  	return s
 11179  }
 11180  
 11181  // SetSseType sets the SseType field's value.
 11182  func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
 11183  	s.SseType = &v
 11184  	return s
 11185  }
 11186  
 11187  // SetStatus sets the Status field's value.
 11188  func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
 11189  	s.Status = &v
 11190  	return s
 11191  }
 11192  
 11193  // The current DynamoDB Streams configuration for the table.
 11194  type AwsDynamoDbTableStreamSpecification struct {
 11195  	_ struct{} `type:"structure"`
 11196  
 11197  	// Indicates whether DynamoDB Streams is enabled on the table.
 11198  	StreamEnabled *bool `type:"boolean"`
 11199  
 11200  	// Determines the information that is written to the table.
 11201  	StreamViewType *string `type:"string"`
 11202  }
 11203  
 11204  // String returns the string representation.
 11205  //
 11206  // API parameter values that are decorated as "sensitive" in the API will not
 11207  // be included in the string output. The member name will be present, but the
 11208  // value will be replaced with "sensitive".
 11209  func (s AwsDynamoDbTableStreamSpecification) String() string {
 11210  	return awsutil.Prettify(s)
 11211  }
 11212  
 11213  // GoString returns the string representation.
 11214  //
 11215  // API parameter values that are decorated as "sensitive" in the API will not
 11216  // be included in the string output. The member name will be present, but the
 11217  // value will be replaced with "sensitive".
 11218  func (s AwsDynamoDbTableStreamSpecification) GoString() string {
 11219  	return s.String()
 11220  }
 11221  
 11222  // SetStreamEnabled sets the StreamEnabled field's value.
 11223  func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
 11224  	s.StreamEnabled = &v
 11225  	return s
 11226  }
 11227  
 11228  // SetStreamViewType sets the StreamViewType field's value.
 11229  func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
 11230  	s.StreamViewType = &v
 11231  	return s
 11232  }
 11233  
 11234  // Information about an Elastic IP address.
 11235  type AwsEc2EipDetails struct {
 11236  	_ struct{} `type:"structure"`
 11237  
 11238  	// The identifier that Amazon Web Services assigns to represent the allocation
 11239  	// of the Elastic IP address for use with Amazon VPC.
 11240  	AllocationId *string `type:"string"`
 11241  
 11242  	// The identifier that represents the association of the Elastic IP address
 11243  	// with an EC2 instance.
 11244  	AssociationId *string `type:"string"`
 11245  
 11246  	// The domain in which to allocate the address.
 11247  	//
 11248  	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
 11249  	// Otherwise, Domain is standard.
 11250  	Domain *string `type:"string"`
 11251  
 11252  	// The identifier of the EC2 instance.
 11253  	InstanceId *string `type:"string"`
 11254  
 11255  	// The name of the location from which the Elastic IP address is advertised.
 11256  	NetworkBorderGroup *string `type:"string"`
 11257  
 11258  	// The identifier of the network interface.
 11259  	NetworkInterfaceId *string `type:"string"`
 11260  
 11261  	// The Amazon Web Services account ID of the owner of the network interface.
 11262  	NetworkInterfaceOwnerId *string `type:"string"`
 11263  
 11264  	// The private IP address that is associated with the Elastic IP address.
 11265  	PrivateIpAddress *string `type:"string"`
 11266  
 11267  	// A public IP address that is associated with the EC2 instance.
 11268  	PublicIp *string `type:"string"`
 11269  
 11270  	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
 11271  	// select an IP address from the address pool.
 11272  	PublicIpv4Pool *string `type:"string"`
 11273  }
 11274  
 11275  // String returns the string representation.
 11276  //
 11277  // API parameter values that are decorated as "sensitive" in the API will not
 11278  // be included in the string output. The member name will be present, but the
 11279  // value will be replaced with "sensitive".
 11280  func (s AwsEc2EipDetails) String() string {
 11281  	return awsutil.Prettify(s)
 11282  }
 11283  
 11284  // GoString returns the string representation.
 11285  //
 11286  // API parameter values that are decorated as "sensitive" in the API will not
 11287  // be included in the string output. The member name will be present, but the
 11288  // value will be replaced with "sensitive".
 11289  func (s AwsEc2EipDetails) GoString() string {
 11290  	return s.String()
 11291  }
 11292  
 11293  // SetAllocationId sets the AllocationId field's value.
 11294  func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
 11295  	s.AllocationId = &v
 11296  	return s
 11297  }
 11298  
 11299  // SetAssociationId sets the AssociationId field's value.
 11300  func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
 11301  	s.AssociationId = &v
 11302  	return s
 11303  }
 11304  
 11305  // SetDomain sets the Domain field's value.
 11306  func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
 11307  	s.Domain = &v
 11308  	return s
 11309  }
 11310  
 11311  // SetInstanceId sets the InstanceId field's value.
 11312  func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
 11313  	s.InstanceId = &v
 11314  	return s
 11315  }
 11316  
 11317  // SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
 11318  func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
 11319  	s.NetworkBorderGroup = &v
 11320  	return s
 11321  }
 11322  
 11323  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 11324  func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
 11325  	s.NetworkInterfaceId = &v
 11326  	return s
 11327  }
 11328  
 11329  // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
 11330  func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
 11331  	s.NetworkInterfaceOwnerId = &v
 11332  	return s
 11333  }
 11334  
 11335  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 11336  func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
 11337  	s.PrivateIpAddress = &v
 11338  	return s
 11339  }
 11340  
 11341  // SetPublicIp sets the PublicIp field's value.
 11342  func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
 11343  	s.PublicIp = &v
 11344  	return s
 11345  }
 11346  
 11347  // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
 11348  func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
 11349  	s.PublicIpv4Pool = &v
 11350  	return s
 11351  }
 11352  
 11353  // The details of an EC2 instance.
 11354  type AwsEc2InstanceDetails struct {
 11355  	_ struct{} `type:"structure"`
 11356  
 11357  	// The IAM profile ARN of the instance.
 11358  	IamInstanceProfileArn *string `type:"string"`
 11359  
 11360  	// The Amazon Machine Image (AMI) ID of the instance.
 11361  	ImageId *string `type:"string"`
 11362  
 11363  	// The IPv4 addresses associated with the instance.
 11364  	IpV4Addresses []*string `type:"list"`
 11365  
 11366  	// The IPv6 addresses associated with the instance.
 11367  	IpV6Addresses []*string `type:"list"`
 11368  
 11369  	// The key name associated with the instance.
 11370  	KeyName *string `type:"string"`
 11371  
 11372  	// Indicates when the instance was launched.
 11373  	//
 11374  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 11375  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 11376  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 11377  	LaunchedAt *string `type:"string"`
 11378  
 11379  	// The identifiers of the network interfaces for the EC2 instance. The details
 11380  	// for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails
 11381  	// object.
 11382  	NetworkInterfaces []*AwsEc2InstanceNetworkInterfacesDetails `type:"list"`
 11383  
 11384  	// The identifier of the subnet that the instance was launched in.
 11385  	SubnetId *string `type:"string"`
 11386  
 11387  	// The instance type of the instance.
 11388  	Type *string `type:"string"`
 11389  
 11390  	// The identifier of the VPC that the instance was launched in.
 11391  	VpcId *string `type:"string"`
 11392  }
 11393  
 11394  // String returns the string representation.
 11395  //
 11396  // API parameter values that are decorated as "sensitive" in the API will not
 11397  // be included in the string output. The member name will be present, but the
 11398  // value will be replaced with "sensitive".
 11399  func (s AwsEc2InstanceDetails) String() string {
 11400  	return awsutil.Prettify(s)
 11401  }
 11402  
 11403  // GoString returns the string representation.
 11404  //
 11405  // API parameter values that are decorated as "sensitive" in the API will not
 11406  // be included in the string output. The member name will be present, but the
 11407  // value will be replaced with "sensitive".
 11408  func (s AwsEc2InstanceDetails) GoString() string {
 11409  	return s.String()
 11410  }
 11411  
 11412  // SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
 11413  func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
 11414  	s.IamInstanceProfileArn = &v
 11415  	return s
 11416  }
 11417  
 11418  // SetImageId sets the ImageId field's value.
 11419  func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
 11420  	s.ImageId = &v
 11421  	return s
 11422  }
 11423  
 11424  // SetIpV4Addresses sets the IpV4Addresses field's value.
 11425  func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
 11426  	s.IpV4Addresses = v
 11427  	return s
 11428  }
 11429  
 11430  // SetIpV6Addresses sets the IpV6Addresses field's value.
 11431  func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
 11432  	s.IpV6Addresses = v
 11433  	return s
 11434  }
 11435  
 11436  // SetKeyName sets the KeyName field's value.
 11437  func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
 11438  	s.KeyName = &v
 11439  	return s
 11440  }
 11441  
 11442  // SetLaunchedAt sets the LaunchedAt field's value.
 11443  func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
 11444  	s.LaunchedAt = &v
 11445  	return s
 11446  }
 11447  
 11448  // SetNetworkInterfaces sets the NetworkInterfaces field's value.
 11449  func (s *AwsEc2InstanceDetails) SetNetworkInterfaces(v []*AwsEc2InstanceNetworkInterfacesDetails) *AwsEc2InstanceDetails {
 11450  	s.NetworkInterfaces = v
 11451  	return s
 11452  }
 11453  
 11454  // SetSubnetId sets the SubnetId field's value.
 11455  func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
 11456  	s.SubnetId = &v
 11457  	return s
 11458  }
 11459  
 11460  // SetType sets the Type field's value.
 11461  func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
 11462  	s.Type = &v
 11463  	return s
 11464  }
 11465  
 11466  // SetVpcId sets the VpcId field's value.
 11467  func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
 11468  	s.VpcId = &v
 11469  	return s
 11470  }
 11471  
 11472  // Identifies a network interface for the EC2 instance.
 11473  type AwsEc2InstanceNetworkInterfacesDetails struct {
 11474  	_ struct{} `type:"structure"`
 11475  
 11476  	// The identifier of the network interface. The details are in a corresponding
 11477  	// AwsEc2NetworkInterfacesDetails object.
 11478  	NetworkInterfaceId *string `type:"string"`
 11479  }
 11480  
 11481  // String returns the string representation.
 11482  //
 11483  // API parameter values that are decorated as "sensitive" in the API will not
 11484  // be included in the string output. The member name will be present, but the
 11485  // value will be replaced with "sensitive".
 11486  func (s AwsEc2InstanceNetworkInterfacesDetails) String() string {
 11487  	return awsutil.Prettify(s)
 11488  }
 11489  
 11490  // GoString returns the string representation.
 11491  //
 11492  // API parameter values that are decorated as "sensitive" in the API will not
 11493  // be included in the string output. The member name will be present, but the
 11494  // value will be replaced with "sensitive".
 11495  func (s AwsEc2InstanceNetworkInterfacesDetails) GoString() string {
 11496  	return s.String()
 11497  }
 11498  
 11499  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 11500  func (s *AwsEc2InstanceNetworkInterfacesDetails) SetNetworkInterfaceId(v string) *AwsEc2InstanceNetworkInterfacesDetails {
 11501  	s.NetworkInterfaceId = &v
 11502  	return s
 11503  }
 11504  
 11505  // An association between the network ACL and a subnet.
 11506  type AwsEc2NetworkAclAssociation struct {
 11507  	_ struct{} `type:"structure"`
 11508  
 11509  	// The identifier of the association between the network ACL and the subnet.
 11510  	NetworkAclAssociationId *string `type:"string"`
 11511  
 11512  	// The identifier of the network ACL.
 11513  	NetworkAclId *string `type:"string"`
 11514  
 11515  	// The identifier of the subnet that is associated with the network ACL.
 11516  	SubnetId *string `type:"string"`
 11517  }
 11518  
 11519  // String returns the string representation.
 11520  //
 11521  // API parameter values that are decorated as "sensitive" in the API will not
 11522  // be included in the string output. The member name will be present, but the
 11523  // value will be replaced with "sensitive".
 11524  func (s AwsEc2NetworkAclAssociation) String() string {
 11525  	return awsutil.Prettify(s)
 11526  }
 11527  
 11528  // GoString returns the string representation.
 11529  //
 11530  // API parameter values that are decorated as "sensitive" in the API will not
 11531  // be included in the string output. The member name will be present, but the
 11532  // value will be replaced with "sensitive".
 11533  func (s AwsEc2NetworkAclAssociation) GoString() string {
 11534  	return s.String()
 11535  }
 11536  
 11537  // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
 11538  func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
 11539  	s.NetworkAclAssociationId = &v
 11540  	return s
 11541  }
 11542  
 11543  // SetNetworkAclId sets the NetworkAclId field's value.
 11544  func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
 11545  	s.NetworkAclId = &v
 11546  	return s
 11547  }
 11548  
 11549  // SetSubnetId sets the SubnetId field's value.
 11550  func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
 11551  	s.SubnetId = &v
 11552  	return s
 11553  }
 11554  
 11555  // Contains details about an EC2 network access control list (ACL).
 11556  type AwsEc2NetworkAclDetails struct {
 11557  	_ struct{} `type:"structure"`
 11558  
 11559  	// Associations between the network ACL and subnets.
 11560  	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
 11561  
 11562  	// The set of rules in the network ACL.
 11563  	Entries []*AwsEc2NetworkAclEntry `type:"list"`
 11564  
 11565  	// Whether this is the default network ACL for the VPC.
 11566  	IsDefault *bool `type:"boolean"`
 11567  
 11568  	// The identifier of the network ACL.
 11569  	NetworkAclId *string `type:"string"`
 11570  
 11571  	// The identifier of the Amazon Web Services account that owns the network ACL.
 11572  	OwnerId *string `type:"string"`
 11573  
 11574  	// The identifier of the VPC for the network ACL.
 11575  	VpcId *string `type:"string"`
 11576  }
 11577  
 11578  // String returns the string representation.
 11579  //
 11580  // API parameter values that are decorated as "sensitive" in the API will not
 11581  // be included in the string output. The member name will be present, but the
 11582  // value will be replaced with "sensitive".
 11583  func (s AwsEc2NetworkAclDetails) String() string {
 11584  	return awsutil.Prettify(s)
 11585  }
 11586  
 11587  // GoString returns the string representation.
 11588  //
 11589  // API parameter values that are decorated as "sensitive" in the API will not
 11590  // be included in the string output. The member name will be present, but the
 11591  // value will be replaced with "sensitive".
 11592  func (s AwsEc2NetworkAclDetails) GoString() string {
 11593  	return s.String()
 11594  }
 11595  
 11596  // SetAssociations sets the Associations field's value.
 11597  func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
 11598  	s.Associations = v
 11599  	return s
 11600  }
 11601  
 11602  // SetEntries sets the Entries field's value.
 11603  func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
 11604  	s.Entries = v
 11605  	return s
 11606  }
 11607  
 11608  // SetIsDefault sets the IsDefault field's value.
 11609  func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
 11610  	s.IsDefault = &v
 11611  	return s
 11612  }
 11613  
 11614  // SetNetworkAclId sets the NetworkAclId field's value.
 11615  func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
 11616  	s.NetworkAclId = &v
 11617  	return s
 11618  }
 11619  
 11620  // SetOwnerId sets the OwnerId field's value.
 11621  func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
 11622  	s.OwnerId = &v
 11623  	return s
 11624  }
 11625  
 11626  // SetVpcId sets the VpcId field's value.
 11627  func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
 11628  	s.VpcId = &v
 11629  	return s
 11630  }
 11631  
 11632  // A rule for the network ACL. Each rule allows or denies access based on the
 11633  // IP address, traffic direction, port, and protocol.
 11634  type AwsEc2NetworkAclEntry struct {
 11635  	_ struct{} `type:"structure"`
 11636  
 11637  	// The IPV4 network range for which to deny or allow access.
 11638  	CidrBlock *string `type:"string"`
 11639  
 11640  	// Whether the rule is an egress rule. An egress rule is a rule that applies
 11641  	// to traffic that leaves the subnet.
 11642  	Egress *bool `type:"boolean"`
 11643  
 11644  	// The Internet Control Message Protocol (ICMP) type and code for which to deny
 11645  	// or allow access.
 11646  	IcmpTypeCode *IcmpTypeCode `type:"structure"`
 11647  
 11648  	// The IPV6 network range for which to deny or allow access.
 11649  	Ipv6CidrBlock *string `type:"string"`
 11650  
 11651  	// For TCP or UDP protocols, the range of ports that the rule applies to.
 11652  	PortRange *PortRangeFromTo `type:"structure"`
 11653  
 11654  	// The protocol that the rule applies to. To deny or allow access to all protocols,
 11655  	// use the value -1.
 11656  	Protocol *string `type:"string"`
 11657  
 11658  	// Whether the rule is used to allow access or deny access.
 11659  	RuleAction *string `type:"string"`
 11660  
 11661  	// The rule number. The rules are processed in order by their number.
 11662  	RuleNumber *int64 `type:"integer"`
 11663  }
 11664  
 11665  // String returns the string representation.
 11666  //
 11667  // API parameter values that are decorated as "sensitive" in the API will not
 11668  // be included in the string output. The member name will be present, but the
 11669  // value will be replaced with "sensitive".
 11670  func (s AwsEc2NetworkAclEntry) String() string {
 11671  	return awsutil.Prettify(s)
 11672  }
 11673  
 11674  // GoString returns the string representation.
 11675  //
 11676  // API parameter values that are decorated as "sensitive" in the API will not
 11677  // be included in the string output. The member name will be present, but the
 11678  // value will be replaced with "sensitive".
 11679  func (s AwsEc2NetworkAclEntry) GoString() string {
 11680  	return s.String()
 11681  }
 11682  
 11683  // SetCidrBlock sets the CidrBlock field's value.
 11684  func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
 11685  	s.CidrBlock = &v
 11686  	return s
 11687  }
 11688  
 11689  // SetEgress sets the Egress field's value.
 11690  func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
 11691  	s.Egress = &v
 11692  	return s
 11693  }
 11694  
 11695  // SetIcmpTypeCode sets the IcmpTypeCode field's value.
 11696  func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
 11697  	s.IcmpTypeCode = v
 11698  	return s
 11699  }
 11700  
 11701  // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
 11702  func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
 11703  	s.Ipv6CidrBlock = &v
 11704  	return s
 11705  }
 11706  
 11707  // SetPortRange sets the PortRange field's value.
 11708  func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
 11709  	s.PortRange = v
 11710  	return s
 11711  }
 11712  
 11713  // SetProtocol sets the Protocol field's value.
 11714  func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
 11715  	s.Protocol = &v
 11716  	return s
 11717  }
 11718  
 11719  // SetRuleAction sets the RuleAction field's value.
 11720  func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
 11721  	s.RuleAction = &v
 11722  	return s
 11723  }
 11724  
 11725  // SetRuleNumber sets the RuleNumber field's value.
 11726  func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
 11727  	s.RuleNumber = &v
 11728  	return s
 11729  }
 11730  
 11731  // Information about the network interface attachment.
 11732  type AwsEc2NetworkInterfaceAttachment struct {
 11733  	_ struct{} `type:"structure"`
 11734  
 11735  	// Indicates when the attachment initiated.
 11736  	//
 11737  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 11738  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 11739  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 11740  	AttachTime *string `type:"string"`
 11741  
 11742  	// The identifier of the network interface attachment
 11743  	AttachmentId *string `type:"string"`
 11744  
 11745  	// Indicates whether the network interface is deleted when the instance is terminated.
 11746  	DeleteOnTermination *bool `type:"boolean"`
 11747  
 11748  	// The device index of the network interface attachment on the instance.
 11749  	DeviceIndex *int64 `type:"integer"`
 11750  
 11751  	// The ID of the instance.
 11752  	InstanceId *string `type:"string"`
 11753  
 11754  	// The Amazon Web Services account ID of the owner of the instance.
 11755  	InstanceOwnerId *string `type:"string"`
 11756  
 11757  	// The attachment state.
 11758  	//
 11759  	// Valid values: attaching | attached | detaching | detached
 11760  	Status *string `type:"string"`
 11761  }
 11762  
 11763  // String returns the string representation.
 11764  //
 11765  // API parameter values that are decorated as "sensitive" in the API will not
 11766  // be included in the string output. The member name will be present, but the
 11767  // value will be replaced with "sensitive".
 11768  func (s AwsEc2NetworkInterfaceAttachment) String() string {
 11769  	return awsutil.Prettify(s)
 11770  }
 11771  
 11772  // GoString returns the string representation.
 11773  //
 11774  // API parameter values that are decorated as "sensitive" in the API will not
 11775  // be included in the string output. The member name will be present, but the
 11776  // value will be replaced with "sensitive".
 11777  func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
 11778  	return s.String()
 11779  }
 11780  
 11781  // SetAttachTime sets the AttachTime field's value.
 11782  func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
 11783  	s.AttachTime = &v
 11784  	return s
 11785  }
 11786  
 11787  // SetAttachmentId sets the AttachmentId field's value.
 11788  func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
 11789  	s.AttachmentId = &v
 11790  	return s
 11791  }
 11792  
 11793  // SetDeleteOnTermination sets the DeleteOnTermination field's value.
 11794  func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
 11795  	s.DeleteOnTermination = &v
 11796  	return s
 11797  }
 11798  
 11799  // SetDeviceIndex sets the DeviceIndex field's value.
 11800  func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
 11801  	s.DeviceIndex = &v
 11802  	return s
 11803  }
 11804  
 11805  // SetInstanceId sets the InstanceId field's value.
 11806  func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
 11807  	s.InstanceId = &v
 11808  	return s
 11809  }
 11810  
 11811  // SetInstanceOwnerId sets the InstanceOwnerId field's value.
 11812  func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
 11813  	s.InstanceOwnerId = &v
 11814  	return s
 11815  }
 11816  
 11817  // SetStatus sets the Status field's value.
 11818  func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
 11819  	s.Status = &v
 11820  	return s
 11821  }
 11822  
 11823  // Details about the network interface
 11824  type AwsEc2NetworkInterfaceDetails struct {
 11825  	_ struct{} `type:"structure"`
 11826  
 11827  	// The network interface attachment.
 11828  	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
 11829  
 11830  	// The IPv6 addresses associated with the network interface.
 11831  	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
 11832  
 11833  	// The ID of the network interface.
 11834  	NetworkInterfaceId *string `type:"string"`
 11835  
 11836  	// The private IPv4 addresses associated with the network interface.
 11837  	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
 11838  
 11839  	// The public DNS name of the network interface.
 11840  	PublicDnsName *string `type:"string"`
 11841  
 11842  	// The address of the Elastic IP address bound to the network interface.
 11843  	PublicIp *string `type:"string"`
 11844  
 11845  	// Security groups for the network interface.
 11846  	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
 11847  
 11848  	// Indicates whether traffic to or from the instance is validated.
 11849  	SourceDestCheck *bool `type:"boolean"`
 11850  }
 11851  
 11852  // String returns the string representation.
 11853  //
 11854  // API parameter values that are decorated as "sensitive" in the API will not
 11855  // be included in the string output. The member name will be present, but the
 11856  // value will be replaced with "sensitive".
 11857  func (s AwsEc2NetworkInterfaceDetails) String() string {
 11858  	return awsutil.Prettify(s)
 11859  }
 11860  
 11861  // GoString returns the string representation.
 11862  //
 11863  // API parameter values that are decorated as "sensitive" in the API will not
 11864  // be included in the string output. The member name will be present, but the
 11865  // value will be replaced with "sensitive".
 11866  func (s AwsEc2NetworkInterfaceDetails) GoString() string {
 11867  	return s.String()
 11868  }
 11869  
 11870  // SetAttachment sets the Attachment field's value.
 11871  func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
 11872  	s.Attachment = v
 11873  	return s
 11874  }
 11875  
 11876  // SetIpV6Addresses sets the IpV6Addresses field's value.
 11877  func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
 11878  	s.IpV6Addresses = v
 11879  	return s
 11880  }
 11881  
 11882  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 11883  func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
 11884  	s.NetworkInterfaceId = &v
 11885  	return s
 11886  }
 11887  
 11888  // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
 11889  func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
 11890  	s.PrivateIpAddresses = v
 11891  	return s
 11892  }
 11893  
 11894  // SetPublicDnsName sets the PublicDnsName field's value.
 11895  func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
 11896  	s.PublicDnsName = &v
 11897  	return s
 11898  }
 11899  
 11900  // SetPublicIp sets the PublicIp field's value.
 11901  func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
 11902  	s.PublicIp = &v
 11903  	return s
 11904  }
 11905  
 11906  // SetSecurityGroups sets the SecurityGroups field's value.
 11907  func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
 11908  	s.SecurityGroups = v
 11909  	return s
 11910  }
 11911  
 11912  // SetSourceDestCheck sets the SourceDestCheck field's value.
 11913  func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
 11914  	s.SourceDestCheck = &v
 11915  	return s
 11916  }
 11917  
 11918  // Provides information about an IPV6 address that is associated with the network
 11919  // interface.
 11920  type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
 11921  	_ struct{} `type:"structure"`
 11922  
 11923  	// The IPV6 address.
 11924  	IpV6Address *string `type:"string"`
 11925  }
 11926  
 11927  // String returns the string representation.
 11928  //
 11929  // API parameter values that are decorated as "sensitive" in the API will not
 11930  // be included in the string output. The member name will be present, but the
 11931  // value will be replaced with "sensitive".
 11932  func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
 11933  	return awsutil.Prettify(s)
 11934  }
 11935  
 11936  // GoString returns the string representation.
 11937  //
 11938  // API parameter values that are decorated as "sensitive" in the API will not
 11939  // be included in the string output. The member name will be present, but the
 11940  // value will be replaced with "sensitive".
 11941  func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
 11942  	return s.String()
 11943  }
 11944  
 11945  // SetIpV6Address sets the IpV6Address field's value.
 11946  func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
 11947  	s.IpV6Address = &v
 11948  	return s
 11949  }
 11950  
 11951  // Provides information about a private IPv4 address that is with the network
 11952  // interface.
 11953  type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
 11954  	_ struct{} `type:"structure"`
 11955  
 11956  	// The private DNS name for the IP address.
 11957  	PrivateDnsName *string `type:"string"`
 11958  
 11959  	// The IP address.
 11960  	PrivateIpAddress *string `type:"string"`
 11961  }
 11962  
 11963  // String returns the string representation.
 11964  //
 11965  // API parameter values that are decorated as "sensitive" in the API will not
 11966  // be included in the string output. The member name will be present, but the
 11967  // value will be replaced with "sensitive".
 11968  func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
 11969  	return awsutil.Prettify(s)
 11970  }
 11971  
 11972  // GoString returns the string representation.
 11973  //
 11974  // API parameter values that are decorated as "sensitive" in the API will not
 11975  // be included in the string output. The member name will be present, but the
 11976  // value will be replaced with "sensitive".
 11977  func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
 11978  	return s.String()
 11979  }
 11980  
 11981  // SetPrivateDnsName sets the PrivateDnsName field's value.
 11982  func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
 11983  	s.PrivateDnsName = &v
 11984  	return s
 11985  }
 11986  
 11987  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 11988  func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
 11989  	s.PrivateIpAddress = &v
 11990  	return s
 11991  }
 11992  
 11993  // A security group associated with the network interface.
 11994  type AwsEc2NetworkInterfaceSecurityGroup struct {
 11995  	_ struct{} `type:"structure"`
 11996  
 11997  	// The ID of the security group.
 11998  	GroupId *string `type:"string"`
 11999  
 12000  	// The name of the security group.
 12001  	GroupName *string `type:"string"`
 12002  }
 12003  
 12004  // String returns the string representation.
 12005  //
 12006  // API parameter values that are decorated as "sensitive" in the API will not
 12007  // be included in the string output. The member name will be present, but the
 12008  // value will be replaced with "sensitive".
 12009  func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
 12010  	return awsutil.Prettify(s)
 12011  }
 12012  
 12013  // GoString returns the string representation.
 12014  //
 12015  // API parameter values that are decorated as "sensitive" in the API will not
 12016  // be included in the string output. The member name will be present, but the
 12017  // value will be replaced with "sensitive".
 12018  func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
 12019  	return s.String()
 12020  }
 12021  
 12022  // SetGroupId sets the GroupId field's value.
 12023  func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
 12024  	s.GroupId = &v
 12025  	return s
 12026  }
 12027  
 12028  // SetGroupName sets the GroupName field's value.
 12029  func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
 12030  	s.GroupName = &v
 12031  	return s
 12032  }
 12033  
 12034  // Details about an EC2 security group.
 12035  type AwsEc2SecurityGroupDetails struct {
 12036  	_ struct{} `type:"structure"`
 12037  
 12038  	// The ID of the security group.
 12039  	GroupId *string `type:"string"`
 12040  
 12041  	// The name of the security group.
 12042  	GroupName *string `type:"string"`
 12043  
 12044  	// The inbound rules associated with the security group.
 12045  	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
 12046  
 12047  	// [VPC only] The outbound rules associated with the security group.
 12048  	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
 12049  
 12050  	// The Amazon Web Services account ID of the owner of the security group.
 12051  	OwnerId *string `type:"string"`
 12052  
 12053  	// [VPC only] The ID of the VPC for the security group.
 12054  	VpcId *string `type:"string"`
 12055  }
 12056  
 12057  // String returns the string representation.
 12058  //
 12059  // API parameter values that are decorated as "sensitive" in the API will not
 12060  // be included in the string output. The member name will be present, but the
 12061  // value will be replaced with "sensitive".
 12062  func (s AwsEc2SecurityGroupDetails) String() string {
 12063  	return awsutil.Prettify(s)
 12064  }
 12065  
 12066  // GoString returns the string representation.
 12067  //
 12068  // API parameter values that are decorated as "sensitive" in the API will not
 12069  // be included in the string output. The member name will be present, but the
 12070  // value will be replaced with "sensitive".
 12071  func (s AwsEc2SecurityGroupDetails) GoString() string {
 12072  	return s.String()
 12073  }
 12074  
 12075  // SetGroupId sets the GroupId field's value.
 12076  func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
 12077  	s.GroupId = &v
 12078  	return s
 12079  }
 12080  
 12081  // SetGroupName sets the GroupName field's value.
 12082  func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
 12083  	s.GroupName = &v
 12084  	return s
 12085  }
 12086  
 12087  // SetIpPermissions sets the IpPermissions field's value.
 12088  func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
 12089  	s.IpPermissions = v
 12090  	return s
 12091  }
 12092  
 12093  // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
 12094  func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
 12095  	s.IpPermissionsEgress = v
 12096  	return s
 12097  }
 12098  
 12099  // SetOwnerId sets the OwnerId field's value.
 12100  func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
 12101  	s.OwnerId = &v
 12102  	return s
 12103  }
 12104  
 12105  // SetVpcId sets the VpcId field's value.
 12106  func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
 12107  	s.VpcId = &v
 12108  	return s
 12109  }
 12110  
 12111  // An IP permission for an EC2 security group.
 12112  type AwsEc2SecurityGroupIpPermission struct {
 12113  	_ struct{} `type:"structure"`
 12114  
 12115  	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
 12116  	// type number.
 12117  	//
 12118  	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
 12119  	// types, you must specify all codes.
 12120  	FromPort *int64 `type:"integer"`
 12121  
 12122  	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
 12123  	//
 12124  	// [VPC only] Use -1 to specify all protocols.
 12125  	//
 12126  	// When authorizing security group rules, specifying -1 or a protocol number
 12127  	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
 12128  	// of any port range you specify.
 12129  	//
 12130  	// For tcp, udp, and icmp, you must specify a port range.
 12131  	//
 12132  	// For icmpv6, the port range is optional. If you omit the port range, traffic
 12133  	// for all types and codes is allowed.
 12134  	IpProtocol *string `type:"string"`
 12135  
 12136  	// The IPv4 ranges.
 12137  	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
 12138  
 12139  	// The IPv6 ranges.
 12140  	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
 12141  
 12142  	// [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound
 12143  	// rules, this is the Amazon Web Services service to access through a VPC endpoint
 12144  	// from instances associated with the security group.
 12145  	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
 12146  
 12147  	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
 12148  	// code.
 12149  	//
 12150  	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
 12151  	// types, you must specify all codes.
 12152  	ToPort *int64 `type:"integer"`
 12153  
 12154  	// The security group and Amazon Web Services account ID pairs.
 12155  	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
 12156  }
 12157  
 12158  // String returns the string representation.
 12159  //
 12160  // API parameter values that are decorated as "sensitive" in the API will not
 12161  // be included in the string output. The member name will be present, but the
 12162  // value will be replaced with "sensitive".
 12163  func (s AwsEc2SecurityGroupIpPermission) String() string {
 12164  	return awsutil.Prettify(s)
 12165  }
 12166  
 12167  // GoString returns the string representation.
 12168  //
 12169  // API parameter values that are decorated as "sensitive" in the API will not
 12170  // be included in the string output. The member name will be present, but the
 12171  // value will be replaced with "sensitive".
 12172  func (s AwsEc2SecurityGroupIpPermission) GoString() string {
 12173  	return s.String()
 12174  }
 12175  
 12176  // SetFromPort sets the FromPort field's value.
 12177  func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
 12178  	s.FromPort = &v
 12179  	return s
 12180  }
 12181  
 12182  // SetIpProtocol sets the IpProtocol field's value.
 12183  func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
 12184  	s.IpProtocol = &v
 12185  	return s
 12186  }
 12187  
 12188  // SetIpRanges sets the IpRanges field's value.
 12189  func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
 12190  	s.IpRanges = v
 12191  	return s
 12192  }
 12193  
 12194  // SetIpv6Ranges sets the Ipv6Ranges field's value.
 12195  func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
 12196  	s.Ipv6Ranges = v
 12197  	return s
 12198  }
 12199  
 12200  // SetPrefixListIds sets the PrefixListIds field's value.
 12201  func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
 12202  	s.PrefixListIds = v
 12203  	return s
 12204  }
 12205  
 12206  // SetToPort sets the ToPort field's value.
 12207  func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
 12208  	s.ToPort = &v
 12209  	return s
 12210  }
 12211  
 12212  // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
 12213  func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
 12214  	s.UserIdGroupPairs = v
 12215  	return s
 12216  }
 12217  
 12218  // A range of IPv4 addresses.
 12219  type AwsEc2SecurityGroupIpRange struct {
 12220  	_ struct{} `type:"structure"`
 12221  
 12222  	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
 12223  	// group, but not both. To specify a single IPv4 address, use the /32 prefix
 12224  	// length.
 12225  	CidrIp *string `type:"string"`
 12226  }
 12227  
 12228  // String returns the string representation.
 12229  //
 12230  // API parameter values that are decorated as "sensitive" in the API will not
 12231  // be included in the string output. The member name will be present, but the
 12232  // value will be replaced with "sensitive".
 12233  func (s AwsEc2SecurityGroupIpRange) String() string {
 12234  	return awsutil.Prettify(s)
 12235  }
 12236  
 12237  // GoString returns the string representation.
 12238  //
 12239  // API parameter values that are decorated as "sensitive" in the API will not
 12240  // be included in the string output. The member name will be present, but the
 12241  // value will be replaced with "sensitive".
 12242  func (s AwsEc2SecurityGroupIpRange) GoString() string {
 12243  	return s.String()
 12244  }
 12245  
 12246  // SetCidrIp sets the CidrIp field's value.
 12247  func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
 12248  	s.CidrIp = &v
 12249  	return s
 12250  }
 12251  
 12252  // A range of IPv6 addresses.
 12253  type AwsEc2SecurityGroupIpv6Range struct {
 12254  	_ struct{} `type:"structure"`
 12255  
 12256  	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
 12257  	// group, but not both. To specify a single IPv6 address, use the /128 prefix
 12258  	// length.
 12259  	CidrIpv6 *string `type:"string"`
 12260  }
 12261  
 12262  // String returns the string representation.
 12263  //
 12264  // API parameter values that are decorated as "sensitive" in the API will not
 12265  // be included in the string output. The member name will be present, but the
 12266  // value will be replaced with "sensitive".
 12267  func (s AwsEc2SecurityGroupIpv6Range) String() string {
 12268  	return awsutil.Prettify(s)
 12269  }
 12270  
 12271  // GoString returns the string representation.
 12272  //
 12273  // API parameter values that are decorated as "sensitive" in the API will not
 12274  // be included in the string output. The member name will be present, but the
 12275  // value will be replaced with "sensitive".
 12276  func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
 12277  	return s.String()
 12278  }
 12279  
 12280  // SetCidrIpv6 sets the CidrIpv6 field's value.
 12281  func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
 12282  	s.CidrIpv6 = &v
 12283  	return s
 12284  }
 12285  
 12286  // A prefix list ID.
 12287  type AwsEc2SecurityGroupPrefixListId struct {
 12288  	_ struct{} `type:"structure"`
 12289  
 12290  	// The ID of the prefix.
 12291  	PrefixListId *string `type:"string"`
 12292  }
 12293  
 12294  // String returns the string representation.
 12295  //
 12296  // API parameter values that are decorated as "sensitive" in the API will not
 12297  // be included in the string output. The member name will be present, but the
 12298  // value will be replaced with "sensitive".
 12299  func (s AwsEc2SecurityGroupPrefixListId) String() string {
 12300  	return awsutil.Prettify(s)
 12301  }
 12302  
 12303  // GoString returns the string representation.
 12304  //
 12305  // API parameter values that are decorated as "sensitive" in the API will not
 12306  // be included in the string output. The member name will be present, but the
 12307  // value will be replaced with "sensitive".
 12308  func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
 12309  	return s.String()
 12310  }
 12311  
 12312  // SetPrefixListId sets the PrefixListId field's value.
 12313  func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
 12314  	s.PrefixListId = &v
 12315  	return s
 12316  }
 12317  
 12318  // A relationship between a security group and a user.
 12319  type AwsEc2SecurityGroupUserIdGroupPair struct {
 12320  	_ struct{} `type:"structure"`
 12321  
 12322  	// The ID of the security group.
 12323  	GroupId *string `type:"string"`
 12324  
 12325  	// The name of the security group.
 12326  	GroupName *string `type:"string"`
 12327  
 12328  	// The status of a VPC peering connection, if applicable.
 12329  	PeeringStatus *string `type:"string"`
 12330  
 12331  	// The ID of an Amazon Web Services account.
 12332  	//
 12333  	// For a referenced security group in another VPC, the account ID of the referenced
 12334  	// security group is returned in the response. If the referenced security group
 12335  	// is deleted, this value is not returned.
 12336  	//
 12337  	// [EC2-Classic] Required when adding or removing rules that reference a security
 12338  	// group in another VPC.
 12339  	UserId *string `type:"string"`
 12340  
 12341  	// The ID of the VPC for the referenced security group, if applicable.
 12342  	VpcId *string `type:"string"`
 12343  
 12344  	// The ID of the VPC peering connection, if applicable.
 12345  	VpcPeeringConnectionId *string `type:"string"`
 12346  }
 12347  
 12348  // String returns the string representation.
 12349  //
 12350  // API parameter values that are decorated as "sensitive" in the API will not
 12351  // be included in the string output. The member name will be present, but the
 12352  // value will be replaced with "sensitive".
 12353  func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
 12354  	return awsutil.Prettify(s)
 12355  }
 12356  
 12357  // GoString returns the string representation.
 12358  //
 12359  // API parameter values that are decorated as "sensitive" in the API will not
 12360  // be included in the string output. The member name will be present, but the
 12361  // value will be replaced with "sensitive".
 12362  func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
 12363  	return s.String()
 12364  }
 12365  
 12366  // SetGroupId sets the GroupId field's value.
 12367  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12368  	s.GroupId = &v
 12369  	return s
 12370  }
 12371  
 12372  // SetGroupName sets the GroupName field's value.
 12373  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12374  	s.GroupName = &v
 12375  	return s
 12376  }
 12377  
 12378  // SetPeeringStatus sets the PeeringStatus field's value.
 12379  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12380  	s.PeeringStatus = &v
 12381  	return s
 12382  }
 12383  
 12384  // SetUserId sets the UserId field's value.
 12385  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12386  	s.UserId = &v
 12387  	return s
 12388  }
 12389  
 12390  // SetVpcId sets the VpcId field's value.
 12391  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12392  	s.VpcId = &v
 12393  	return s
 12394  }
 12395  
 12396  // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
 12397  func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
 12398  	s.VpcPeeringConnectionId = &v
 12399  	return s
 12400  }
 12401  
 12402  // Contains information about a subnet in Amazon EC2.
 12403  type AwsEc2SubnetDetails struct {
 12404  	_ struct{} `type:"structure"`
 12405  
 12406  	// Whether to assign an IPV6 address to a network interface that is created
 12407  	// in this subnet.
 12408  	AssignIpv6AddressOnCreation *bool `type:"boolean"`
 12409  
 12410  	// The Availability Zone for the subnet.
 12411  	AvailabilityZone *string `type:"string"`
 12412  
 12413  	// The identifier of the Availability Zone for the subnet.
 12414  	AvailabilityZoneId *string `type:"string"`
 12415  
 12416  	// The number of available IPV4 addresses in the subnet. Does not include addresses
 12417  	// for stopped instances.
 12418  	AvailableIpAddressCount *int64 `type:"integer"`
 12419  
 12420  	// The IPV4 CIDR block that is assigned to the subnet.
 12421  	CidrBlock *string `type:"string"`
 12422  
 12423  	// Whether this subnet is the default subnet for the Availability Zone.
 12424  	DefaultForAz *bool `type:"boolean"`
 12425  
 12426  	// The IPV6 CIDR blocks that are associated with the subnet.
 12427  	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
 12428  
 12429  	// Whether instances in this subnet receive a public IP address.
 12430  	MapPublicIpOnLaunch *bool `type:"boolean"`
 12431  
 12432  	// The identifier of the Amazon Web Services account that owns the subnet.
 12433  	OwnerId *string `type:"string"`
 12434  
 12435  	// The current state of the subnet.
 12436  	State *string `type:"string"`
 12437  
 12438  	// The ARN of the subnet.
 12439  	SubnetArn *string `type:"string"`
 12440  
 12441  	// The identifier of the subnet.
 12442  	SubnetId *string `type:"string"`
 12443  
 12444  	// The identifier of the VPC that contains the subnet.
 12445  	VpcId *string `type:"string"`
 12446  }
 12447  
 12448  // String returns the string representation.
 12449  //
 12450  // API parameter values that are decorated as "sensitive" in the API will not
 12451  // be included in the string output. The member name will be present, but the
 12452  // value will be replaced with "sensitive".
 12453  func (s AwsEc2SubnetDetails) String() string {
 12454  	return awsutil.Prettify(s)
 12455  }
 12456  
 12457  // GoString returns the string representation.
 12458  //
 12459  // API parameter values that are decorated as "sensitive" in the API will not
 12460  // be included in the string output. The member name will be present, but the
 12461  // value will be replaced with "sensitive".
 12462  func (s AwsEc2SubnetDetails) GoString() string {
 12463  	return s.String()
 12464  }
 12465  
 12466  // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
 12467  func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
 12468  	s.AssignIpv6AddressOnCreation = &v
 12469  	return s
 12470  }
 12471  
 12472  // SetAvailabilityZone sets the AvailabilityZone field's value.
 12473  func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
 12474  	s.AvailabilityZone = &v
 12475  	return s
 12476  }
 12477  
 12478  // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
 12479  func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
 12480  	s.AvailabilityZoneId = &v
 12481  	return s
 12482  }
 12483  
 12484  // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
 12485  func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
 12486  	s.AvailableIpAddressCount = &v
 12487  	return s
 12488  }
 12489  
 12490  // SetCidrBlock sets the CidrBlock field's value.
 12491  func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
 12492  	s.CidrBlock = &v
 12493  	return s
 12494  }
 12495  
 12496  // SetDefaultForAz sets the DefaultForAz field's value.
 12497  func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
 12498  	s.DefaultForAz = &v
 12499  	return s
 12500  }
 12501  
 12502  // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
 12503  func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
 12504  	s.Ipv6CidrBlockAssociationSet = v
 12505  	return s
 12506  }
 12507  
 12508  // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
 12509  func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
 12510  	s.MapPublicIpOnLaunch = &v
 12511  	return s
 12512  }
 12513  
 12514  // SetOwnerId sets the OwnerId field's value.
 12515  func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
 12516  	s.OwnerId = &v
 12517  	return s
 12518  }
 12519  
 12520  // SetState sets the State field's value.
 12521  func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
 12522  	s.State = &v
 12523  	return s
 12524  }
 12525  
 12526  // SetSubnetArn sets the SubnetArn field's value.
 12527  func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
 12528  	s.SubnetArn = &v
 12529  	return s
 12530  }
 12531  
 12532  // SetSubnetId sets the SubnetId field's value.
 12533  func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
 12534  	s.SubnetId = &v
 12535  	return s
 12536  }
 12537  
 12538  // SetVpcId sets the VpcId field's value.
 12539  func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
 12540  	s.VpcId = &v
 12541  	return s
 12542  }
 12543  
 12544  // An attachment to an Amazon EC2 volume.
 12545  type AwsEc2VolumeAttachment struct {
 12546  	_ struct{} `type:"structure"`
 12547  
 12548  	// The datetime when the attachment initiated.
 12549  	AttachTime *string `type:"string"`
 12550  
 12551  	// Whether the EBS volume is deleted when the EC2 instance is terminated.
 12552  	DeleteOnTermination *bool `type:"boolean"`
 12553  
 12554  	// The identifier of the EC2 instance.
 12555  	InstanceId *string `type:"string"`
 12556  
 12557  	// The attachment state of the volume.
 12558  	Status *string `type:"string"`
 12559  }
 12560  
 12561  // String returns the string representation.
 12562  //
 12563  // API parameter values that are decorated as "sensitive" in the API will not
 12564  // be included in the string output. The member name will be present, but the
 12565  // value will be replaced with "sensitive".
 12566  func (s AwsEc2VolumeAttachment) String() string {
 12567  	return awsutil.Prettify(s)
 12568  }
 12569  
 12570  // GoString returns the string representation.
 12571  //
 12572  // API parameter values that are decorated as "sensitive" in the API will not
 12573  // be included in the string output. The member name will be present, but the
 12574  // value will be replaced with "sensitive".
 12575  func (s AwsEc2VolumeAttachment) GoString() string {
 12576  	return s.String()
 12577  }
 12578  
 12579  // SetAttachTime sets the AttachTime field's value.
 12580  func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
 12581  	s.AttachTime = &v
 12582  	return s
 12583  }
 12584  
 12585  // SetDeleteOnTermination sets the DeleteOnTermination field's value.
 12586  func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
 12587  	s.DeleteOnTermination = &v
 12588  	return s
 12589  }
 12590  
 12591  // SetInstanceId sets the InstanceId field's value.
 12592  func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
 12593  	s.InstanceId = &v
 12594  	return s
 12595  }
 12596  
 12597  // SetStatus sets the Status field's value.
 12598  func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
 12599  	s.Status = &v
 12600  	return s
 12601  }
 12602  
 12603  // Details about an EC2 volume.
 12604  type AwsEc2VolumeDetails struct {
 12605  	_ struct{} `type:"structure"`
 12606  
 12607  	// The volume attachments.
 12608  	Attachments []*AwsEc2VolumeAttachment `type:"list"`
 12609  
 12610  	// Indicates when the volume was created.
 12611  	//
 12612  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 12613  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 12614  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 12615  	CreateTime *string `type:"string"`
 12616  
 12617  	// Whether the volume is encrypted.
 12618  	Encrypted *bool `type:"boolean"`
 12619  
 12620  	// The ARN of the KMS key that was used to protect the volume encryption key
 12621  	// for the volume.
 12622  	KmsKeyId *string `type:"string"`
 12623  
 12624  	// The size of the volume, in GiBs.
 12625  	Size *int64 `type:"integer"`
 12626  
 12627  	// The snapshot from which the volume was created.
 12628  	SnapshotId *string `type:"string"`
 12629  
 12630  	// The volume state.
 12631  	Status *string `type:"string"`
 12632  }
 12633  
 12634  // String returns the string representation.
 12635  //
 12636  // API parameter values that are decorated as "sensitive" in the API will not
 12637  // be included in the string output. The member name will be present, but the
 12638  // value will be replaced with "sensitive".
 12639  func (s AwsEc2VolumeDetails) String() string {
 12640  	return awsutil.Prettify(s)
 12641  }
 12642  
 12643  // GoString returns the string representation.
 12644  //
 12645  // API parameter values that are decorated as "sensitive" in the API will not
 12646  // be included in the string output. The member name will be present, but the
 12647  // value will be replaced with "sensitive".
 12648  func (s AwsEc2VolumeDetails) GoString() string {
 12649  	return s.String()
 12650  }
 12651  
 12652  // SetAttachments sets the Attachments field's value.
 12653  func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
 12654  	s.Attachments = v
 12655  	return s
 12656  }
 12657  
 12658  // SetCreateTime sets the CreateTime field's value.
 12659  func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
 12660  	s.CreateTime = &v
 12661  	return s
 12662  }
 12663  
 12664  // SetEncrypted sets the Encrypted field's value.
 12665  func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
 12666  	s.Encrypted = &v
 12667  	return s
 12668  }
 12669  
 12670  // SetKmsKeyId sets the KmsKeyId field's value.
 12671  func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
 12672  	s.KmsKeyId = &v
 12673  	return s
 12674  }
 12675  
 12676  // SetSize sets the Size field's value.
 12677  func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
 12678  	s.Size = &v
 12679  	return s
 12680  }
 12681  
 12682  // SetSnapshotId sets the SnapshotId field's value.
 12683  func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
 12684  	s.SnapshotId = &v
 12685  	return s
 12686  }
 12687  
 12688  // SetStatus sets the Status field's value.
 12689  func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
 12690  	s.Status = &v
 12691  	return s
 12692  }
 12693  
 12694  // Details about an EC2 VPC.
 12695  type AwsEc2VpcDetails struct {
 12696  	_ struct{} `type:"structure"`
 12697  
 12698  	// Information about the IPv4 CIDR blocks associated with the VPC.
 12699  	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
 12700  
 12701  	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
 12702  	// that are associated with the VPC. If the default options are associated with
 12703  	// the VPC, then this is default.
 12704  	DhcpOptionsId *string `type:"string"`
 12705  
 12706  	// Information about the IPv6 CIDR blocks associated with the VPC.
 12707  	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
 12708  
 12709  	// The current state of the VPC.
 12710  	State *string `type:"string"`
 12711  }
 12712  
 12713  // String returns the string representation.
 12714  //
 12715  // API parameter values that are decorated as "sensitive" in the API will not
 12716  // be included in the string output. The member name will be present, but the
 12717  // value will be replaced with "sensitive".
 12718  func (s AwsEc2VpcDetails) String() string {
 12719  	return awsutil.Prettify(s)
 12720  }
 12721  
 12722  // GoString returns the string representation.
 12723  //
 12724  // API parameter values that are decorated as "sensitive" in the API will not
 12725  // be included in the string output. The member name will be present, but the
 12726  // value will be replaced with "sensitive".
 12727  func (s AwsEc2VpcDetails) GoString() string {
 12728  	return s.String()
 12729  }
 12730  
 12731  // SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
 12732  func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
 12733  	s.CidrBlockAssociationSet = v
 12734  	return s
 12735  }
 12736  
 12737  // SetDhcpOptionsId sets the DhcpOptionsId field's value.
 12738  func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
 12739  	s.DhcpOptionsId = &v
 12740  	return s
 12741  }
 12742  
 12743  // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
 12744  func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
 12745  	s.Ipv6CidrBlockAssociationSet = v
 12746  	return s
 12747  }
 12748  
 12749  // SetState sets the State field's value.
 12750  func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
 12751  	s.State = &v
 12752  	return s
 12753  }
 12754  
 12755  // Contains details about the service configuration for a VPC endpoint service.
 12756  type AwsEc2VpcEndpointServiceDetails struct {
 12757  	_ struct{} `type:"structure"`
 12758  
 12759  	// Whether requests from other Amazon Web Services accounts to create an endpoint
 12760  	// to the service must first be accepted.
 12761  	AcceptanceRequired *bool `type:"boolean"`
 12762  
 12763  	// The Availability Zones where the service is available.
 12764  	AvailabilityZones []*string `type:"list"`
 12765  
 12766  	// The DNS names for the service.
 12767  	BaseEndpointDnsNames []*string `type:"list"`
 12768  
 12769  	// The ARNs of the Gateway Load Balancers for the service.
 12770  	GatewayLoadBalancerArns []*string `type:"list"`
 12771  
 12772  	// Whether the service manages its VPC endpoints.
 12773  	ManagesVpcEndpoints *bool `type:"boolean"`
 12774  
 12775  	// The ARNs of the Network Load Balancers for the service.
 12776  	NetworkLoadBalancerArns []*string `type:"list"`
 12777  
 12778  	// The private DNS name for the service.
 12779  	PrivateDnsName *string `type:"string"`
 12780  
 12781  	// The identifier of the service.
 12782  	ServiceId *string `type:"string"`
 12783  
 12784  	// The name of the service.
 12785  	ServiceName *string `type:"string"`
 12786  
 12787  	// The current state of the service.
 12788  	ServiceState *string `type:"string"`
 12789  
 12790  	// The types for the service.
 12791  	ServiceType []*AwsEc2VpcEndpointServiceServiceTypeDetails `type:"list"`
 12792  }
 12793  
 12794  // String returns the string representation.
 12795  //
 12796  // API parameter values that are decorated as "sensitive" in the API will not
 12797  // be included in the string output. The member name will be present, but the
 12798  // value will be replaced with "sensitive".
 12799  func (s AwsEc2VpcEndpointServiceDetails) String() string {
 12800  	return awsutil.Prettify(s)
 12801  }
 12802  
 12803  // GoString returns the string representation.
 12804  //
 12805  // API parameter values that are decorated as "sensitive" in the API will not
 12806  // be included in the string output. The member name will be present, but the
 12807  // value will be replaced with "sensitive".
 12808  func (s AwsEc2VpcEndpointServiceDetails) GoString() string {
 12809  	return s.String()
 12810  }
 12811  
 12812  // SetAcceptanceRequired sets the AcceptanceRequired field's value.
 12813  func (s *AwsEc2VpcEndpointServiceDetails) SetAcceptanceRequired(v bool) *AwsEc2VpcEndpointServiceDetails {
 12814  	s.AcceptanceRequired = &v
 12815  	return s
 12816  }
 12817  
 12818  // SetAvailabilityZones sets the AvailabilityZones field's value.
 12819  func (s *AwsEc2VpcEndpointServiceDetails) SetAvailabilityZones(v []*string) *AwsEc2VpcEndpointServiceDetails {
 12820  	s.AvailabilityZones = v
 12821  	return s
 12822  }
 12823  
 12824  // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
 12825  func (s *AwsEc2VpcEndpointServiceDetails) SetBaseEndpointDnsNames(v []*string) *AwsEc2VpcEndpointServiceDetails {
 12826  	s.BaseEndpointDnsNames = v
 12827  	return s
 12828  }
 12829  
 12830  // SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
 12831  func (s *AwsEc2VpcEndpointServiceDetails) SetGatewayLoadBalancerArns(v []*string) *AwsEc2VpcEndpointServiceDetails {
 12832  	s.GatewayLoadBalancerArns = v
 12833  	return s
 12834  }
 12835  
 12836  // SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
 12837  func (s *AwsEc2VpcEndpointServiceDetails) SetManagesVpcEndpoints(v bool) *AwsEc2VpcEndpointServiceDetails {
 12838  	s.ManagesVpcEndpoints = &v
 12839  	return s
 12840  }
 12841  
 12842  // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
 12843  func (s *AwsEc2VpcEndpointServiceDetails) SetNetworkLoadBalancerArns(v []*string) *AwsEc2VpcEndpointServiceDetails {
 12844  	s.NetworkLoadBalancerArns = v
 12845  	return s
 12846  }
 12847  
 12848  // SetPrivateDnsName sets the PrivateDnsName field's value.
 12849  func (s *AwsEc2VpcEndpointServiceDetails) SetPrivateDnsName(v string) *AwsEc2VpcEndpointServiceDetails {
 12850  	s.PrivateDnsName = &v
 12851  	return s
 12852  }
 12853  
 12854  // SetServiceId sets the ServiceId field's value.
 12855  func (s *AwsEc2VpcEndpointServiceDetails) SetServiceId(v string) *AwsEc2VpcEndpointServiceDetails {
 12856  	s.ServiceId = &v
 12857  	return s
 12858  }
 12859  
 12860  // SetServiceName sets the ServiceName field's value.
 12861  func (s *AwsEc2VpcEndpointServiceDetails) SetServiceName(v string) *AwsEc2VpcEndpointServiceDetails {
 12862  	s.ServiceName = &v
 12863  	return s
 12864  }
 12865  
 12866  // SetServiceState sets the ServiceState field's value.
 12867  func (s *AwsEc2VpcEndpointServiceDetails) SetServiceState(v string) *AwsEc2VpcEndpointServiceDetails {
 12868  	s.ServiceState = &v
 12869  	return s
 12870  }
 12871  
 12872  // SetServiceType sets the ServiceType field's value.
 12873  func (s *AwsEc2VpcEndpointServiceDetails) SetServiceType(v []*AwsEc2VpcEndpointServiceServiceTypeDetails) *AwsEc2VpcEndpointServiceDetails {
 12874  	s.ServiceType = v
 12875  	return s
 12876  }
 12877  
 12878  // The service type information for a VPC endpoint service.
 12879  type AwsEc2VpcEndpointServiceServiceTypeDetails struct {
 12880  	_ struct{} `type:"structure"`
 12881  
 12882  	// The type of service.
 12883  	ServiceType *string `type:"string"`
 12884  }
 12885  
 12886  // String returns the string representation.
 12887  //
 12888  // API parameter values that are decorated as "sensitive" in the API will not
 12889  // be included in the string output. The member name will be present, but the
 12890  // value will be replaced with "sensitive".
 12891  func (s AwsEc2VpcEndpointServiceServiceTypeDetails) String() string {
 12892  	return awsutil.Prettify(s)
 12893  }
 12894  
 12895  // GoString returns the string representation.
 12896  //
 12897  // API parameter values that are decorated as "sensitive" in the API will not
 12898  // be included in the string output. The member name will be present, but the
 12899  // value will be replaced with "sensitive".
 12900  func (s AwsEc2VpcEndpointServiceServiceTypeDetails) GoString() string {
 12901  	return s.String()
 12902  }
 12903  
 12904  // SetServiceType sets the ServiceType field's value.
 12905  func (s *AwsEc2VpcEndpointServiceServiceTypeDetails) SetServiceType(v string) *AwsEc2VpcEndpointServiceServiceTypeDetails {
 12906  	s.ServiceType = &v
 12907  	return s
 12908  }
 12909  
 12910  // Details about an Amazon EC2 VPN connection.
 12911  type AwsEc2VpnConnectionDetails struct {
 12912  	_ struct{} `type:"structure"`
 12913  
 12914  	// The category of the VPN connection. VPN indicates an Amazon Web Services
 12915  	// VPN connection. VPN-Classic indicates an Amazon Web Services Classic VPN
 12916  	// connection.
 12917  	Category *string `type:"string"`
 12918  
 12919  	// The configuration information for the VPN connection's customer gateway,
 12920  	// in the native XML format.
 12921  	CustomerGatewayConfiguration *string `type:"string"`
 12922  
 12923  	// The identifier of the customer gateway that is at your end of the VPN connection.
 12924  	CustomerGatewayId *string `type:"string"`
 12925  
 12926  	// The VPN connection options.
 12927  	Options *AwsEc2VpnConnectionOptionsDetails `type:"structure"`
 12928  
 12929  	// The static routes that are associated with the VPN connection.
 12930  	Routes []*AwsEc2VpnConnectionRoutesDetails `type:"list"`
 12931  
 12932  	// The current state of the VPN connection.
 12933  	State *string `type:"string"`
 12934  
 12935  	// The identifier of the transit gateway that is associated with the VPN connection.
 12936  	TransitGatewayId *string `type:"string"`
 12937  
 12938  	// The type of VPN connection.
 12939  	Type *string `type:"string"`
 12940  
 12941  	// Information about the VPN tunnel.
 12942  	VgwTelemetry []*AwsEc2VpnConnectionVgwTelemetryDetails `type:"list"`
 12943  
 12944  	// The identifier of the VPN connection.
 12945  	VpnConnectionId *string `type:"string"`
 12946  
 12947  	// The identifier of the virtual private gateway that is at the Amazon Web Services
 12948  	// side of the VPN connection.
 12949  	VpnGatewayId *string `type:"string"`
 12950  }
 12951  
 12952  // String 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 AwsEc2VpnConnectionDetails) String() string {
 12958  	return awsutil.Prettify(s)
 12959  }
 12960  
 12961  // GoString returns the string representation.
 12962  //
 12963  // API parameter values that are decorated as "sensitive" in the API will not
 12964  // be included in the string output. The member name will be present, but the
 12965  // value will be replaced with "sensitive".
 12966  func (s AwsEc2VpnConnectionDetails) GoString() string {
 12967  	return s.String()
 12968  }
 12969  
 12970  // SetCategory sets the Category field's value.
 12971  func (s *AwsEc2VpnConnectionDetails) SetCategory(v string) *AwsEc2VpnConnectionDetails {
 12972  	s.Category = &v
 12973  	return s
 12974  }
 12975  
 12976  // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
 12977  func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayConfiguration(v string) *AwsEc2VpnConnectionDetails {
 12978  	s.CustomerGatewayConfiguration = &v
 12979  	return s
 12980  }
 12981  
 12982  // SetCustomerGatewayId sets the CustomerGatewayId field's value.
 12983  func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayId(v string) *AwsEc2VpnConnectionDetails {
 12984  	s.CustomerGatewayId = &v
 12985  	return s
 12986  }
 12987  
 12988  // SetOptions sets the Options field's value.
 12989  func (s *AwsEc2VpnConnectionDetails) SetOptions(v *AwsEc2VpnConnectionOptionsDetails) *AwsEc2VpnConnectionDetails {
 12990  	s.Options = v
 12991  	return s
 12992  }
 12993  
 12994  // SetRoutes sets the Routes field's value.
 12995  func (s *AwsEc2VpnConnectionDetails) SetRoutes(v []*AwsEc2VpnConnectionRoutesDetails) *AwsEc2VpnConnectionDetails {
 12996  	s.Routes = v
 12997  	return s
 12998  }
 12999  
 13000  // SetState sets the State field's value.
 13001  func (s *AwsEc2VpnConnectionDetails) SetState(v string) *AwsEc2VpnConnectionDetails {
 13002  	s.State = &v
 13003  	return s
 13004  }
 13005  
 13006  // SetTransitGatewayId sets the TransitGatewayId field's value.
 13007  func (s *AwsEc2VpnConnectionDetails) SetTransitGatewayId(v string) *AwsEc2VpnConnectionDetails {
 13008  	s.TransitGatewayId = &v
 13009  	return s
 13010  }
 13011  
 13012  // SetType sets the Type field's value.
 13013  func (s *AwsEc2VpnConnectionDetails) SetType(v string) *AwsEc2VpnConnectionDetails {
 13014  	s.Type = &v
 13015  	return s
 13016  }
 13017  
 13018  // SetVgwTelemetry sets the VgwTelemetry field's value.
 13019  func (s *AwsEc2VpnConnectionDetails) SetVgwTelemetry(v []*AwsEc2VpnConnectionVgwTelemetryDetails) *AwsEc2VpnConnectionDetails {
 13020  	s.VgwTelemetry = v
 13021  	return s
 13022  }
 13023  
 13024  // SetVpnConnectionId sets the VpnConnectionId field's value.
 13025  func (s *AwsEc2VpnConnectionDetails) SetVpnConnectionId(v string) *AwsEc2VpnConnectionDetails {
 13026  	s.VpnConnectionId = &v
 13027  	return s
 13028  }
 13029  
 13030  // SetVpnGatewayId sets the VpnGatewayId field's value.
 13031  func (s *AwsEc2VpnConnectionDetails) SetVpnGatewayId(v string) *AwsEc2VpnConnectionDetails {
 13032  	s.VpnGatewayId = &v
 13033  	return s
 13034  }
 13035  
 13036  // VPN connection options.
 13037  type AwsEc2VpnConnectionOptionsDetails struct {
 13038  	_ struct{} `type:"structure"`
 13039  
 13040  	// Whether the VPN connection uses static routes only.
 13041  	StaticRoutesOnly *bool `type:"boolean"`
 13042  
 13043  	// The VPN tunnel options.
 13044  	TunnelOptions []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails `type:"list"`
 13045  }
 13046  
 13047  // String returns the string representation.
 13048  //
 13049  // API parameter values that are decorated as "sensitive" in the API will not
 13050  // be included in the string output. The member name will be present, but the
 13051  // value will be replaced with "sensitive".
 13052  func (s AwsEc2VpnConnectionOptionsDetails) String() string {
 13053  	return awsutil.Prettify(s)
 13054  }
 13055  
 13056  // GoString returns the string representation.
 13057  //
 13058  // API parameter values that are decorated as "sensitive" in the API will not
 13059  // be included in the string output. The member name will be present, but the
 13060  // value will be replaced with "sensitive".
 13061  func (s AwsEc2VpnConnectionOptionsDetails) GoString() string {
 13062  	return s.String()
 13063  }
 13064  
 13065  // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
 13066  func (s *AwsEc2VpnConnectionOptionsDetails) SetStaticRoutesOnly(v bool) *AwsEc2VpnConnectionOptionsDetails {
 13067  	s.StaticRoutesOnly = &v
 13068  	return s
 13069  }
 13070  
 13071  // SetTunnelOptions sets the TunnelOptions field's value.
 13072  func (s *AwsEc2VpnConnectionOptionsDetails) SetTunnelOptions(v []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails) *AwsEc2VpnConnectionOptionsDetails {
 13073  	s.TunnelOptions = v
 13074  	return s
 13075  }
 13076  
 13077  // The VPN tunnel options.
 13078  type AwsEc2VpnConnectionOptionsTunnelOptionsDetails struct {
 13079  	_ struct{} `type:"structure"`
 13080  
 13081  	// The number of seconds after which a Dead Peer Detection (DPD) timeout occurs.
 13082  	DpdTimeoutSeconds *int64 `type:"integer"`
 13083  
 13084  	// The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel.
 13085  	IkeVersions []*string `type:"list"`
 13086  
 13087  	// The external IP address of the VPN tunnel.
 13088  	OutsideIpAddress *string `type:"string"`
 13089  
 13090  	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
 13091  	// IKE negotiations.
 13092  	Phase1DhGroupNumbers []*int64 `type:"list"`
 13093  
 13094  	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
 13095  	Phase1EncryptionAlgorithms []*string `type:"list"`
 13096  
 13097  	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
 13098  	Phase1IntegrityAlgorithms []*string `type:"list"`
 13099  
 13100  	// The lifetime for phase 1 of the IKE negotiation, in seconds.
 13101  	Phase1LifetimeSeconds *int64 `type:"integer"`
 13102  
 13103  	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
 13104  	// IKE negotiations.
 13105  	Phase2DhGroupNumbers []*int64 `type:"list"`
 13106  
 13107  	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
 13108  	Phase2EncryptionAlgorithms []*string `type:"list"`
 13109  
 13110  	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
 13111  	Phase2IntegrityAlgorithms []*string `type:"list"`
 13112  
 13113  	// The lifetime for phase 2 of the IKE negotiation, in seconds.
 13114  	Phase2LifetimeSeconds *int64 `type:"integer"`
 13115  
 13116  	// The preshared key to establish initial authentication between the virtual
 13117  	// private gateway and the customer gateway.
 13118  	PreSharedKey *string `type:"string"`
 13119  
 13120  	// The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
 13121  	// during which the rekey time is randomly selected.
 13122  	RekeyFuzzPercentage *int64 `type:"integer"`
 13123  
 13124  	// The margin time, in seconds, before the phase 2 lifetime expires, during
 13125  	// which the Amazon Web Services side of the VPN connection performs an IKE
 13126  	// rekey.
 13127  	RekeyMarginTimeSeconds *int64 `type:"integer"`
 13128  
 13129  	// The number of packets in an IKE replay window.
 13130  	ReplayWindowSize *int64 `type:"integer"`
 13131  
 13132  	// The range of inside IPv4 addresses for the tunnel.
 13133  	TunnelInsideCidr *string `type:"string"`
 13134  }
 13135  
 13136  // String returns the string representation.
 13137  //
 13138  // API parameter values that are decorated as "sensitive" in the API will not
 13139  // be included in the string output. The member name will be present, but the
 13140  // value will be replaced with "sensitive".
 13141  func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) String() string {
 13142  	return awsutil.Prettify(s)
 13143  }
 13144  
 13145  // GoString returns the string representation.
 13146  //
 13147  // API parameter values that are decorated as "sensitive" in the API will not
 13148  // be included in the string output. The member name will be present, but the
 13149  // value will be replaced with "sensitive".
 13150  func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) GoString() string {
 13151  	return s.String()
 13152  }
 13153  
 13154  // SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
 13155  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetDpdTimeoutSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13156  	s.DpdTimeoutSeconds = &v
 13157  	return s
 13158  }
 13159  
 13160  // SetIkeVersions sets the IkeVersions field's value.
 13161  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetIkeVersions(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13162  	s.IkeVersions = v
 13163  	return s
 13164  }
 13165  
 13166  // SetOutsideIpAddress sets the OutsideIpAddress field's value.
 13167  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13168  	s.OutsideIpAddress = &v
 13169  	return s
 13170  }
 13171  
 13172  // SetPhase1DhGroupNumbers sets the Phase1DhGroupNumbers field's value.
 13173  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13174  	s.Phase1DhGroupNumbers = v
 13175  	return s
 13176  }
 13177  
 13178  // SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
 13179  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13180  	s.Phase1EncryptionAlgorithms = v
 13181  	return s
 13182  }
 13183  
 13184  // SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
 13185  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13186  	s.Phase1IntegrityAlgorithms = v
 13187  	return s
 13188  }
 13189  
 13190  // SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
 13191  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13192  	s.Phase1LifetimeSeconds = &v
 13193  	return s
 13194  }
 13195  
 13196  // SetPhase2DhGroupNumbers sets the Phase2DhGroupNumbers field's value.
 13197  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13198  	s.Phase2DhGroupNumbers = v
 13199  	return s
 13200  }
 13201  
 13202  // SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
 13203  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13204  	s.Phase2EncryptionAlgorithms = v
 13205  	return s
 13206  }
 13207  
 13208  // SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
 13209  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13210  	s.Phase2IntegrityAlgorithms = v
 13211  	return s
 13212  }
 13213  
 13214  // SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
 13215  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13216  	s.Phase2LifetimeSeconds = &v
 13217  	return s
 13218  }
 13219  
 13220  // SetPreSharedKey sets the PreSharedKey field's value.
 13221  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPreSharedKey(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13222  	s.PreSharedKey = &v
 13223  	return s
 13224  }
 13225  
 13226  // SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
 13227  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyFuzzPercentage(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13228  	s.RekeyFuzzPercentage = &v
 13229  	return s
 13230  }
 13231  
 13232  // SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
 13233  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyMarginTimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13234  	s.RekeyMarginTimeSeconds = &v
 13235  	return s
 13236  }
 13237  
 13238  // SetReplayWindowSize sets the ReplayWindowSize field's value.
 13239  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetReplayWindowSize(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13240  	s.ReplayWindowSize = &v
 13241  	return s
 13242  }
 13243  
 13244  // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
 13245  func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetTunnelInsideCidr(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
 13246  	s.TunnelInsideCidr = &v
 13247  	return s
 13248  }
 13249  
 13250  // A static routes associated with the VPN connection.
 13251  type AwsEc2VpnConnectionRoutesDetails struct {
 13252  	_ struct{} `type:"structure"`
 13253  
 13254  	// The CIDR block associated with the local subnet of the customer data center.
 13255  	DestinationCidrBlock *string `type:"string"`
 13256  
 13257  	// The current state of the static route.
 13258  	State *string `type:"string"`
 13259  }
 13260  
 13261  // String returns the string representation.
 13262  //
 13263  // API parameter values that are decorated as "sensitive" in the API will not
 13264  // be included in the string output. The member name will be present, but the
 13265  // value will be replaced with "sensitive".
 13266  func (s AwsEc2VpnConnectionRoutesDetails) String() string {
 13267  	return awsutil.Prettify(s)
 13268  }
 13269  
 13270  // GoString returns the string representation.
 13271  //
 13272  // API parameter values that are decorated as "sensitive" in the API will not
 13273  // be included in the string output. The member name will be present, but the
 13274  // value will be replaced with "sensitive".
 13275  func (s AwsEc2VpnConnectionRoutesDetails) GoString() string {
 13276  	return s.String()
 13277  }
 13278  
 13279  // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
 13280  func (s *AwsEc2VpnConnectionRoutesDetails) SetDestinationCidrBlock(v string) *AwsEc2VpnConnectionRoutesDetails {
 13281  	s.DestinationCidrBlock = &v
 13282  	return s
 13283  }
 13284  
 13285  // SetState sets the State field's value.
 13286  func (s *AwsEc2VpnConnectionRoutesDetails) SetState(v string) *AwsEc2VpnConnectionRoutesDetails {
 13287  	s.State = &v
 13288  	return s
 13289  }
 13290  
 13291  // Information about the VPN tunnel.
 13292  type AwsEc2VpnConnectionVgwTelemetryDetails struct {
 13293  	_ struct{} `type:"structure"`
 13294  
 13295  	// The number of accepted routes.
 13296  	AcceptedRouteCount *int64 `type:"integer"`
 13297  
 13298  	// The ARN of the VPN tunnel endpoint certificate.
 13299  	CertificateArn *string `type:"string"`
 13300  
 13301  	// The date and time of the last change in status.
 13302  	//
 13303  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 13304  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 13305  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 13306  	LastStatusChange *string `type:"string"`
 13307  
 13308  	// The Internet-routable IP address of the virtual private gateway's outside
 13309  	// interface.
 13310  	OutsideIpAddress *string `type:"string"`
 13311  
 13312  	// The status of the VPN tunnel.
 13313  	Status *string `type:"string"`
 13314  
 13315  	// If an error occurs, a description of the error.
 13316  	StatusMessage *string `type:"string"`
 13317  }
 13318  
 13319  // String returns the string representation.
 13320  //
 13321  // API parameter values that are decorated as "sensitive" in the API will not
 13322  // be included in the string output. The member name will be present, but the
 13323  // value will be replaced with "sensitive".
 13324  func (s AwsEc2VpnConnectionVgwTelemetryDetails) String() string {
 13325  	return awsutil.Prettify(s)
 13326  }
 13327  
 13328  // GoString returns the string representation.
 13329  //
 13330  // API parameter values that are decorated as "sensitive" in the API will not
 13331  // be included in the string output. The member name will be present, but the
 13332  // value will be replaced with "sensitive".
 13333  func (s AwsEc2VpnConnectionVgwTelemetryDetails) GoString() string {
 13334  	return s.String()
 13335  }
 13336  
 13337  // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
 13338  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetAcceptedRouteCount(v int64) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13339  	s.AcceptedRouteCount = &v
 13340  	return s
 13341  }
 13342  
 13343  // SetCertificateArn sets the CertificateArn field's value.
 13344  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetCertificateArn(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13345  	s.CertificateArn = &v
 13346  	return s
 13347  }
 13348  
 13349  // SetLastStatusChange sets the LastStatusChange field's value.
 13350  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetLastStatusChange(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13351  	s.LastStatusChange = &v
 13352  	return s
 13353  }
 13354  
 13355  // SetOutsideIpAddress sets the OutsideIpAddress field's value.
 13356  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13357  	s.OutsideIpAddress = &v
 13358  	return s
 13359  }
 13360  
 13361  // SetStatus sets the Status field's value.
 13362  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatus(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13363  	s.Status = &v
 13364  	return s
 13365  }
 13366  
 13367  // SetStatusMessage sets the StatusMessage field's value.
 13368  func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatusMessage(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
 13369  	s.StatusMessage = &v
 13370  	return s
 13371  }
 13372  
 13373  // Information about an Amazon ECR image.
 13374  type AwsEcrContainerImageDetails struct {
 13375  	_ struct{} `type:"structure"`
 13376  
 13377  	// The architecture of the image.
 13378  	Architecture *string `type:"string"`
 13379  
 13380  	// The sha256 digest of the image manifest.
 13381  	ImageDigest *string `type:"string"`
 13382  
 13383  	// The date and time when the image was pushed to the repository.
 13384  	//
 13385  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 13386  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 13387  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 13388  	ImagePublishedAt *string `type:"string"`
 13389  
 13390  	// The list of tags that are associated with the image.
 13391  	ImageTags []*string `type:"list"`
 13392  
 13393  	// The Amazon Web Services account identifier that is associated with the registry
 13394  	// that the image belongs to.
 13395  	RegistryId *string `type:"string"`
 13396  
 13397  	// The name of the repository that the image belongs to.
 13398  	RepositoryName *string `type:"string"`
 13399  }
 13400  
 13401  // String returns the string representation.
 13402  //
 13403  // API parameter values that are decorated as "sensitive" in the API will not
 13404  // be included in the string output. The member name will be present, but the
 13405  // value will be replaced with "sensitive".
 13406  func (s AwsEcrContainerImageDetails) String() string {
 13407  	return awsutil.Prettify(s)
 13408  }
 13409  
 13410  // GoString returns the string representation.
 13411  //
 13412  // API parameter values that are decorated as "sensitive" in the API will not
 13413  // be included in the string output. The member name will be present, but the
 13414  // value will be replaced with "sensitive".
 13415  func (s AwsEcrContainerImageDetails) GoString() string {
 13416  	return s.String()
 13417  }
 13418  
 13419  // SetArchitecture sets the Architecture field's value.
 13420  func (s *AwsEcrContainerImageDetails) SetArchitecture(v string) *AwsEcrContainerImageDetails {
 13421  	s.Architecture = &v
 13422  	return s
 13423  }
 13424  
 13425  // SetImageDigest sets the ImageDigest field's value.
 13426  func (s *AwsEcrContainerImageDetails) SetImageDigest(v string) *AwsEcrContainerImageDetails {
 13427  	s.ImageDigest = &v
 13428  	return s
 13429  }
 13430  
 13431  // SetImagePublishedAt sets the ImagePublishedAt field's value.
 13432  func (s *AwsEcrContainerImageDetails) SetImagePublishedAt(v string) *AwsEcrContainerImageDetails {
 13433  	s.ImagePublishedAt = &v
 13434  	return s
 13435  }
 13436  
 13437  // SetImageTags sets the ImageTags field's value.
 13438  func (s *AwsEcrContainerImageDetails) SetImageTags(v []*string) *AwsEcrContainerImageDetails {
 13439  	s.ImageTags = v
 13440  	return s
 13441  }
 13442  
 13443  // SetRegistryId sets the RegistryId field's value.
 13444  func (s *AwsEcrContainerImageDetails) SetRegistryId(v string) *AwsEcrContainerImageDetails {
 13445  	s.RegistryId = &v
 13446  	return s
 13447  }
 13448  
 13449  // SetRepositoryName sets the RepositoryName field's value.
 13450  func (s *AwsEcrContainerImageDetails) SetRepositoryName(v string) *AwsEcrContainerImageDetails {
 13451  	s.RepositoryName = &v
 13452  	return s
 13453  }
 13454  
 13455  // Provides information about an Amazon Elastic Container Registry repository.
 13456  type AwsEcrRepositoryDetails struct {
 13457  	_ struct{} `type:"structure"`
 13458  
 13459  	// The ARN of the repository.
 13460  	Arn *string `type:"string"`
 13461  
 13462  	// The image scanning configuration for a repository.
 13463  	ImageScanningConfiguration *AwsEcrRepositoryImageScanningConfigurationDetails `type:"structure"`
 13464  
 13465  	// The tag mutability setting for the repository.
 13466  	ImageTagMutability *string `type:"string"`
 13467  
 13468  	// Information about the lifecycle policy for the repository.
 13469  	LifecyclePolicy *AwsEcrRepositoryLifecyclePolicyDetails `type:"structure"`
 13470  
 13471  	// The name of the repository.
 13472  	RepositoryName *string `type:"string"`
 13473  
 13474  	// The text of the repository policy.
 13475  	RepositoryPolicyText *string `type:"string"`
 13476  }
 13477  
 13478  // String returns the string representation.
 13479  //
 13480  // API parameter values that are decorated as "sensitive" in the API will not
 13481  // be included in the string output. The member name will be present, but the
 13482  // value will be replaced with "sensitive".
 13483  func (s AwsEcrRepositoryDetails) String() string {
 13484  	return awsutil.Prettify(s)
 13485  }
 13486  
 13487  // GoString returns the string representation.
 13488  //
 13489  // API parameter values that are decorated as "sensitive" in the API will not
 13490  // be included in the string output. The member name will be present, but the
 13491  // value will be replaced with "sensitive".
 13492  func (s AwsEcrRepositoryDetails) GoString() string {
 13493  	return s.String()
 13494  }
 13495  
 13496  // SetArn sets the Arn field's value.
 13497  func (s *AwsEcrRepositoryDetails) SetArn(v string) *AwsEcrRepositoryDetails {
 13498  	s.Arn = &v
 13499  	return s
 13500  }
 13501  
 13502  // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
 13503  func (s *AwsEcrRepositoryDetails) SetImageScanningConfiguration(v *AwsEcrRepositoryImageScanningConfigurationDetails) *AwsEcrRepositoryDetails {
 13504  	s.ImageScanningConfiguration = v
 13505  	return s
 13506  }
 13507  
 13508  // SetImageTagMutability sets the ImageTagMutability field's value.
 13509  func (s *AwsEcrRepositoryDetails) SetImageTagMutability(v string) *AwsEcrRepositoryDetails {
 13510  	s.ImageTagMutability = &v
 13511  	return s
 13512  }
 13513  
 13514  // SetLifecyclePolicy sets the LifecyclePolicy field's value.
 13515  func (s *AwsEcrRepositoryDetails) SetLifecyclePolicy(v *AwsEcrRepositoryLifecyclePolicyDetails) *AwsEcrRepositoryDetails {
 13516  	s.LifecyclePolicy = v
 13517  	return s
 13518  }
 13519  
 13520  // SetRepositoryName sets the RepositoryName field's value.
 13521  func (s *AwsEcrRepositoryDetails) SetRepositoryName(v string) *AwsEcrRepositoryDetails {
 13522  	s.RepositoryName = &v
 13523  	return s
 13524  }
 13525  
 13526  // SetRepositoryPolicyText sets the RepositoryPolicyText field's value.
 13527  func (s *AwsEcrRepositoryDetails) SetRepositoryPolicyText(v string) *AwsEcrRepositoryDetails {
 13528  	s.RepositoryPolicyText = &v
 13529  	return s
 13530  }
 13531  
 13532  // The image scanning configuration for a repository.
 13533  type AwsEcrRepositoryImageScanningConfigurationDetails struct {
 13534  	_ struct{} `type:"structure"`
 13535  
 13536  	// Whether to scan images after they are pushed to a repository.
 13537  	ScanOnPush *bool `type:"boolean"`
 13538  }
 13539  
 13540  // String returns the string representation.
 13541  //
 13542  // API parameter values that are decorated as "sensitive" in the API will not
 13543  // be included in the string output. The member name will be present, but the
 13544  // value will be replaced with "sensitive".
 13545  func (s AwsEcrRepositoryImageScanningConfigurationDetails) String() string {
 13546  	return awsutil.Prettify(s)
 13547  }
 13548  
 13549  // GoString returns the string representation.
 13550  //
 13551  // API parameter values that are decorated as "sensitive" in the API will not
 13552  // be included in the string output. The member name will be present, but the
 13553  // value will be replaced with "sensitive".
 13554  func (s AwsEcrRepositoryImageScanningConfigurationDetails) GoString() string {
 13555  	return s.String()
 13556  }
 13557  
 13558  // SetScanOnPush sets the ScanOnPush field's value.
 13559  func (s *AwsEcrRepositoryImageScanningConfigurationDetails) SetScanOnPush(v bool) *AwsEcrRepositoryImageScanningConfigurationDetails {
 13560  	s.ScanOnPush = &v
 13561  	return s
 13562  }
 13563  
 13564  // Information about the lifecycle policy for the repository.
 13565  type AwsEcrRepositoryLifecyclePolicyDetails struct {
 13566  	_ struct{} `type:"structure"`
 13567  
 13568  	// The text of the lifecycle policy.
 13569  	LifecyclePolicyText *string `type:"string"`
 13570  
 13571  	// The Amazon Web Services account identifier that is associated with the registry
 13572  	// that contains the repository.
 13573  	RegistryId *string `type:"string"`
 13574  }
 13575  
 13576  // String returns the string representation.
 13577  //
 13578  // API parameter values that are decorated as "sensitive" in the API will not
 13579  // be included in the string output. The member name will be present, but the
 13580  // value will be replaced with "sensitive".
 13581  func (s AwsEcrRepositoryLifecyclePolicyDetails) String() string {
 13582  	return awsutil.Prettify(s)
 13583  }
 13584  
 13585  // GoString returns the string representation.
 13586  //
 13587  // API parameter values that are decorated as "sensitive" in the API will not
 13588  // be included in the string output. The member name will be present, but the
 13589  // value will be replaced with "sensitive".
 13590  func (s AwsEcrRepositoryLifecyclePolicyDetails) GoString() string {
 13591  	return s.String()
 13592  }
 13593  
 13594  // SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
 13595  func (s *AwsEcrRepositoryLifecyclePolicyDetails) SetLifecyclePolicyText(v string) *AwsEcrRepositoryLifecyclePolicyDetails {
 13596  	s.LifecyclePolicyText = &v
 13597  	return s
 13598  }
 13599  
 13600  // SetRegistryId sets the RegistryId field's value.
 13601  func (s *AwsEcrRepositoryLifecyclePolicyDetails) SetRegistryId(v string) *AwsEcrRepositoryLifecyclePolicyDetails {
 13602  	s.RegistryId = &v
 13603  	return s
 13604  }
 13605  
 13606  // Indicates whether to enable CloudWatch Container Insights for the ECS cluster.
 13607  type AwsEcsClusterClusterSettingsDetails struct {
 13608  	_ struct{} `type:"structure"`
 13609  
 13610  	// The name of the setting.
 13611  	Name *string `type:"string"`
 13612  
 13613  	// The value of the setting.
 13614  	Value *string `type:"string"`
 13615  }
 13616  
 13617  // String returns the string representation.
 13618  //
 13619  // API parameter values that are decorated as "sensitive" in the API will not
 13620  // be included in the string output. The member name will be present, but the
 13621  // value will be replaced with "sensitive".
 13622  func (s AwsEcsClusterClusterSettingsDetails) String() string {
 13623  	return awsutil.Prettify(s)
 13624  }
 13625  
 13626  // GoString returns the string representation.
 13627  //
 13628  // API parameter values that are decorated as "sensitive" in the API will not
 13629  // be included in the string output. The member name will be present, but the
 13630  // value will be replaced with "sensitive".
 13631  func (s AwsEcsClusterClusterSettingsDetails) GoString() string {
 13632  	return s.String()
 13633  }
 13634  
 13635  // SetName sets the Name field's value.
 13636  func (s *AwsEcsClusterClusterSettingsDetails) SetName(v string) *AwsEcsClusterClusterSettingsDetails {
 13637  	s.Name = &v
 13638  	return s
 13639  }
 13640  
 13641  // SetValue sets the Value field's value.
 13642  func (s *AwsEcsClusterClusterSettingsDetails) SetValue(v string) *AwsEcsClusterClusterSettingsDetails {
 13643  	s.Value = &v
 13644  	return s
 13645  }
 13646  
 13647  // The run command configuration for the cluster.
 13648  type AwsEcsClusterConfigurationDetails struct {
 13649  	_ struct{} `type:"structure"`
 13650  
 13651  	// Contains the run command configuration for the cluster.
 13652  	ExecuteCommandConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails `type:"structure"`
 13653  }
 13654  
 13655  // String returns the string representation.
 13656  //
 13657  // API parameter values that are decorated as "sensitive" in the API will not
 13658  // be included in the string output. The member name will be present, but the
 13659  // value will be replaced with "sensitive".
 13660  func (s AwsEcsClusterConfigurationDetails) String() string {
 13661  	return awsutil.Prettify(s)
 13662  }
 13663  
 13664  // GoString returns the string representation.
 13665  //
 13666  // API parameter values that are decorated as "sensitive" in the API will not
 13667  // be included in the string output. The member name will be present, but the
 13668  // value will be replaced with "sensitive".
 13669  func (s AwsEcsClusterConfigurationDetails) GoString() string {
 13670  	return s.String()
 13671  }
 13672  
 13673  // SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value.
 13674  func (s *AwsEcsClusterConfigurationDetails) SetExecuteCommandConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) *AwsEcsClusterConfigurationDetails {
 13675  	s.ExecuteCommandConfiguration = v
 13676  	return s
 13677  }
 13678  
 13679  // Contains the run command configuration for the cluster.
 13680  type AwsEcsClusterConfigurationExecuteCommandConfigurationDetails struct {
 13681  	_ struct{} `type:"structure"`
 13682  
 13683  	// The identifier of the KMS key that is used to encrypt the data between the
 13684  	// local client and the container.
 13685  	KmsKeyId *string `type:"string"`
 13686  
 13687  	// The log configuration for the results of the run command actions. Required
 13688  	// if Logging is NONE.
 13689  	LogConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails `type:"structure"`
 13690  
 13691  	// The log setting to use for redirecting logs for run command results.
 13692  	Logging *string `type:"string"`
 13693  }
 13694  
 13695  // String returns the string representation.
 13696  //
 13697  // API parameter values that are decorated as "sensitive" in the API will not
 13698  // be included in the string output. The member name will be present, but the
 13699  // value will be replaced with "sensitive".
 13700  func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) String() string {
 13701  	return awsutil.Prettify(s)
 13702  }
 13703  
 13704  // GoString returns the string representation.
 13705  //
 13706  // API parameter values that are decorated as "sensitive" in the API will not
 13707  // be included in the string output. The member name will be present, but the
 13708  // value will be replaced with "sensitive".
 13709  func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) GoString() string {
 13710  	return s.String()
 13711  }
 13712  
 13713  // SetKmsKeyId sets the KmsKeyId field's value.
 13714  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetKmsKeyId(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
 13715  	s.KmsKeyId = &v
 13716  	return s
 13717  }
 13718  
 13719  // SetLogConfiguration sets the LogConfiguration field's value.
 13720  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
 13721  	s.LogConfiguration = v
 13722  	return s
 13723  }
 13724  
 13725  // SetLogging sets the Logging field's value.
 13726  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogging(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
 13727  	s.Logging = &v
 13728  	return s
 13729  }
 13730  
 13731  // The log configuration for the results of the run command actions.
 13732  type AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails struct {
 13733  	_ struct{} `type:"structure"`
 13734  
 13735  	// Whether to enable encryption on the CloudWatch logs.
 13736  	CloudWatchEncryptionEnabled *bool `type:"boolean"`
 13737  
 13738  	// The name of the CloudWatch log group to send the logs to.
 13739  	CloudWatchLogGroupName *string `type:"string"`
 13740  
 13741  	// The name of the S3 bucket to send logs to.
 13742  	S3BucketName *string `type:"string"`
 13743  
 13744  	// Whether to encrypt the logs that are sent to the S3 bucket.
 13745  	S3EncryptionEnabled *bool `type:"boolean"`
 13746  
 13747  	// Identifies the folder in the S3 bucket to send the logs to.
 13748  	S3KeyPrefix *string `type:"string"`
 13749  }
 13750  
 13751  // String returns the string representation.
 13752  //
 13753  // API parameter values that are decorated as "sensitive" in the API will not
 13754  // be included in the string output. The member name will be present, but the
 13755  // value will be replaced with "sensitive".
 13756  func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) String() string {
 13757  	return awsutil.Prettify(s)
 13758  }
 13759  
 13760  // GoString returns the string representation.
 13761  //
 13762  // API parameter values that are decorated as "sensitive" in the API will not
 13763  // be included in the string output. The member name will be present, but the
 13764  // value will be replaced with "sensitive".
 13765  func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) GoString() string {
 13766  	return s.String()
 13767  }
 13768  
 13769  // SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value.
 13770  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchEncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
 13771  	s.CloudWatchEncryptionEnabled = &v
 13772  	return s
 13773  }
 13774  
 13775  // SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
 13776  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchLogGroupName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
 13777  	s.CloudWatchLogGroupName = &v
 13778  	return s
 13779  }
 13780  
 13781  // SetS3BucketName sets the S3BucketName field's value.
 13782  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3BucketName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
 13783  	s.S3BucketName = &v
 13784  	return s
 13785  }
 13786  
 13787  // SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value.
 13788  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3EncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
 13789  	s.S3EncryptionEnabled = &v
 13790  	return s
 13791  }
 13792  
 13793  // SetS3KeyPrefix sets the S3KeyPrefix field's value.
 13794  func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3KeyPrefix(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
 13795  	s.S3KeyPrefix = &v
 13796  	return s
 13797  }
 13798  
 13799  // The default capacity provider strategy for the cluster. The default capacity
 13800  // provider strategy is used when services or tasks are run without a specified
 13801  // launch type or capacity provider strategy.
 13802  type AwsEcsClusterDefaultCapacityProviderStrategyDetails struct {
 13803  	_ struct{} `type:"structure"`
 13804  
 13805  	// The minimum number of tasks to run on the specified capacity provider.
 13806  	Base *int64 `type:"integer"`
 13807  
 13808  	// The name of the capacity provider.
 13809  	CapacityProvider *string `type:"string"`
 13810  
 13811  	// The relative percentage of the total number of tasks launched that should
 13812  	// use the capacity provider.
 13813  	Weight *int64 `type:"integer"`
 13814  }
 13815  
 13816  // String returns the string representation.
 13817  //
 13818  // API parameter values that are decorated as "sensitive" in the API will not
 13819  // be included in the string output. The member name will be present, but the
 13820  // value will be replaced with "sensitive".
 13821  func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) String() string {
 13822  	return awsutil.Prettify(s)
 13823  }
 13824  
 13825  // GoString returns the string representation.
 13826  //
 13827  // API parameter values that are decorated as "sensitive" in the API will not
 13828  // be included in the string output. The member name will be present, but the
 13829  // value will be replaced with "sensitive".
 13830  func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) GoString() string {
 13831  	return s.String()
 13832  }
 13833  
 13834  // SetBase sets the Base field's value.
 13835  func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
 13836  	s.Base = &v
 13837  	return s
 13838  }
 13839  
 13840  // SetCapacityProvider sets the CapacityProvider field's value.
 13841  func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
 13842  	s.CapacityProvider = &v
 13843  	return s
 13844  }
 13845  
 13846  // SetWeight sets the Weight field's value.
 13847  func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
 13848  	s.Weight = &v
 13849  	return s
 13850  }
 13851  
 13852  // provides details about an ECS cluster.
 13853  type AwsEcsClusterDetails struct {
 13854  	_ struct{} `type:"structure"`
 13855  
 13856  	// The short name of one or more capacity providers to associate with the cluster.
 13857  	CapacityProviders []*string `type:"list"`
 13858  
 13859  	// The setting to use to create the cluster. Specifically used to configure
 13860  	// whether to enable CloudWatch Container Insights for the cluster.
 13861  	ClusterSettings []*AwsEcsClusterClusterSettingsDetails `type:"list"`
 13862  
 13863  	// The run command configuration for the cluster.
 13864  	Configuration *AwsEcsClusterConfigurationDetails `type:"structure"`
 13865  
 13866  	// The default capacity provider strategy for the cluster. The default capacity
 13867  	// provider strategy is used when services or tasks are run without a specified
 13868  	// launch type or capacity provider strategy.
 13869  	DefaultCapacityProviderStrategy []*AwsEcsClusterDefaultCapacityProviderStrategyDetails `type:"list"`
 13870  }
 13871  
 13872  // String returns the string representation.
 13873  //
 13874  // API parameter values that are decorated as "sensitive" in the API will not
 13875  // be included in the string output. The member name will be present, but the
 13876  // value will be replaced with "sensitive".
 13877  func (s AwsEcsClusterDetails) String() string {
 13878  	return awsutil.Prettify(s)
 13879  }
 13880  
 13881  // GoString returns the string representation.
 13882  //
 13883  // API parameter values that are decorated as "sensitive" in the API will not
 13884  // be included in the string output. The member name will be present, but the
 13885  // value will be replaced with "sensitive".
 13886  func (s AwsEcsClusterDetails) GoString() string {
 13887  	return s.String()
 13888  }
 13889  
 13890  // SetCapacityProviders sets the CapacityProviders field's value.
 13891  func (s *AwsEcsClusterDetails) SetCapacityProviders(v []*string) *AwsEcsClusterDetails {
 13892  	s.CapacityProviders = v
 13893  	return s
 13894  }
 13895  
 13896  // SetClusterSettings sets the ClusterSettings field's value.
 13897  func (s *AwsEcsClusterDetails) SetClusterSettings(v []*AwsEcsClusterClusterSettingsDetails) *AwsEcsClusterDetails {
 13898  	s.ClusterSettings = v
 13899  	return s
 13900  }
 13901  
 13902  // SetConfiguration sets the Configuration field's value.
 13903  func (s *AwsEcsClusterDetails) SetConfiguration(v *AwsEcsClusterConfigurationDetails) *AwsEcsClusterDetails {
 13904  	s.Configuration = v
 13905  	return s
 13906  }
 13907  
 13908  // SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value.
 13909  func (s *AwsEcsClusterDetails) SetDefaultCapacityProviderStrategy(v []*AwsEcsClusterDefaultCapacityProviderStrategyDetails) *AwsEcsClusterDetails {
 13910  	s.DefaultCapacityProviderStrategy = v
 13911  	return s
 13912  }
 13913  
 13914  // Strategy item for the capacity provider strategy that the service uses.
 13915  type AwsEcsServiceCapacityProviderStrategyDetails struct {
 13916  	_ struct{} `type:"structure"`
 13917  
 13918  	// The minimum number of tasks to run on the capacity provider. Only one strategy
 13919  	// item can specify a value for Base.
 13920  	//
 13921  	// The value must be between 0 and 100000.
 13922  	Base *int64 `type:"integer"`
 13923  
 13924  	// The short name of the capacity provider.
 13925  	CapacityProvider *string `type:"string"`
 13926  
 13927  	// The relative percentage of the total number of tasks that should use the
 13928  	// capacity provider.
 13929  	//
 13930  	// If no weight is specified, the default value is 0. At least one capacity
 13931  	// provider must have a weight greater than 0.
 13932  	//
 13933  	// The value can be between 0 and 1000.
 13934  	Weight *int64 `type:"integer"`
 13935  }
 13936  
 13937  // String returns the string representation.
 13938  //
 13939  // API parameter values that are decorated as "sensitive" in the API will not
 13940  // be included in the string output. The member name will be present, but the
 13941  // value will be replaced with "sensitive".
 13942  func (s AwsEcsServiceCapacityProviderStrategyDetails) String() string {
 13943  	return awsutil.Prettify(s)
 13944  }
 13945  
 13946  // GoString returns the string representation.
 13947  //
 13948  // API parameter values that are decorated as "sensitive" in the API will not
 13949  // be included in the string output. The member name will be present, but the
 13950  // value will be replaced with "sensitive".
 13951  func (s AwsEcsServiceCapacityProviderStrategyDetails) GoString() string {
 13952  	return s.String()
 13953  }
 13954  
 13955  // SetBase sets the Base field's value.
 13956  func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
 13957  	s.Base = &v
 13958  	return s
 13959  }
 13960  
 13961  // SetCapacityProvider sets the CapacityProvider field's value.
 13962  func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsServiceCapacityProviderStrategyDetails {
 13963  	s.CapacityProvider = &v
 13964  	return s
 13965  }
 13966  
 13967  // SetWeight sets the Weight field's value.
 13968  func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
 13969  	s.Weight = &v
 13970  	return s
 13971  }
 13972  
 13973  // Determines whether a service deployment fails if a service cannot reach a
 13974  // steady state.
 13975  type AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails struct {
 13976  	_ struct{} `type:"structure"`
 13977  
 13978  	// Whether to enable the deployment circuit breaker logic for the service.
 13979  	Enable *bool `type:"boolean"`
 13980  
 13981  	// Whether to roll back the service if a service deployment fails. If rollback
 13982  	// is enabled, when a service deployment fails, the service is rolled back to
 13983  	// the last deployment that completed successfully.
 13984  	Rollback *bool `type:"boolean"`
 13985  }
 13986  
 13987  // String returns the string representation.
 13988  //
 13989  // API parameter values that are decorated as "sensitive" in the API will not
 13990  // be included in the string output. The member name will be present, but the
 13991  // value will be replaced with "sensitive".
 13992  func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) String() string {
 13993  	return awsutil.Prettify(s)
 13994  }
 13995  
 13996  // GoString returns the string representation.
 13997  //
 13998  // API parameter values that are decorated as "sensitive" in the API will not
 13999  // be included in the string output. The member name will be present, but the
 14000  // value will be replaced with "sensitive".
 14001  func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) GoString() string {
 14002  	return s.String()
 14003  }
 14004  
 14005  // SetEnable sets the Enable field's value.
 14006  func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetEnable(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
 14007  	s.Enable = &v
 14008  	return s
 14009  }
 14010  
 14011  // SetRollback sets the Rollback field's value.
 14012  func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetRollback(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
 14013  	s.Rollback = &v
 14014  	return s
 14015  }
 14016  
 14017  // Optional deployment parameters for the service.
 14018  type AwsEcsServiceDeploymentConfigurationDetails struct {
 14019  	_ struct{} `type:"structure"`
 14020  
 14021  	// Determines whether a service deployment fails if a service cannot reach a
 14022  	// steady state.
 14023  	DeploymentCircuitBreaker *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails `type:"structure"`
 14024  
 14025  	// For a service that uses the rolling update (ECS) deployment type, the maximum
 14026  	// number of tasks in a service that are allowed in the RUNNING or PENDING state
 14027  	// during a deployment, and for tasks that use the EC2 launch type, when any
 14028  	// container instances are in the DRAINING state. Provided as a percentage of
 14029  	// the desired number of tasks. The default value is 200%.
 14030  	//
 14031  	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
 14032  	// types, and tasks that use the EC2 launch type, the maximum number of tasks
 14033  	// in the service that remain in the RUNNING state while the container instances
 14034  	// are in the DRAINING state.
 14035  	//
 14036  	// For the Fargate launch type, the maximum percent value is not used.
 14037  	MaximumPercent *int64 `type:"integer"`
 14038  
 14039  	// For a service that uses the rolling update (ECS) deployment type, the minimum
 14040  	// number of tasks in a service that must remain in the RUNNING state during
 14041  	// a deployment, and while any container instances are in the DRAINING state
 14042  	// if the service contains tasks using the EC2 launch type. Expressed as a percentage
 14043  	// of the desired number of tasks. The default value is 100%.
 14044  	//
 14045  	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
 14046  	// types and tasks that use the EC2 launch type, the minimum number of the tasks
 14047  	// in the service that remain in the RUNNING state while the container instances
 14048  	// are in the DRAINING state.
 14049  	//
 14050  	// For the Fargate launch type, the minimum healthy percent value is not used.
 14051  	MinimumHealthyPercent *int64 `type:"integer"`
 14052  }
 14053  
 14054  // String returns the string representation.
 14055  //
 14056  // API parameter values that are decorated as "sensitive" in the API will not
 14057  // be included in the string output. The member name will be present, but the
 14058  // value will be replaced with "sensitive".
 14059  func (s AwsEcsServiceDeploymentConfigurationDetails) String() string {
 14060  	return awsutil.Prettify(s)
 14061  }
 14062  
 14063  // GoString returns the string representation.
 14064  //
 14065  // API parameter values that are decorated as "sensitive" in the API will not
 14066  // be included in the string output. The member name will be present, but the
 14067  // value will be replaced with "sensitive".
 14068  func (s AwsEcsServiceDeploymentConfigurationDetails) GoString() string {
 14069  	return s.String()
 14070  }
 14071  
 14072  // SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value.
 14073  func (s *AwsEcsServiceDeploymentConfigurationDetails) SetDeploymentCircuitBreaker(v *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) *AwsEcsServiceDeploymentConfigurationDetails {
 14074  	s.DeploymentCircuitBreaker = v
 14075  	return s
 14076  }
 14077  
 14078  // SetMaximumPercent sets the MaximumPercent field's value.
 14079  func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMaximumPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
 14080  	s.MaximumPercent = &v
 14081  	return s
 14082  }
 14083  
 14084  // SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value.
 14085  func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMinimumHealthyPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
 14086  	s.MinimumHealthyPercent = &v
 14087  	return s
 14088  }
 14089  
 14090  // Information about the deployment controller type that the service uses.
 14091  type AwsEcsServiceDeploymentControllerDetails struct {
 14092  	_ struct{} `type:"structure"`
 14093  
 14094  	// The rolling update (ECS) deployment type replaces the current running version
 14095  	// of the container with the latest version.
 14096  	//
 14097  	// The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment
 14098  	// model that is powered by CodeDeploy. This deployment model a new deployment
 14099  	// of a service can be verified before production traffic is sent to it.
 14100  	//
 14101  	// The external (EXTERNAL) deployment type allows the use of any third-party
 14102  	// deployment controller for full control over the deployment process for an
 14103  	// Amazon ECS service.
 14104  	//
 14105  	// Valid values: ECS | CODE_DEPLOY | EXTERNAL
 14106  	Type *string `type:"string"`
 14107  }
 14108  
 14109  // String returns the string representation.
 14110  //
 14111  // API parameter values that are decorated as "sensitive" in the API will not
 14112  // be included in the string output. The member name will be present, but the
 14113  // value will be replaced with "sensitive".
 14114  func (s AwsEcsServiceDeploymentControllerDetails) String() string {
 14115  	return awsutil.Prettify(s)
 14116  }
 14117  
 14118  // GoString returns the string representation.
 14119  //
 14120  // API parameter values that are decorated as "sensitive" in the API will not
 14121  // be included in the string output. The member name will be present, but the
 14122  // value will be replaced with "sensitive".
 14123  func (s AwsEcsServiceDeploymentControllerDetails) GoString() string {
 14124  	return s.String()
 14125  }
 14126  
 14127  // SetType sets the Type field's value.
 14128  func (s *AwsEcsServiceDeploymentControllerDetails) SetType(v string) *AwsEcsServiceDeploymentControllerDetails {
 14129  	s.Type = &v
 14130  	return s
 14131  }
 14132  
 14133  // Provides details about a service within an ECS cluster.
 14134  type AwsEcsServiceDetails struct {
 14135  	_ struct{} `type:"structure"`
 14136  
 14137  	// The capacity provider strategy that the service uses.
 14138  	CapacityProviderStrategy []*AwsEcsServiceCapacityProviderStrategyDetails `type:"list"`
 14139  
 14140  	// The ARN of the cluster that hosts the service.
 14141  	Cluster *string `type:"string"`
 14142  
 14143  	// Deployment parameters for the service. Includes the number of tasks that
 14144  	// run and the order in which to start and stop tasks.
 14145  	DeploymentConfiguration *AwsEcsServiceDeploymentConfigurationDetails `type:"structure"`
 14146  
 14147  	// Contains the deployment controller type that the service uses.
 14148  	DeploymentController *AwsEcsServiceDeploymentControllerDetails `type:"structure"`
 14149  
 14150  	// The number of instantiations of the task definition to run on the service.
 14151  	DesiredCount *int64 `type:"integer"`
 14152  
 14153  	// Whether to enable Amazon ECS managed tags for the tasks in the service.
 14154  	EnableEcsManagedTags *bool `type:"boolean"`
 14155  
 14156  	// Whether the execute command functionality is enabled for the service.
 14157  	EnableExecuteCommand *bool `type:"boolean"`
 14158  
 14159  	// After a task starts, the amount of time in seconds that the Amazon ECS service
 14160  	// scheduler ignores unhealthy Elastic Load Balancing target health checks.
 14161  	HealthCheckGracePeriodSeconds *int64 `type:"integer"`
 14162  
 14163  	// The launch type that the service uses.
 14164  	//
 14165  	// Valid values: EC2 | FARGATE | EXTERNAL
 14166  	LaunchType *string `type:"string"`
 14167  
 14168  	// Information about the load balancers that the service uses.
 14169  	LoadBalancers []*AwsEcsServiceLoadBalancersDetails `type:"list"`
 14170  
 14171  	// The name of the service.
 14172  	Name *string `type:"string"`
 14173  
 14174  	// For tasks that use the awsvpc networking mode, the VPC subnet and security
 14175  	// group configuration.
 14176  	NetworkConfiguration *AwsEcsServiceNetworkConfigurationDetails `type:"structure"`
 14177  
 14178  	// The placement constraints for the tasks in the service.
 14179  	PlacementConstraints []*AwsEcsServicePlacementConstraintsDetails `type:"list"`
 14180  
 14181  	// Information about how tasks for the service are placed.
 14182  	PlacementStrategies []*AwsEcsServicePlacementStrategiesDetails `type:"list"`
 14183  
 14184  	// The platform version on which to run the service. Only specified for tasks
 14185  	// that are hosted on Fargate. If a platform version is not specified, the LATEST
 14186  	// platform version is used by default.
 14187  	PlatformVersion *string `type:"string"`
 14188  
 14189  	// Indicates whether to propagate the tags from the task definition to the task
 14190  	// or from the service to the task. If no value is provided, then tags are not
 14191  	// propagated.
 14192  	//
 14193  	// Valid values: TASK_DEFINITION | SERVICE
 14194  	PropagateTags *string `type:"string"`
 14195  
 14196  	// The ARN of the IAM role that is associated with the service. The role allows
 14197  	// the Amazon ECS container agent to register container instances with an Elastic
 14198  	// Load Balancing load balancer.
 14199  	Role *string `type:"string"`
 14200  
 14201  	// The scheduling strategy to use for the service.
 14202  	//
 14203  	// The REPLICA scheduling strategy places and maintains the desired number of
 14204  	// tasks across the cluster. By default, the service scheduler spreads tasks
 14205  	// across Availability Zones. Task placement strategies and constraints are
 14206  	// used to customize task placement decisions.
 14207  	//
 14208  	// The DAEMON scheduling strategy deploys exactly one task on each active container
 14209  	// instance that meets all of the task placement constraints that are specified
 14210  	// in the cluster. The service scheduler also evaluates the task placement constraints
 14211  	// for running tasks and stops tasks that do not meet the placement constraints.
 14212  	//
 14213  	// Valid values: REPLICA | DAEMON
 14214  	SchedulingStrategy *string `type:"string"`
 14215  
 14216  	// The ARN of the service.
 14217  	ServiceArn *string `type:"string"`
 14218  
 14219  	// The name of the service.
 14220  	//
 14221  	// The name can contain up to 255 characters. It can use letters, numbers, underscores,
 14222  	// and hyphens.
 14223  	ServiceName *string `type:"string"`
 14224  
 14225  	// Information about the service discovery registries to assign to the service.
 14226  	ServiceRegistries []*AwsEcsServiceServiceRegistriesDetails `type:"list"`
 14227  
 14228  	// The task definition to use for tasks in the service.
 14229  	TaskDefinition *string `type:"string"`
 14230  }
 14231  
 14232  // String returns the string representation.
 14233  //
 14234  // API parameter values that are decorated as "sensitive" in the API will not
 14235  // be included in the string output. The member name will be present, but the
 14236  // value will be replaced with "sensitive".
 14237  func (s AwsEcsServiceDetails) String() string {
 14238  	return awsutil.Prettify(s)
 14239  }
 14240  
 14241  // GoString returns the string representation.
 14242  //
 14243  // API parameter values that are decorated as "sensitive" in the API will not
 14244  // be included in the string output. The member name will be present, but the
 14245  // value will be replaced with "sensitive".
 14246  func (s AwsEcsServiceDetails) GoString() string {
 14247  	return s.String()
 14248  }
 14249  
 14250  // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value.
 14251  func (s *AwsEcsServiceDetails) SetCapacityProviderStrategy(v []*AwsEcsServiceCapacityProviderStrategyDetails) *AwsEcsServiceDetails {
 14252  	s.CapacityProviderStrategy = v
 14253  	return s
 14254  }
 14255  
 14256  // SetCluster sets the Cluster field's value.
 14257  func (s *AwsEcsServiceDetails) SetCluster(v string) *AwsEcsServiceDetails {
 14258  	s.Cluster = &v
 14259  	return s
 14260  }
 14261  
 14262  // SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
 14263  func (s *AwsEcsServiceDetails) SetDeploymentConfiguration(v *AwsEcsServiceDeploymentConfigurationDetails) *AwsEcsServiceDetails {
 14264  	s.DeploymentConfiguration = v
 14265  	return s
 14266  }
 14267  
 14268  // SetDeploymentController sets the DeploymentController field's value.
 14269  func (s *AwsEcsServiceDetails) SetDeploymentController(v *AwsEcsServiceDeploymentControllerDetails) *AwsEcsServiceDetails {
 14270  	s.DeploymentController = v
 14271  	return s
 14272  }
 14273  
 14274  // SetDesiredCount sets the DesiredCount field's value.
 14275  func (s *AwsEcsServiceDetails) SetDesiredCount(v int64) *AwsEcsServiceDetails {
 14276  	s.DesiredCount = &v
 14277  	return s
 14278  }
 14279  
 14280  // SetEnableEcsManagedTags sets the EnableEcsManagedTags field's value.
 14281  func (s *AwsEcsServiceDetails) SetEnableEcsManagedTags(v bool) *AwsEcsServiceDetails {
 14282  	s.EnableEcsManagedTags = &v
 14283  	return s
 14284  }
 14285  
 14286  // SetEnableExecuteCommand sets the EnableExecuteCommand field's value.
 14287  func (s *AwsEcsServiceDetails) SetEnableExecuteCommand(v bool) *AwsEcsServiceDetails {
 14288  	s.EnableExecuteCommand = &v
 14289  	return s
 14290  }
 14291  
 14292  // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
 14293  func (s *AwsEcsServiceDetails) SetHealthCheckGracePeriodSeconds(v int64) *AwsEcsServiceDetails {
 14294  	s.HealthCheckGracePeriodSeconds = &v
 14295  	return s
 14296  }
 14297  
 14298  // SetLaunchType sets the LaunchType field's value.
 14299  func (s *AwsEcsServiceDetails) SetLaunchType(v string) *AwsEcsServiceDetails {
 14300  	s.LaunchType = &v
 14301  	return s
 14302  }
 14303  
 14304  // SetLoadBalancers sets the LoadBalancers field's value.
 14305  func (s *AwsEcsServiceDetails) SetLoadBalancers(v []*AwsEcsServiceLoadBalancersDetails) *AwsEcsServiceDetails {
 14306  	s.LoadBalancers = v
 14307  	return s
 14308  }
 14309  
 14310  // SetName sets the Name field's value.
 14311  func (s *AwsEcsServiceDetails) SetName(v string) *AwsEcsServiceDetails {
 14312  	s.Name = &v
 14313  	return s
 14314  }
 14315  
 14316  // SetNetworkConfiguration sets the NetworkConfiguration field's value.
 14317  func (s *AwsEcsServiceDetails) SetNetworkConfiguration(v *AwsEcsServiceNetworkConfigurationDetails) *AwsEcsServiceDetails {
 14318  	s.NetworkConfiguration = v
 14319  	return s
 14320  }
 14321  
 14322  // SetPlacementConstraints sets the PlacementConstraints field's value.
 14323  func (s *AwsEcsServiceDetails) SetPlacementConstraints(v []*AwsEcsServicePlacementConstraintsDetails) *AwsEcsServiceDetails {
 14324  	s.PlacementConstraints = v
 14325  	return s
 14326  }
 14327  
 14328  // SetPlacementStrategies sets the PlacementStrategies field's value.
 14329  func (s *AwsEcsServiceDetails) SetPlacementStrategies(v []*AwsEcsServicePlacementStrategiesDetails) *AwsEcsServiceDetails {
 14330  	s.PlacementStrategies = v
 14331  	return s
 14332  }
 14333  
 14334  // SetPlatformVersion sets the PlatformVersion field's value.
 14335  func (s *AwsEcsServiceDetails) SetPlatformVersion(v string) *AwsEcsServiceDetails {
 14336  	s.PlatformVersion = &v
 14337  	return s
 14338  }
 14339  
 14340  // SetPropagateTags sets the PropagateTags field's value.
 14341  func (s *AwsEcsServiceDetails) SetPropagateTags(v string) *AwsEcsServiceDetails {
 14342  	s.PropagateTags = &v
 14343  	return s
 14344  }
 14345  
 14346  // SetRole sets the Role field's value.
 14347  func (s *AwsEcsServiceDetails) SetRole(v string) *AwsEcsServiceDetails {
 14348  	s.Role = &v
 14349  	return s
 14350  }
 14351  
 14352  // SetSchedulingStrategy sets the SchedulingStrategy field's value.
 14353  func (s *AwsEcsServiceDetails) SetSchedulingStrategy(v string) *AwsEcsServiceDetails {
 14354  	s.SchedulingStrategy = &v
 14355  	return s
 14356  }
 14357  
 14358  // SetServiceArn sets the ServiceArn field's value.
 14359  func (s *AwsEcsServiceDetails) SetServiceArn(v string) *AwsEcsServiceDetails {
 14360  	s.ServiceArn = &v
 14361  	return s
 14362  }
 14363  
 14364  // SetServiceName sets the ServiceName field's value.
 14365  func (s *AwsEcsServiceDetails) SetServiceName(v string) *AwsEcsServiceDetails {
 14366  	s.ServiceName = &v
 14367  	return s
 14368  }
 14369  
 14370  // SetServiceRegistries sets the ServiceRegistries field's value.
 14371  func (s *AwsEcsServiceDetails) SetServiceRegistries(v []*AwsEcsServiceServiceRegistriesDetails) *AwsEcsServiceDetails {
 14372  	s.ServiceRegistries = v
 14373  	return s
 14374  }
 14375  
 14376  // SetTaskDefinition sets the TaskDefinition field's value.
 14377  func (s *AwsEcsServiceDetails) SetTaskDefinition(v string) *AwsEcsServiceDetails {
 14378  	s.TaskDefinition = &v
 14379  	return s
 14380  }
 14381  
 14382  // Information about a load balancer that the service uses.
 14383  type AwsEcsServiceLoadBalancersDetails struct {
 14384  	_ struct{} `type:"structure"`
 14385  
 14386  	// The name of the container to associate with the load balancer.
 14387  	ContainerName *string `type:"string"`
 14388  
 14389  	// The port on the container to associate with the load balancer. This port
 14390  	// must correspond to a containerPort in the task definition the tasks in the
 14391  	// service are using. For tasks that use the EC2 launch type, the container
 14392  	// instance they are launched on must allow ingress traffic on the hostPort
 14393  	// of the port mapping.
 14394  	ContainerPort *int64 `type:"integer"`
 14395  
 14396  	// The name of the load balancer to associate with the Amazon ECS service or
 14397  	// task set.
 14398  	//
 14399  	// Only specified when using a Classic Load Balancer. For an Application Load
 14400  	// Balancer or a Network Load Balancer, the load balancer name is omitted.
 14401  	LoadBalancerName *string `type:"string"`
 14402  
 14403  	// The ARN of the Elastic Load Balancing target group or groups associated with
 14404  	// a service or task set.
 14405  	//
 14406  	// Only specified when using an Application Load Balancer or a Network Load
 14407  	// Balancer. For a Classic Load Balancer, the target group ARN is omitted.
 14408  	TargetGroupArn *string `type:"string"`
 14409  }
 14410  
 14411  // String returns the string representation.
 14412  //
 14413  // API parameter values that are decorated as "sensitive" in the API will not
 14414  // be included in the string output. The member name will be present, but the
 14415  // value will be replaced with "sensitive".
 14416  func (s AwsEcsServiceLoadBalancersDetails) String() string {
 14417  	return awsutil.Prettify(s)
 14418  }
 14419  
 14420  // GoString returns the string representation.
 14421  //
 14422  // API parameter values that are decorated as "sensitive" in the API will not
 14423  // be included in the string output. The member name will be present, but the
 14424  // value will be replaced with "sensitive".
 14425  func (s AwsEcsServiceLoadBalancersDetails) GoString() string {
 14426  	return s.String()
 14427  }
 14428  
 14429  // SetContainerName sets the ContainerName field's value.
 14430  func (s *AwsEcsServiceLoadBalancersDetails) SetContainerName(v string) *AwsEcsServiceLoadBalancersDetails {
 14431  	s.ContainerName = &v
 14432  	return s
 14433  }
 14434  
 14435  // SetContainerPort sets the ContainerPort field's value.
 14436  func (s *AwsEcsServiceLoadBalancersDetails) SetContainerPort(v int64) *AwsEcsServiceLoadBalancersDetails {
 14437  	s.ContainerPort = &v
 14438  	return s
 14439  }
 14440  
 14441  // SetLoadBalancerName sets the LoadBalancerName field's value.
 14442  func (s *AwsEcsServiceLoadBalancersDetails) SetLoadBalancerName(v string) *AwsEcsServiceLoadBalancersDetails {
 14443  	s.LoadBalancerName = &v
 14444  	return s
 14445  }
 14446  
 14447  // SetTargetGroupArn sets the TargetGroupArn field's value.
 14448  func (s *AwsEcsServiceLoadBalancersDetails) SetTargetGroupArn(v string) *AwsEcsServiceLoadBalancersDetails {
 14449  	s.TargetGroupArn = &v
 14450  	return s
 14451  }
 14452  
 14453  // For tasks that use the awsvpc networking mode, the VPC subnet and security
 14454  // group configuration.
 14455  type AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails struct {
 14456  	_ struct{} `type:"structure"`
 14457  
 14458  	// Whether the task's elastic network interface receives a public IP address.
 14459  	// The default value is DISABLED.
 14460  	//
 14461  	// Valid values: ENABLED | DISABLED
 14462  	AssignPublicIp *string `type:"string"`
 14463  
 14464  	// The IDs of the security groups associated with the task or service.
 14465  	//
 14466  	// You can provide up to five security groups.
 14467  	SecurityGroups []*string `type:"list"`
 14468  
 14469  	// The IDs of the subnets associated with the task or service.
 14470  	//
 14471  	// You can provide up to 16 subnets.
 14472  	Subnets []*string `type:"list"`
 14473  }
 14474  
 14475  // String returns the string representation.
 14476  //
 14477  // API parameter values that are decorated as "sensitive" in the API will not
 14478  // be included in the string output. The member name will be present, but the
 14479  // value will be replaced with "sensitive".
 14480  func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) String() string {
 14481  	return awsutil.Prettify(s)
 14482  }
 14483  
 14484  // GoString returns the string representation.
 14485  //
 14486  // API parameter values that are decorated as "sensitive" in the API will not
 14487  // be included in the string output. The member name will be present, but the
 14488  // value will be replaced with "sensitive".
 14489  func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) GoString() string {
 14490  	return s.String()
 14491  }
 14492  
 14493  // SetAssignPublicIp sets the AssignPublicIp field's value.
 14494  func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetAssignPublicIp(v string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
 14495  	s.AssignPublicIp = &v
 14496  	return s
 14497  }
 14498  
 14499  // SetSecurityGroups sets the SecurityGroups field's value.
 14500  func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSecurityGroups(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
 14501  	s.SecurityGroups = v
 14502  	return s
 14503  }
 14504  
 14505  // SetSubnets sets the Subnets field's value.
 14506  func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSubnets(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
 14507  	s.Subnets = v
 14508  	return s
 14509  }
 14510  
 14511  // For tasks that use the awsvpc networking mode, the VPC subnet and security
 14512  // group configuration.
 14513  type AwsEcsServiceNetworkConfigurationDetails struct {
 14514  	_ struct{} `type:"structure"`
 14515  
 14516  	// The VPC subnet and security group configuration.
 14517  	AwsVpcConfiguration *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails `type:"structure"`
 14518  }
 14519  
 14520  // String returns the string representation.
 14521  //
 14522  // API parameter values that are decorated as "sensitive" in the API will not
 14523  // be included in the string output. The member name will be present, but the
 14524  // value will be replaced with "sensitive".
 14525  func (s AwsEcsServiceNetworkConfigurationDetails) String() string {
 14526  	return awsutil.Prettify(s)
 14527  }
 14528  
 14529  // GoString returns the string representation.
 14530  //
 14531  // API parameter values that are decorated as "sensitive" in the API will not
 14532  // be included in the string output. The member name will be present, but the
 14533  // value will be replaced with "sensitive".
 14534  func (s AwsEcsServiceNetworkConfigurationDetails) GoString() string {
 14535  	return s.String()
 14536  }
 14537  
 14538  // SetAwsVpcConfiguration sets the AwsVpcConfiguration field's value.
 14539  func (s *AwsEcsServiceNetworkConfigurationDetails) SetAwsVpcConfiguration(v *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) *AwsEcsServiceNetworkConfigurationDetails {
 14540  	s.AwsVpcConfiguration = v
 14541  	return s
 14542  }
 14543  
 14544  // A placement constraint for the tasks in the service.
 14545  type AwsEcsServicePlacementConstraintsDetails struct {
 14546  	_ struct{} `type:"structure"`
 14547  
 14548  	// A cluster query language expression to apply to the constraint. You cannot
 14549  	// specify an expression if the constraint type is distinctInstance.
 14550  	Expression *string `type:"string"`
 14551  
 14552  	// The type of constraint. Use distinctInstance to run each task in a particular
 14553  	// group on a different container instance. Use memberOf to restrict the selection
 14554  	// to a group of valid candidates.
 14555  	//
 14556  	// Valid values: distinctInstance | memberOf
 14557  	Type *string `type:"string"`
 14558  }
 14559  
 14560  // String returns the string representation.
 14561  //
 14562  // API parameter values that are decorated as "sensitive" in the API will not
 14563  // be included in the string output. The member name will be present, but the
 14564  // value will be replaced with "sensitive".
 14565  func (s AwsEcsServicePlacementConstraintsDetails) String() string {
 14566  	return awsutil.Prettify(s)
 14567  }
 14568  
 14569  // GoString returns the string representation.
 14570  //
 14571  // API parameter values that are decorated as "sensitive" in the API will not
 14572  // be included in the string output. The member name will be present, but the
 14573  // value will be replaced with "sensitive".
 14574  func (s AwsEcsServicePlacementConstraintsDetails) GoString() string {
 14575  	return s.String()
 14576  }
 14577  
 14578  // SetExpression sets the Expression field's value.
 14579  func (s *AwsEcsServicePlacementConstraintsDetails) SetExpression(v string) *AwsEcsServicePlacementConstraintsDetails {
 14580  	s.Expression = &v
 14581  	return s
 14582  }
 14583  
 14584  // SetType sets the Type field's value.
 14585  func (s *AwsEcsServicePlacementConstraintsDetails) SetType(v string) *AwsEcsServicePlacementConstraintsDetails {
 14586  	s.Type = &v
 14587  	return s
 14588  }
 14589  
 14590  // A placement strategy that determines how to place the tasks for the service.
 14591  type AwsEcsServicePlacementStrategiesDetails struct {
 14592  	_ struct{} `type:"structure"`
 14593  
 14594  	// The field to apply the placement strategy against.
 14595  	//
 14596  	// For the spread placement strategy, valid values are instanceId (or host,
 14597  	// which has the same effect), or any platform or custom attribute that is applied
 14598  	// to a container instance, such as attribute:ecs.availability-zone.
 14599  	//
 14600  	// For the binpack placement strategy, valid values are cpu and memory.
 14601  	//
 14602  	// For the random placement strategy, this attribute is not used.
 14603  	Field *string `type:"string"`
 14604  
 14605  	// The type of placement strategy.
 14606  	//
 14607  	// The random placement strategy randomly places tasks on available candidates.
 14608  	//
 14609  	// The spread placement strategy spreads placement across available candidates
 14610  	// evenly based on the value of Field.
 14611  	//
 14612  	// The binpack strategy places tasks on available candidates that have the least
 14613  	// available amount of the resource that is specified in Field.
 14614  	//
 14615  	// Valid values: random | spread | binpack
 14616  	Type *string `type:"string"`
 14617  }
 14618  
 14619  // String returns the string representation.
 14620  //
 14621  // API parameter values that are decorated as "sensitive" in the API will not
 14622  // be included in the string output. The member name will be present, but the
 14623  // value will be replaced with "sensitive".
 14624  func (s AwsEcsServicePlacementStrategiesDetails) String() string {
 14625  	return awsutil.Prettify(s)
 14626  }
 14627  
 14628  // GoString returns the string representation.
 14629  //
 14630  // API parameter values that are decorated as "sensitive" in the API will not
 14631  // be included in the string output. The member name will be present, but the
 14632  // value will be replaced with "sensitive".
 14633  func (s AwsEcsServicePlacementStrategiesDetails) GoString() string {
 14634  	return s.String()
 14635  }
 14636  
 14637  // SetField sets the Field field's value.
 14638  func (s *AwsEcsServicePlacementStrategiesDetails) SetField(v string) *AwsEcsServicePlacementStrategiesDetails {
 14639  	s.Field = &v
 14640  	return s
 14641  }
 14642  
 14643  // SetType sets the Type field's value.
 14644  func (s *AwsEcsServicePlacementStrategiesDetails) SetType(v string) *AwsEcsServicePlacementStrategiesDetails {
 14645  	s.Type = &v
 14646  	return s
 14647  }
 14648  
 14649  // Information about a service discovery registry to assign to the service.
 14650  type AwsEcsServiceServiceRegistriesDetails struct {
 14651  	_ struct{} `type:"structure"`
 14652  
 14653  	// The container name value to use for the service discovery service.
 14654  	//
 14655  	// If the task definition uses the bridge or host network mode, you must specify
 14656  	// ContainerName and ContainerPort.
 14657  	//
 14658  	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
 14659  	// you must specify either ContainerName and ContainerPort, or Port , but not
 14660  	// both.
 14661  	ContainerName *string `type:"string"`
 14662  
 14663  	// The port value to use for the service discovery service.
 14664  	//
 14665  	// If the task definition uses the bridge or host network mode, you must specify
 14666  	// ContainerName and ContainerPort.
 14667  	//
 14668  	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
 14669  	// you must specify either ContainerName and ContainerPort, or Port , but not
 14670  	// both.
 14671  	ContainerPort *int64 `type:"integer"`
 14672  
 14673  	// The port value to use for a service discovery service that specifies an SRV
 14674  	// record. This field can be used if both the awsvpcawsvpc network mode and
 14675  	// SRV records are used.
 14676  	Port *int64 `type:"integer"`
 14677  
 14678  	// The ARN of the service registry.
 14679  	RegistryArn *string `type:"string"`
 14680  }
 14681  
 14682  // String returns the string representation.
 14683  //
 14684  // API parameter values that are decorated as "sensitive" in the API will not
 14685  // be included in the string output. The member name will be present, but the
 14686  // value will be replaced with "sensitive".
 14687  func (s AwsEcsServiceServiceRegistriesDetails) String() string {
 14688  	return awsutil.Prettify(s)
 14689  }
 14690  
 14691  // GoString returns the string representation.
 14692  //
 14693  // API parameter values that are decorated as "sensitive" in the API will not
 14694  // be included in the string output. The member name will be present, but the
 14695  // value will be replaced with "sensitive".
 14696  func (s AwsEcsServiceServiceRegistriesDetails) GoString() string {
 14697  	return s.String()
 14698  }
 14699  
 14700  // SetContainerName sets the ContainerName field's value.
 14701  func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerName(v string) *AwsEcsServiceServiceRegistriesDetails {
 14702  	s.ContainerName = &v
 14703  	return s
 14704  }
 14705  
 14706  // SetContainerPort sets the ContainerPort field's value.
 14707  func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
 14708  	s.ContainerPort = &v
 14709  	return s
 14710  }
 14711  
 14712  // SetPort sets the Port field's value.
 14713  func (s *AwsEcsServiceServiceRegistriesDetails) SetPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
 14714  	s.Port = &v
 14715  	return s
 14716  }
 14717  
 14718  // SetRegistryArn sets the RegistryArn field's value.
 14719  func (s *AwsEcsServiceServiceRegistriesDetails) SetRegistryArn(v string) *AwsEcsServiceServiceRegistriesDetails {
 14720  	s.RegistryArn = &v
 14721  	return s
 14722  }
 14723  
 14724  // A dependency that is defined for container startup and shutdown.
 14725  type AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails struct {
 14726  	_ struct{} `type:"structure"`
 14727  
 14728  	// The dependency condition of the dependent container. Indicates the required
 14729  	// status of the dependent container before the current container can start.
 14730  	Condition *string `type:"string"`
 14731  
 14732  	// The name of the dependent container.
 14733  	ContainerName *string `type:"string"`
 14734  }
 14735  
 14736  // String returns the string representation.
 14737  //
 14738  // API parameter values that are decorated as "sensitive" in the API will not
 14739  // be included in the string output. The member name will be present, but the
 14740  // value will be replaced with "sensitive".
 14741  func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) String() string {
 14742  	return awsutil.Prettify(s)
 14743  }
 14744  
 14745  // GoString returns the string representation.
 14746  //
 14747  // API parameter values that are decorated as "sensitive" in the API will not
 14748  // be included in the string output. The member name will be present, but the
 14749  // value will be replaced with "sensitive".
 14750  func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) GoString() string {
 14751  	return s.String()
 14752  }
 14753  
 14754  // SetCondition sets the Condition field's value.
 14755  func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetCondition(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
 14756  	s.Condition = &v
 14757  	return s
 14758  }
 14759  
 14760  // SetContainerName sets the ContainerName field's value.
 14761  func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetContainerName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
 14762  	s.ContainerName = &v
 14763  	return s
 14764  }
 14765  
 14766  // A container definition that describes a container in the task.
 14767  type AwsEcsTaskDefinitionContainerDefinitionsDetails struct {
 14768  	_ struct{} `type:"structure"`
 14769  
 14770  	// The command that is passed to the container.
 14771  	Command []*string `type:"list"`
 14772  
 14773  	// The number of CPU units reserved for the container.
 14774  	Cpu *int64 `type:"integer"`
 14775  
 14776  	// The dependencies that are defined for container startup and shutdown.
 14777  	DependsOn []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails `type:"list"`
 14778  
 14779  	// Whether to disable networking within the container.
 14780  	DisableNetworking *bool `type:"boolean"`
 14781  
 14782  	// A list of DNS search domains that are presented to the container.
 14783  	DnsSearchDomains []*string `type:"list"`
 14784  
 14785  	// A list of DNS servers that are presented to the container.
 14786  	DnsServers []*string `type:"list"`
 14787  
 14788  	// A key-value map of labels to add to the container.
 14789  	DockerLabels map[string]*string `type:"map"`
 14790  
 14791  	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
 14792  	// security systems.
 14793  	DockerSecurityOptions []*string `type:"list"`
 14794  
 14795  	// The entry point that is passed to the container.
 14796  	EntryPoint []*string `type:"list"`
 14797  
 14798  	// The environment variables to pass to a container.
 14799  	Environment []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails `type:"list"`
 14800  
 14801  	// A list of files containing the environment variables to pass to a container.
 14802  	EnvironmentFiles []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails `type:"list"`
 14803  
 14804  	// Whether the container is essential. All tasks must have at least one essential
 14805  	// container.
 14806  	Essential *bool `type:"boolean"`
 14807  
 14808  	// A list of hostnames and IP address mappings to append to the /etc/hosts file
 14809  	// on the container.
 14810  	ExtraHosts []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails `type:"list"`
 14811  
 14812  	// The FireLens configuration for the container. Specifies and configures a
 14813  	// log router for container logs.
 14814  	FirelensConfiguration *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails `type:"structure"`
 14815  
 14816  	// The container health check command and associated configuration parameters
 14817  	// for the container.
 14818  	HealthCheck *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails `type:"structure"`
 14819  
 14820  	// The hostname to use for the container.
 14821  	Hostname *string `type:"string"`
 14822  
 14823  	// The image used to start the container.
 14824  	Image *string `type:"string"`
 14825  
 14826  	// If set to true, then containerized applications can be deployed that require
 14827  	// stdin or a tty to be allocated.
 14828  	Interactive *bool `type:"boolean"`
 14829  
 14830  	// A list of links for the container in the form container_name:alias . Allows
 14831  	// containers to communicate with each other without the need for port mappings.
 14832  	Links []*string `type:"list"`
 14833  
 14834  	// Linux-specific modifications that are applied to the container, such as Linux
 14835  	// kernel capabilities.
 14836  	LinuxParameters *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails `type:"structure"`
 14837  
 14838  	// The log configuration specification for the container.
 14839  	LogConfiguration *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails `type:"structure"`
 14840  
 14841  	// The amount (in MiB) of memory to present to the container. If the container
 14842  	// attempts to exceed the memory specified here, the container is shut down.
 14843  	// The total amount of memory reserved for all containers within a task must
 14844  	// be lower than the task memory value, if one is specified.
 14845  	Memory *int64 `type:"integer"`
 14846  
 14847  	// The soft limit (in MiB) of memory to reserve for the container.
 14848  	MemoryReservation *int64 `type:"integer"`
 14849  
 14850  	// The mount points for the data volumes in the container.
 14851  	MountPoints []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails `type:"list"`
 14852  
 14853  	// The name of the container.
 14854  	Name *string `type:"string"`
 14855  
 14856  	// The list of port mappings for the container.
 14857  	PortMappings []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails `type:"list"`
 14858  
 14859  	// Whether the container is given elevated privileges on the host container
 14860  	// instance. The elevated privileges are similar to the root user.
 14861  	Privileged *bool `type:"boolean"`
 14862  
 14863  	// Whether to allocate a TTY to the container.
 14864  	PseudoTerminal *bool `type:"boolean"`
 14865  
 14866  	// Whether the container is given read-only access to its root file system.
 14867  	ReadonlyRootFilesystem *bool `type:"boolean"`
 14868  
 14869  	// The private repository authentication credentials to use.
 14870  	RepositoryCredentials *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails `type:"structure"`
 14871  
 14872  	// The type and amount of a resource to assign to a container. The only supported
 14873  	// resource is a GPU.
 14874  	ResourceRequirements []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails `type:"list"`
 14875  
 14876  	// The secrets to pass to the container.
 14877  	Secrets []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails `type:"list"`
 14878  
 14879  	// The number of seconds to wait before giving up on resolving dependencies
 14880  	// for a container.
 14881  	StartTimeout *int64 `type:"integer"`
 14882  
 14883  	// The number of seconds to wait before the container is stopped if it doesn't
 14884  	// shut down normally on its own.
 14885  	StopTimeout *int64 `type:"integer"`
 14886  
 14887  	// A list of namespaced kernel parameters to set in the container.
 14888  	SystemControls []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails `type:"list"`
 14889  
 14890  	// A list of ulimits to set in the container.
 14891  	Ulimits []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails `type:"list"`
 14892  
 14893  	// The user to use inside the container.
 14894  	//
 14895  	// The value can use one of the following formats.
 14896  	//
 14897  	//    * user
 14898  	//
 14899  	//    * user :group
 14900  	//
 14901  	//    * uid
 14902  	//
 14903  	//    * uid :gid
 14904  	//
 14905  	//    * user :gid
 14906  	//
 14907  	//    * uid :group
 14908  	User *string `type:"string"`
 14909  
 14910  	// Data volumes to mount from another container.
 14911  	VolumesFrom []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails `type:"list"`
 14912  
 14913  	// The working directory in which to run commands inside the container.
 14914  	WorkingDirectory *string `type:"string"`
 14915  }
 14916  
 14917  // String returns the string representation.
 14918  //
 14919  // API parameter values that are decorated as "sensitive" in the API will not
 14920  // be included in the string output. The member name will be present, but the
 14921  // value will be replaced with "sensitive".
 14922  func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) String() string {
 14923  	return awsutil.Prettify(s)
 14924  }
 14925  
 14926  // GoString returns the string representation.
 14927  //
 14928  // API parameter values that are decorated as "sensitive" in the API will not
 14929  // be included in the string output. The member name will be present, but the
 14930  // value will be replaced with "sensitive".
 14931  func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) GoString() string {
 14932  	return s.String()
 14933  }
 14934  
 14935  // SetCommand sets the Command field's value.
 14936  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14937  	s.Command = v
 14938  	return s
 14939  }
 14940  
 14941  // SetCpu sets the Cpu field's value.
 14942  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCpu(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14943  	s.Cpu = &v
 14944  	return s
 14945  }
 14946  
 14947  // SetDependsOn sets the DependsOn field's value.
 14948  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDependsOn(v []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14949  	s.DependsOn = v
 14950  	return s
 14951  }
 14952  
 14953  // SetDisableNetworking sets the DisableNetworking field's value.
 14954  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDisableNetworking(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14955  	s.DisableNetworking = &v
 14956  	return s
 14957  }
 14958  
 14959  // SetDnsSearchDomains sets the DnsSearchDomains field's value.
 14960  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsSearchDomains(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14961  	s.DnsSearchDomains = v
 14962  	return s
 14963  }
 14964  
 14965  // SetDnsServers sets the DnsServers field's value.
 14966  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsServers(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14967  	s.DnsServers = v
 14968  	return s
 14969  }
 14970  
 14971  // SetDockerLabels sets the DockerLabels field's value.
 14972  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerLabels(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14973  	s.DockerLabels = v
 14974  	return s
 14975  }
 14976  
 14977  // SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
 14978  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerSecurityOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14979  	s.DockerSecurityOptions = v
 14980  	return s
 14981  }
 14982  
 14983  // SetEntryPoint sets the EntryPoint field's value.
 14984  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEntryPoint(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14985  	s.EntryPoint = v
 14986  	return s
 14987  }
 14988  
 14989  // SetEnvironment sets the Environment field's value.
 14990  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironment(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14991  	s.Environment = v
 14992  	return s
 14993  }
 14994  
 14995  // SetEnvironmentFiles sets the EnvironmentFiles field's value.
 14996  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironmentFiles(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 14997  	s.EnvironmentFiles = v
 14998  	return s
 14999  }
 15000  
 15001  // SetEssential sets the Essential field's value.
 15002  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEssential(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15003  	s.Essential = &v
 15004  	return s
 15005  }
 15006  
 15007  // SetExtraHosts sets the ExtraHosts field's value.
 15008  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetExtraHosts(v []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15009  	s.ExtraHosts = v
 15010  	return s
 15011  }
 15012  
 15013  // SetFirelensConfiguration sets the FirelensConfiguration field's value.
 15014  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetFirelensConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15015  	s.FirelensConfiguration = v
 15016  	return s
 15017  }
 15018  
 15019  // SetHealthCheck sets the HealthCheck field's value.
 15020  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHealthCheck(v *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15021  	s.HealthCheck = v
 15022  	return s
 15023  }
 15024  
 15025  // SetHostname sets the Hostname field's value.
 15026  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15027  	s.Hostname = &v
 15028  	return s
 15029  }
 15030  
 15031  // SetImage sets the Image field's value.
 15032  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetImage(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15033  	s.Image = &v
 15034  	return s
 15035  }
 15036  
 15037  // SetInteractive sets the Interactive field's value.
 15038  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetInteractive(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15039  	s.Interactive = &v
 15040  	return s
 15041  }
 15042  
 15043  // SetLinks sets the Links field's value.
 15044  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinks(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15045  	s.Links = v
 15046  	return s
 15047  }
 15048  
 15049  // SetLinuxParameters sets the LinuxParameters field's value.
 15050  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinuxParameters(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15051  	s.LinuxParameters = v
 15052  	return s
 15053  }
 15054  
 15055  // SetLogConfiguration sets the LogConfiguration field's value.
 15056  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLogConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15057  	s.LogConfiguration = v
 15058  	return s
 15059  }
 15060  
 15061  // SetMemory sets the Memory field's value.
 15062  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemory(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15063  	s.Memory = &v
 15064  	return s
 15065  }
 15066  
 15067  // SetMemoryReservation sets the MemoryReservation field's value.
 15068  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemoryReservation(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15069  	s.MemoryReservation = &v
 15070  	return s
 15071  }
 15072  
 15073  // SetMountPoints sets the MountPoints field's value.
 15074  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMountPoints(v []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15075  	s.MountPoints = v
 15076  	return s
 15077  }
 15078  
 15079  // SetName sets the Name field's value.
 15080  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15081  	s.Name = &v
 15082  	return s
 15083  }
 15084  
 15085  // SetPortMappings sets the PortMappings field's value.
 15086  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPortMappings(v []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15087  	s.PortMappings = v
 15088  	return s
 15089  }
 15090  
 15091  // SetPrivileged sets the Privileged field's value.
 15092  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPrivileged(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15093  	s.Privileged = &v
 15094  	return s
 15095  }
 15096  
 15097  // SetPseudoTerminal sets the PseudoTerminal field's value.
 15098  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPseudoTerminal(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15099  	s.PseudoTerminal = &v
 15100  	return s
 15101  }
 15102  
 15103  // SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
 15104  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetReadonlyRootFilesystem(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15105  	s.ReadonlyRootFilesystem = &v
 15106  	return s
 15107  }
 15108  
 15109  // SetRepositoryCredentials sets the RepositoryCredentials field's value.
 15110  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetRepositoryCredentials(v *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15111  	s.RepositoryCredentials = v
 15112  	return s
 15113  }
 15114  
 15115  // SetResourceRequirements sets the ResourceRequirements field's value.
 15116  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetResourceRequirements(v []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15117  	s.ResourceRequirements = v
 15118  	return s
 15119  }
 15120  
 15121  // SetSecrets sets the Secrets field's value.
 15122  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSecrets(v []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15123  	s.Secrets = v
 15124  	return s
 15125  }
 15126  
 15127  // SetStartTimeout sets the StartTimeout field's value.
 15128  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStartTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15129  	s.StartTimeout = &v
 15130  	return s
 15131  }
 15132  
 15133  // SetStopTimeout sets the StopTimeout field's value.
 15134  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStopTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15135  	s.StopTimeout = &v
 15136  	return s
 15137  }
 15138  
 15139  // SetSystemControls sets the SystemControls field's value.
 15140  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSystemControls(v []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15141  	s.SystemControls = v
 15142  	return s
 15143  }
 15144  
 15145  // SetUlimits sets the Ulimits field's value.
 15146  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUlimits(v []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15147  	s.Ulimits = v
 15148  	return s
 15149  }
 15150  
 15151  // SetUser sets the User field's value.
 15152  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUser(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15153  	s.User = &v
 15154  	return s
 15155  }
 15156  
 15157  // SetVolumesFrom sets the VolumesFrom field's value.
 15158  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetVolumesFrom(v []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15159  	s.VolumesFrom = v
 15160  	return s
 15161  }
 15162  
 15163  // SetWorkingDirectory sets the WorkingDirectory field's value.
 15164  func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetWorkingDirectory(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
 15165  	s.WorkingDirectory = &v
 15166  	return s
 15167  }
 15168  
 15169  // An environment variable to pass to the container.
 15170  type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails struct {
 15171  	_ struct{} `type:"structure"`
 15172  
 15173  	// The name of the environment variable.
 15174  	Name *string `type:"string"`
 15175  
 15176  	// The value of the environment variable.
 15177  	Value *string `type:"string"`
 15178  }
 15179  
 15180  // String returns the string representation.
 15181  //
 15182  // API parameter values that are decorated as "sensitive" in the API will not
 15183  // be included in the string output. The member name will be present, but the
 15184  // value will be replaced with "sensitive".
 15185  func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) String() string {
 15186  	return awsutil.Prettify(s)
 15187  }
 15188  
 15189  // GoString returns the string representation.
 15190  //
 15191  // API parameter values that are decorated as "sensitive" in the API will not
 15192  // be included in the string output. The member name will be present, but the
 15193  // value will be replaced with "sensitive".
 15194  func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) GoString() string {
 15195  	return s.String()
 15196  }
 15197  
 15198  // SetName sets the Name field's value.
 15199  func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
 15200  	s.Name = &v
 15201  	return s
 15202  }
 15203  
 15204  // SetValue sets the Value field's value.
 15205  func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
 15206  	s.Value = &v
 15207  	return s
 15208  }
 15209  
 15210  // A file that contain environment variables to pass to a container.
 15211  type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails struct {
 15212  	_ struct{} `type:"structure"`
 15213  
 15214  	// The type of environment file.
 15215  	Type *string `type:"string"`
 15216  
 15217  	// The ARN of the S3 object that contains the environment variable file.
 15218  	Value *string `type:"string"`
 15219  }
 15220  
 15221  // String returns the string representation.
 15222  //
 15223  // API parameter values that are decorated as "sensitive" in the API will not
 15224  // be included in the string output. The member name will be present, but the
 15225  // value will be replaced with "sensitive".
 15226  func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) String() string {
 15227  	return awsutil.Prettify(s)
 15228  }
 15229  
 15230  // GoString returns the string representation.
 15231  //
 15232  // API parameter values that are decorated as "sensitive" in the API will not
 15233  // be included in the string output. The member name will be present, but the
 15234  // value will be replaced with "sensitive".
 15235  func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) GoString() string {
 15236  	return s.String()
 15237  }
 15238  
 15239  // SetType sets the Type field's value.
 15240  func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
 15241  	s.Type = &v
 15242  	return s
 15243  }
 15244  
 15245  // SetValue sets the Value field's value.
 15246  func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
 15247  	s.Value = &v
 15248  	return s
 15249  }
 15250  
 15251  // A hostname and IP address mapping to append to the /etc/hosts file on the
 15252  // container.
 15253  type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails struct {
 15254  	_ struct{} `type:"structure"`
 15255  
 15256  	// The hostname to use in the /etc/hosts entry.
 15257  	Hostname *string `type:"string"`
 15258  
 15259  	// The IP address to use in the /etc/hosts entry.
 15260  	IpAddress *string `type:"string"`
 15261  }
 15262  
 15263  // String returns the string representation.
 15264  //
 15265  // API parameter values that are decorated as "sensitive" in the API will not
 15266  // be included in the string output. The member name will be present, but the
 15267  // value will be replaced with "sensitive".
 15268  func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) String() string {
 15269  	return awsutil.Prettify(s)
 15270  }
 15271  
 15272  // GoString returns the string representation.
 15273  //
 15274  // API parameter values that are decorated as "sensitive" in the API will not
 15275  // be included in the string output. The member name will be present, but the
 15276  // value will be replaced with "sensitive".
 15277  func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) GoString() string {
 15278  	return s.String()
 15279  }
 15280  
 15281  // SetHostname sets the Hostname field's value.
 15282  func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
 15283  	s.Hostname = &v
 15284  	return s
 15285  }
 15286  
 15287  // SetIpAddress sets the IpAddress field's value.
 15288  func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetIpAddress(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
 15289  	s.IpAddress = &v
 15290  	return s
 15291  }
 15292  
 15293  // The FireLens configuration for the container. The configuration specifies
 15294  // and configures a log router for container logs.
 15295  type AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails struct {
 15296  	_ struct{} `type:"structure"`
 15297  
 15298  	// The options to use to configure the log router.
 15299  	//
 15300  	// The valid option keys are as follows:
 15301  	//
 15302  	//    * enable-ecs-log-metadata. The value can be true or false.
 15303  	//
 15304  	//    * config-file-type. The value can be s3 or file.
 15305  	//
 15306  	//    * config-file-value. The value is either an S3 ARN or a file path.
 15307  	Options map[string]*string `type:"map"`
 15308  
 15309  	// The log router to use.
 15310  	Type *string `type:"string"`
 15311  }
 15312  
 15313  // String returns the string representation.
 15314  //
 15315  // API parameter values that are decorated as "sensitive" in the API will not
 15316  // be included in the string output. The member name will be present, but the
 15317  // value will be replaced with "sensitive".
 15318  func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) String() string {
 15319  	return awsutil.Prettify(s)
 15320  }
 15321  
 15322  // GoString returns the string representation.
 15323  //
 15324  // API parameter values that are decorated as "sensitive" in the API will not
 15325  // be included in the string output. The member name will be present, but the
 15326  // value will be replaced with "sensitive".
 15327  func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) GoString() string {
 15328  	return s.String()
 15329  }
 15330  
 15331  // SetOptions sets the Options field's value.
 15332  func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
 15333  	s.Options = v
 15334  	return s
 15335  }
 15336  
 15337  // SetType sets the Type field's value.
 15338  func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
 15339  	s.Type = &v
 15340  	return s
 15341  }
 15342  
 15343  // The container health check command and associated configuration parameters
 15344  // for the container.
 15345  type AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails struct {
 15346  	_ struct{} `type:"structure"`
 15347  
 15348  	// The command that the container runs to determine whether it is healthy.
 15349  	Command []*string `type:"list"`
 15350  
 15351  	// The time period in seconds between each health check execution. The default
 15352  	// value is 30 seconds.
 15353  	Interval *int64 `type:"integer"`
 15354  
 15355  	// The number of times to retry a failed health check before the container is
 15356  	// considered unhealthy. The default value is 3.
 15357  	Retries *int64 `type:"integer"`
 15358  
 15359  	// The optional grace period in seconds that allows containers time to bootstrap
 15360  	// before failed health checks count towards the maximum number of retries.
 15361  	StartPeriod *int64 `type:"integer"`
 15362  
 15363  	// The time period in seconds to wait for a health check to succeed before it
 15364  	// is considered a failure. The default value is 5.
 15365  	Timeout *int64 `type:"integer"`
 15366  }
 15367  
 15368  // String returns the string representation.
 15369  //
 15370  // API parameter values that are decorated as "sensitive" in the API will not
 15371  // be included in the string output. The member name will be present, but the
 15372  // value will be replaced with "sensitive".
 15373  func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) String() string {
 15374  	return awsutil.Prettify(s)
 15375  }
 15376  
 15377  // GoString returns the string representation.
 15378  //
 15379  // API parameter values that are decorated as "sensitive" in the API will not
 15380  // be included in the string output. The member name will be present, but the
 15381  // value will be replaced with "sensitive".
 15382  func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) GoString() string {
 15383  	return s.String()
 15384  }
 15385  
 15386  // SetCommand sets the Command field's value.
 15387  func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
 15388  	s.Command = v
 15389  	return s
 15390  }
 15391  
 15392  // SetInterval sets the Interval field's value.
 15393  func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetInterval(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
 15394  	s.Interval = &v
 15395  	return s
 15396  }
 15397  
 15398  // SetRetries sets the Retries field's value.
 15399  func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetRetries(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
 15400  	s.Retries = &v
 15401  	return s
 15402  }
 15403  
 15404  // SetStartPeriod sets the StartPeriod field's value.
 15405  func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetStartPeriod(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
 15406  	s.StartPeriod = &v
 15407  	return s
 15408  }
 15409  
 15410  // SetTimeout sets the Timeout field's value.
 15411  func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
 15412  	s.Timeout = &v
 15413  	return s
 15414  }
 15415  
 15416  // The Linux capabilities for the container that are added to or dropped from
 15417  // the default configuration provided by Docker.
 15418  type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails struct {
 15419  	_ struct{} `type:"structure"`
 15420  
 15421  	// The Linux capabilities for the container that are added to the default configuration
 15422  	// provided by Docker.
 15423  	Add []*string `type:"list"`
 15424  
 15425  	// The Linux capabilities for the container that are dropped from the default
 15426  	// configuration provided by Docker.
 15427  	Drop []*string `type:"list"`
 15428  }
 15429  
 15430  // String returns the string representation.
 15431  //
 15432  // API parameter values that are decorated as "sensitive" in the API will not
 15433  // be included in the string output. The member name will be present, but the
 15434  // value will be replaced with "sensitive".
 15435  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) String() string {
 15436  	return awsutil.Prettify(s)
 15437  }
 15438  
 15439  // GoString returns the string representation.
 15440  //
 15441  // API parameter values that are decorated as "sensitive" in the API will not
 15442  // be included in the string output. The member name will be present, but the
 15443  // value will be replaced with "sensitive".
 15444  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) GoString() string {
 15445  	return s.String()
 15446  }
 15447  
 15448  // SetAdd sets the Add field's value.
 15449  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetAdd(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
 15450  	s.Add = v
 15451  	return s
 15452  }
 15453  
 15454  // SetDrop sets the Drop field's value.
 15455  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetDrop(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
 15456  	s.Drop = v
 15457  	return s
 15458  }
 15459  
 15460  // >Linux-specific modifications that are applied to the container, such as
 15461  // Linux kernel capabilities.
 15462  type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails struct {
 15463  	_ struct{} `type:"structure"`
 15464  
 15465  	// The Linux capabilities for the container that are added to or dropped from
 15466  	// the default configuration provided by Docker.
 15467  	Capabilities *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails `type:"structure"`
 15468  
 15469  	// The host devices to expose to the container.
 15470  	Devices []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails `type:"list"`
 15471  
 15472  	// Whether to run an init process inside the container that forwards signals
 15473  	// and reaps processes.
 15474  	InitProcessEnabled *bool `type:"boolean"`
 15475  
 15476  	// The total amount of swap memory (in MiB) that a container can use.
 15477  	MaxSwap *int64 `type:"integer"`
 15478  
 15479  	// The value for the size (in MiB) of the /dev/shm volume.
 15480  	SharedMemorySize *int64 `type:"integer"`
 15481  
 15482  	// Configures the container's memory swappiness behavior. Determines how aggressively
 15483  	// pages are swapped. The higher the value, the more aggressive the swappiness.
 15484  	// The default is 60.
 15485  	Swappiness *int64 `type:"integer"`
 15486  
 15487  	// The container path, mount options, and size (in MiB) of the tmpfs mount.
 15488  	Tmpfs []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails `type:"list"`
 15489  }
 15490  
 15491  // String returns the string representation.
 15492  //
 15493  // API parameter values that are decorated as "sensitive" in the API will not
 15494  // be included in the string output. The member name will be present, but the
 15495  // value will be replaced with "sensitive".
 15496  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) String() string {
 15497  	return awsutil.Prettify(s)
 15498  }
 15499  
 15500  // GoString returns the string representation.
 15501  //
 15502  // API parameter values that are decorated as "sensitive" in the API will not
 15503  // be included in the string output. The member name will be present, but the
 15504  // value will be replaced with "sensitive".
 15505  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) GoString() string {
 15506  	return s.String()
 15507  }
 15508  
 15509  // SetCapabilities sets the Capabilities field's value.
 15510  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetCapabilities(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15511  	s.Capabilities = v
 15512  	return s
 15513  }
 15514  
 15515  // SetDevices sets the Devices field's value.
 15516  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetDevices(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15517  	s.Devices = v
 15518  	return s
 15519  }
 15520  
 15521  // SetInitProcessEnabled sets the InitProcessEnabled field's value.
 15522  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetInitProcessEnabled(v bool) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15523  	s.InitProcessEnabled = &v
 15524  	return s
 15525  }
 15526  
 15527  // SetMaxSwap sets the MaxSwap field's value.
 15528  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetMaxSwap(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15529  	s.MaxSwap = &v
 15530  	return s
 15531  }
 15532  
 15533  // SetSharedMemorySize sets the SharedMemorySize field's value.
 15534  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSharedMemorySize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15535  	s.SharedMemorySize = &v
 15536  	return s
 15537  }
 15538  
 15539  // SetSwappiness sets the Swappiness field's value.
 15540  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSwappiness(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15541  	s.Swappiness = &v
 15542  	return s
 15543  }
 15544  
 15545  // SetTmpfs sets the Tmpfs field's value.
 15546  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetTmpfs(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
 15547  	s.Tmpfs = v
 15548  	return s
 15549  }
 15550  
 15551  // A host device to expose to the container.
 15552  type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails struct {
 15553  	_ struct{} `type:"structure"`
 15554  
 15555  	// The path inside the container at which to expose the host device.
 15556  	ContainerPath *string `type:"string"`
 15557  
 15558  	// The path for the device on the host container instance.
 15559  	HostPath *string `type:"string"`
 15560  
 15561  	// The explicit permissions to provide to the container for the device. By default,
 15562  	// the container has permissions for read, write, and mknod for the device.
 15563  	Permissions []*string `type:"list"`
 15564  }
 15565  
 15566  // String returns the string representation.
 15567  //
 15568  // API parameter values that are decorated as "sensitive" in the API will not
 15569  // be included in the string output. The member name will be present, but the
 15570  // value will be replaced with "sensitive".
 15571  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) String() string {
 15572  	return awsutil.Prettify(s)
 15573  }
 15574  
 15575  // GoString returns the string representation.
 15576  //
 15577  // API parameter values that are decorated as "sensitive" in the API will not
 15578  // be included in the string output. The member name will be present, but the
 15579  // value will be replaced with "sensitive".
 15580  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) GoString() string {
 15581  	return s.String()
 15582  }
 15583  
 15584  // SetContainerPath sets the ContainerPath field's value.
 15585  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
 15586  	s.ContainerPath = &v
 15587  	return s
 15588  }
 15589  
 15590  // SetHostPath sets the HostPath field's value.
 15591  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetHostPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
 15592  	s.HostPath = &v
 15593  	return s
 15594  }
 15595  
 15596  // SetPermissions sets the Permissions field's value.
 15597  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetPermissions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
 15598  	s.Permissions = v
 15599  	return s
 15600  }
 15601  
 15602  // The container path, mount options, and size (in MiB) of a tmpfs mount.
 15603  type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails struct {
 15604  	_ struct{} `type:"structure"`
 15605  
 15606  	// The absolute file path where the tmpfs volume is to be mounted.
 15607  	ContainerPath *string `type:"string"`
 15608  
 15609  	// The list of tmpfs volume mount options.
 15610  	MountOptions []*string `type:"list"`
 15611  
 15612  	// The maximum size (in MiB) of the tmpfs volume.
 15613  	Size *int64 `type:"integer"`
 15614  }
 15615  
 15616  // String returns the string representation.
 15617  //
 15618  // API parameter values that are decorated as "sensitive" in the API will not
 15619  // be included in the string output. The member name will be present, but the
 15620  // value will be replaced with "sensitive".
 15621  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) String() string {
 15622  	return awsutil.Prettify(s)
 15623  }
 15624  
 15625  // GoString returns the string representation.
 15626  //
 15627  // API parameter values that are decorated as "sensitive" in the API will not
 15628  // be included in the string output. The member name will be present, but the
 15629  // value will be replaced with "sensitive".
 15630  func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) GoString() string {
 15631  	return s.String()
 15632  }
 15633  
 15634  // SetContainerPath sets the ContainerPath field's value.
 15635  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
 15636  	s.ContainerPath = &v
 15637  	return s
 15638  }
 15639  
 15640  // SetMountOptions sets the MountOptions field's value.
 15641  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetMountOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
 15642  	s.MountOptions = v
 15643  	return s
 15644  }
 15645  
 15646  // SetSize sets the Size field's value.
 15647  func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetSize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
 15648  	s.Size = &v
 15649  	return s
 15650  }
 15651  
 15652  // The log configuration specification for the container.
 15653  type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails struct {
 15654  	_ struct{} `type:"structure"`
 15655  
 15656  	// The log driver to use for the container.
 15657  	LogDriver *string `type:"string"`
 15658  
 15659  	// The configuration options to send to the log driver. Requires version 1.19
 15660  	// of the Docker Remote API or greater on your container instance.
 15661  	Options map[string]*string `type:"map"`
 15662  
 15663  	// The secrets to pass to the log configuration.
 15664  	SecretOptions []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails `type:"list"`
 15665  }
 15666  
 15667  // String returns the string representation.
 15668  //
 15669  // API parameter values that are decorated as "sensitive" in the API will not
 15670  // be included in the string output. The member name will be present, but the
 15671  // value will be replaced with "sensitive".
 15672  func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) String() string {
 15673  	return awsutil.Prettify(s)
 15674  }
 15675  
 15676  // GoString returns the string representation.
 15677  //
 15678  // API parameter values that are decorated as "sensitive" in the API will not
 15679  // be included in the string output. The member name will be present, but the
 15680  // value will be replaced with "sensitive".
 15681  func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) GoString() string {
 15682  	return s.String()
 15683  }
 15684  
 15685  // SetLogDriver sets the LogDriver field's value.
 15686  func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetLogDriver(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
 15687  	s.LogDriver = &v
 15688  	return s
 15689  }
 15690  
 15691  // SetOptions sets the Options field's value.
 15692  func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
 15693  	s.Options = v
 15694  	return s
 15695  }
 15696  
 15697  // SetSecretOptions sets the SecretOptions field's value.
 15698  func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetSecretOptions(v []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
 15699  	s.SecretOptions = v
 15700  	return s
 15701  }
 15702  
 15703  // A secret to pass to the log configuration.
 15704  type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails struct {
 15705  	_ struct{} `type:"structure"`
 15706  
 15707  	// The name of the secret.
 15708  	Name *string `type:"string"`
 15709  
 15710  	// The secret to expose to the container.
 15711  	//
 15712  	// The value is either the full ARN of the Secrets Manager secret or the full
 15713  	// ARN of the parameter in the Systems Manager Parameter Store.
 15714  	ValueFrom *string `type:"string"`
 15715  }
 15716  
 15717  // String returns the string representation.
 15718  //
 15719  // API parameter values that are decorated as "sensitive" in the API will not
 15720  // be included in the string output. The member name will be present, but the
 15721  // value will be replaced with "sensitive".
 15722  func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) String() string {
 15723  	return awsutil.Prettify(s)
 15724  }
 15725  
 15726  // GoString returns the string representation.
 15727  //
 15728  // API parameter values that are decorated as "sensitive" in the API will not
 15729  // be included in the string output. The member name will be present, but the
 15730  // value will be replaced with "sensitive".
 15731  func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) GoString() string {
 15732  	return s.String()
 15733  }
 15734  
 15735  // SetName sets the Name field's value.
 15736  func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
 15737  	s.Name = &v
 15738  	return s
 15739  }
 15740  
 15741  // SetValueFrom sets the ValueFrom field's value.
 15742  func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
 15743  	s.ValueFrom = &v
 15744  	return s
 15745  }
 15746  
 15747  // A mount point for the data volumes in the container.
 15748  type AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails struct {
 15749  	_ struct{} `type:"structure"`
 15750  
 15751  	// The path on the container to mount the host volume at.
 15752  	ContainerPath *string `type:"string"`
 15753  
 15754  	// Whether the container has read-only access to the volume.
 15755  	ReadOnly *bool `type:"boolean"`
 15756  
 15757  	// The name of the volume to mount. Must match the name of a volume listed in
 15758  	// VolumeDetails for the task definition.
 15759  	SourceVolume *string `type:"string"`
 15760  }
 15761  
 15762  // String returns the string representation.
 15763  //
 15764  // API parameter values that are decorated as "sensitive" in the API will not
 15765  // be included in the string output. The member name will be present, but the
 15766  // value will be replaced with "sensitive".
 15767  func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) String() string {
 15768  	return awsutil.Prettify(s)
 15769  }
 15770  
 15771  // GoString returns the string representation.
 15772  //
 15773  // API parameter values that are decorated as "sensitive" in the API will not
 15774  // be included in the string output. The member name will be present, but the
 15775  // value will be replaced with "sensitive".
 15776  func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) GoString() string {
 15777  	return s.String()
 15778  }
 15779  
 15780  // SetContainerPath sets the ContainerPath field's value.
 15781  func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
 15782  	s.ContainerPath = &v
 15783  	return s
 15784  }
 15785  
 15786  // SetReadOnly sets the ReadOnly field's value.
 15787  func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
 15788  	s.ReadOnly = &v
 15789  	return s
 15790  }
 15791  
 15792  // SetSourceVolume sets the SourceVolume field's value.
 15793  func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetSourceVolume(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
 15794  	s.SourceVolume = &v
 15795  	return s
 15796  }
 15797  
 15798  // A port mapping for the container.
 15799  type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails struct {
 15800  	_ struct{} `type:"structure"`
 15801  
 15802  	// The port number on the container that is bound to the user-specified or automatically
 15803  	// assigned host port.
 15804  	ContainerPort *int64 `type:"integer"`
 15805  
 15806  	// The port number on the container instance to reserve for the container.
 15807  	HostPort *int64 `type:"integer"`
 15808  
 15809  	// The protocol used for the port mapping. The default is tcp.
 15810  	Protocol *string `type:"string"`
 15811  }
 15812  
 15813  // String returns the string representation.
 15814  //
 15815  // API parameter values that are decorated as "sensitive" in the API will not
 15816  // be included in the string output. The member name will be present, but the
 15817  // value will be replaced with "sensitive".
 15818  func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) String() string {
 15819  	return awsutil.Prettify(s)
 15820  }
 15821  
 15822  // GoString returns the string representation.
 15823  //
 15824  // API parameter values that are decorated as "sensitive" in the API will not
 15825  // be included in the string output. The member name will be present, but the
 15826  // value will be replaced with "sensitive".
 15827  func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) GoString() string {
 15828  	return s.String()
 15829  }
 15830  
 15831  // SetContainerPort sets the ContainerPort field's value.
 15832  func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetContainerPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
 15833  	s.ContainerPort = &v
 15834  	return s
 15835  }
 15836  
 15837  // SetHostPort sets the HostPort field's value.
 15838  func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetHostPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
 15839  	s.HostPort = &v
 15840  	return s
 15841  }
 15842  
 15843  // SetProtocol sets the Protocol field's value.
 15844  func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetProtocol(v string) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
 15845  	s.Protocol = &v
 15846  	return s
 15847  }
 15848  
 15849  // The private repository authentication credentials to use.
 15850  type AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails struct {
 15851  	_ struct{} `type:"structure"`
 15852  
 15853  	// The ARN of the secret that contains the private repository credentials.
 15854  	CredentialsParameter *string `type:"string"`
 15855  }
 15856  
 15857  // String returns the string representation.
 15858  //
 15859  // API parameter values that are decorated as "sensitive" in the API will not
 15860  // be included in the string output. The member name will be present, but the
 15861  // value will be replaced with "sensitive".
 15862  func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) String() string {
 15863  	return awsutil.Prettify(s)
 15864  }
 15865  
 15866  // GoString returns the string representation.
 15867  //
 15868  // API parameter values that are decorated as "sensitive" in the API will not
 15869  // be included in the string output. The member name will be present, but the
 15870  // value will be replaced with "sensitive".
 15871  func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) GoString() string {
 15872  	return s.String()
 15873  }
 15874  
 15875  // SetCredentialsParameter sets the CredentialsParameter field's value.
 15876  func (s *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) SetCredentialsParameter(v string) *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
 15877  	s.CredentialsParameter = &v
 15878  	return s
 15879  }
 15880  
 15881  // A resource to assign to a container.
 15882  type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails struct {
 15883  	_ struct{} `type:"structure"`
 15884  
 15885  	// The type of resource to assign to a container.
 15886  	Type *string `type:"string"`
 15887  
 15888  	// The value for the specified resource type.
 15889  	//
 15890  	// For GPU, the value is the number of physical GPUs the Amazon ECS container
 15891  	// agent reserves for the container.
 15892  	//
 15893  	// For InferenceAccelerator, the value should match the DeviceName attribute
 15894  	// of an entry in InferenceAccelerators.
 15895  	Value *string `type:"string"`
 15896  }
 15897  
 15898  // String returns the string representation.
 15899  //
 15900  // API parameter values that are decorated as "sensitive" in the API will not
 15901  // be included in the string output. The member name will be present, but the
 15902  // value will be replaced with "sensitive".
 15903  func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) String() string {
 15904  	return awsutil.Prettify(s)
 15905  }
 15906  
 15907  // GoString returns the string representation.
 15908  //
 15909  // API parameter values that are decorated as "sensitive" in the API will not
 15910  // be included in the string output. The member name will be present, but the
 15911  // value will be replaced with "sensitive".
 15912  func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) GoString() string {
 15913  	return s.String()
 15914  }
 15915  
 15916  // SetType sets the Type field's value.
 15917  func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
 15918  	s.Type = &v
 15919  	return s
 15920  }
 15921  
 15922  // SetValue sets the Value field's value.
 15923  func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
 15924  	s.Value = &v
 15925  	return s
 15926  }
 15927  
 15928  // A secret to pass to the container.
 15929  type AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails struct {
 15930  	_ struct{} `type:"structure"`
 15931  
 15932  	// The name of the secret.
 15933  	Name *string `type:"string"`
 15934  
 15935  	// The secret to expose to the container. The value is either the full ARN of
 15936  	// the Secrets Manager secret or the full ARN of the parameter in the Systems
 15937  	// Manager Parameter Store.
 15938  	ValueFrom *string `type:"string"`
 15939  }
 15940  
 15941  // String returns the string representation.
 15942  //
 15943  // API parameter values that are decorated as "sensitive" in the API will not
 15944  // be included in the string output. The member name will be present, but the
 15945  // value will be replaced with "sensitive".
 15946  func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) String() string {
 15947  	return awsutil.Prettify(s)
 15948  }
 15949  
 15950  // GoString returns the string representation.
 15951  //
 15952  // API parameter values that are decorated as "sensitive" in the API will not
 15953  // be included in the string output. The member name will be present, but the
 15954  // value will be replaced with "sensitive".
 15955  func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) GoString() string {
 15956  	return s.String()
 15957  }
 15958  
 15959  // SetName sets the Name field's value.
 15960  func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
 15961  	s.Name = &v
 15962  	return s
 15963  }
 15964  
 15965  // SetValueFrom sets the ValueFrom field's value.
 15966  func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
 15967  	s.ValueFrom = &v
 15968  	return s
 15969  }
 15970  
 15971  // A namespaced kernel parameter to set in the container.
 15972  type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails struct {
 15973  	_ struct{} `type:"structure"`
 15974  
 15975  	// The namespaced kernel parameter for which to set a value.
 15976  	Namespace *string `type:"string"`
 15977  
 15978  	// The value of the parameter.
 15979  	Value *string `type:"string"`
 15980  }
 15981  
 15982  // String returns the string representation.
 15983  //
 15984  // API parameter values that are decorated as "sensitive" in the API will not
 15985  // be included in the string output. The member name will be present, but the
 15986  // value will be replaced with "sensitive".
 15987  func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) String() string {
 15988  	return awsutil.Prettify(s)
 15989  }
 15990  
 15991  // GoString returns the string representation.
 15992  //
 15993  // API parameter values that are decorated as "sensitive" in the API will not
 15994  // be included in the string output. The member name will be present, but the
 15995  // value will be replaced with "sensitive".
 15996  func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) GoString() string {
 15997  	return s.String()
 15998  }
 15999  
 16000  // SetNamespace sets the Namespace field's value.
 16001  func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetNamespace(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
 16002  	s.Namespace = &v
 16003  	return s
 16004  }
 16005  
 16006  // SetValue sets the Value field's value.
 16007  func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
 16008  	s.Value = &v
 16009  	return s
 16010  }
 16011  
 16012  // A ulimit to set in the container.
 16013  type AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails struct {
 16014  	_ struct{} `type:"structure"`
 16015  
 16016  	// The hard limit for the ulimit type.
 16017  	HardLimit *int64 `type:"integer"`
 16018  
 16019  	// The type of the ulimit.
 16020  	Name *string `type:"string"`
 16021  
 16022  	// The soft limit for the ulimit type.
 16023  	SoftLimit *int64 `type:"integer"`
 16024  }
 16025  
 16026  // String returns the string representation.
 16027  //
 16028  // API parameter values that are decorated as "sensitive" in the API will not
 16029  // be included in the string output. The member name will be present, but the
 16030  // value will be replaced with "sensitive".
 16031  func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) String() string {
 16032  	return awsutil.Prettify(s)
 16033  }
 16034  
 16035  // GoString returns the string representation.
 16036  //
 16037  // API parameter values that are decorated as "sensitive" in the API will not
 16038  // be included in the string output. The member name will be present, but the
 16039  // value will be replaced with "sensitive".
 16040  func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) GoString() string {
 16041  	return s.String()
 16042  }
 16043  
 16044  // SetHardLimit sets the HardLimit field's value.
 16045  func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetHardLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
 16046  	s.HardLimit = &v
 16047  	return s
 16048  }
 16049  
 16050  // SetName sets the Name field's value.
 16051  func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
 16052  	s.Name = &v
 16053  	return s
 16054  }
 16055  
 16056  // SetSoftLimit sets the SoftLimit field's value.
 16057  func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetSoftLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
 16058  	s.SoftLimit = &v
 16059  	return s
 16060  }
 16061  
 16062  // A data volume to mount from another container.
 16063  type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails struct {
 16064  	_ struct{} `type:"structure"`
 16065  
 16066  	// Whether the container has read-only access to the volume.
 16067  	ReadOnly *bool `type:"boolean"`
 16068  
 16069  	// The name of another container within the same task definition from which
 16070  	// to mount volumes.
 16071  	SourceContainer *string `type:"string"`
 16072  }
 16073  
 16074  // String returns the string representation.
 16075  //
 16076  // API parameter values that are decorated as "sensitive" in the API will not
 16077  // be included in the string output. The member name will be present, but the
 16078  // value will be replaced with "sensitive".
 16079  func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) String() string {
 16080  	return awsutil.Prettify(s)
 16081  }
 16082  
 16083  // GoString returns the string representation.
 16084  //
 16085  // API parameter values that are decorated as "sensitive" in the API will not
 16086  // be included in the string output. The member name will be present, but the
 16087  // value will be replaced with "sensitive".
 16088  func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) GoString() string {
 16089  	return s.String()
 16090  }
 16091  
 16092  // SetReadOnly sets the ReadOnly field's value.
 16093  func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
 16094  	s.ReadOnly = &v
 16095  	return s
 16096  }
 16097  
 16098  // SetSourceContainer sets the SourceContainer field's value.
 16099  func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetSourceContainer(v string) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
 16100  	s.SourceContainer = &v
 16101  	return s
 16102  }
 16103  
 16104  // details about a task definition. A task definition describes the container
 16105  // and volume definitions of an Amazon Elastic Container Service task.
 16106  type AwsEcsTaskDefinitionDetails struct {
 16107  	_ struct{} `type:"structure"`
 16108  
 16109  	// The container definitions that describe the containers that make up the task.
 16110  	ContainerDefinitions []*AwsEcsTaskDefinitionContainerDefinitionsDetails `type:"list"`
 16111  
 16112  	// The number of CPU units used by the task.
 16113  	Cpu *string `type:"string"`
 16114  
 16115  	// The ARN of the task execution role that grants the container agent permission
 16116  	// to make API calls on behalf of the container user.
 16117  	ExecutionRoleArn *string `type:"string"`
 16118  
 16119  	// The name of a family that this task definition is registered to.
 16120  	Family *string `type:"string"`
 16121  
 16122  	// The Elastic Inference accelerators to use for the containers in the task.
 16123  	InferenceAccelerators []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails `type:"list"`
 16124  
 16125  	// The IPC resource namespace to use for the containers in the task.
 16126  	IpcMode *string `type:"string"`
 16127  
 16128  	// The amount (in MiB) of memory used by the task.
 16129  	Memory *string `type:"string"`
 16130  
 16131  	// The Docker networking mode to use for the containers in the task.
 16132  	NetworkMode *string `type:"string"`
 16133  
 16134  	// The process namespace to use for the containers in the task.
 16135  	PidMode *string `type:"string"`
 16136  
 16137  	// The placement constraint objects to use for tasks.
 16138  	PlacementConstraints []*AwsEcsTaskDefinitionPlacementConstraintsDetails `type:"list"`
 16139  
 16140  	// The configuration details for the App Mesh proxy.
 16141  	ProxyConfiguration *AwsEcsTaskDefinitionProxyConfigurationDetails `type:"structure"`
 16142  
 16143  	// The task launch types that the task definition was validated against.
 16144  	RequiresCompatibilities []*string `type:"list"`
 16145  
 16146  	// The short name or ARN of the IAM role that grants containers in the task
 16147  	// permission to call Amazon Web Services API operations on your behalf.
 16148  	TaskRoleArn *string `type:"string"`
 16149  
 16150  	// The data volume definitions for the task.
 16151  	Volumes []*AwsEcsTaskDefinitionVolumesDetails `type:"list"`
 16152  }
 16153  
 16154  // String returns the string representation.
 16155  //
 16156  // API parameter values that are decorated as "sensitive" in the API will not
 16157  // be included in the string output. The member name will be present, but the
 16158  // value will be replaced with "sensitive".
 16159  func (s AwsEcsTaskDefinitionDetails) String() string {
 16160  	return awsutil.Prettify(s)
 16161  }
 16162  
 16163  // GoString returns the string representation.
 16164  //
 16165  // API parameter values that are decorated as "sensitive" in the API will not
 16166  // be included in the string output. The member name will be present, but the
 16167  // value will be replaced with "sensitive".
 16168  func (s AwsEcsTaskDefinitionDetails) GoString() string {
 16169  	return s.String()
 16170  }
 16171  
 16172  // SetContainerDefinitions sets the ContainerDefinitions field's value.
 16173  func (s *AwsEcsTaskDefinitionDetails) SetContainerDefinitions(v []*AwsEcsTaskDefinitionContainerDefinitionsDetails) *AwsEcsTaskDefinitionDetails {
 16174  	s.ContainerDefinitions = v
 16175  	return s
 16176  }
 16177  
 16178  // SetCpu sets the Cpu field's value.
 16179  func (s *AwsEcsTaskDefinitionDetails) SetCpu(v string) *AwsEcsTaskDefinitionDetails {
 16180  	s.Cpu = &v
 16181  	return s
 16182  }
 16183  
 16184  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
 16185  func (s *AwsEcsTaskDefinitionDetails) SetExecutionRoleArn(v string) *AwsEcsTaskDefinitionDetails {
 16186  	s.ExecutionRoleArn = &v
 16187  	return s
 16188  }
 16189  
 16190  // SetFamily sets the Family field's value.
 16191  func (s *AwsEcsTaskDefinitionDetails) SetFamily(v string) *AwsEcsTaskDefinitionDetails {
 16192  	s.Family = &v
 16193  	return s
 16194  }
 16195  
 16196  // SetInferenceAccelerators sets the InferenceAccelerators field's value.
 16197  func (s *AwsEcsTaskDefinitionDetails) SetInferenceAccelerators(v []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails) *AwsEcsTaskDefinitionDetails {
 16198  	s.InferenceAccelerators = v
 16199  	return s
 16200  }
 16201  
 16202  // SetIpcMode sets the IpcMode field's value.
 16203  func (s *AwsEcsTaskDefinitionDetails) SetIpcMode(v string) *AwsEcsTaskDefinitionDetails {
 16204  	s.IpcMode = &v
 16205  	return s
 16206  }
 16207  
 16208  // SetMemory sets the Memory field's value.
 16209  func (s *AwsEcsTaskDefinitionDetails) SetMemory(v string) *AwsEcsTaskDefinitionDetails {
 16210  	s.Memory = &v
 16211  	return s
 16212  }
 16213  
 16214  // SetNetworkMode sets the NetworkMode field's value.
 16215  func (s *AwsEcsTaskDefinitionDetails) SetNetworkMode(v string) *AwsEcsTaskDefinitionDetails {
 16216  	s.NetworkMode = &v
 16217  	return s
 16218  }
 16219  
 16220  // SetPidMode sets the PidMode field's value.
 16221  func (s *AwsEcsTaskDefinitionDetails) SetPidMode(v string) *AwsEcsTaskDefinitionDetails {
 16222  	s.PidMode = &v
 16223  	return s
 16224  }
 16225  
 16226  // SetPlacementConstraints sets the PlacementConstraints field's value.
 16227  func (s *AwsEcsTaskDefinitionDetails) SetPlacementConstraints(v []*AwsEcsTaskDefinitionPlacementConstraintsDetails) *AwsEcsTaskDefinitionDetails {
 16228  	s.PlacementConstraints = v
 16229  	return s
 16230  }
 16231  
 16232  // SetProxyConfiguration sets the ProxyConfiguration field's value.
 16233  func (s *AwsEcsTaskDefinitionDetails) SetProxyConfiguration(v *AwsEcsTaskDefinitionProxyConfigurationDetails) *AwsEcsTaskDefinitionDetails {
 16234  	s.ProxyConfiguration = v
 16235  	return s
 16236  }
 16237  
 16238  // SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
 16239  func (s *AwsEcsTaskDefinitionDetails) SetRequiresCompatibilities(v []*string) *AwsEcsTaskDefinitionDetails {
 16240  	s.RequiresCompatibilities = v
 16241  	return s
 16242  }
 16243  
 16244  // SetTaskRoleArn sets the TaskRoleArn field's value.
 16245  func (s *AwsEcsTaskDefinitionDetails) SetTaskRoleArn(v string) *AwsEcsTaskDefinitionDetails {
 16246  	s.TaskRoleArn = &v
 16247  	return s
 16248  }
 16249  
 16250  // SetVolumes sets the Volumes field's value.
 16251  func (s *AwsEcsTaskDefinitionDetails) SetVolumes(v []*AwsEcsTaskDefinitionVolumesDetails) *AwsEcsTaskDefinitionDetails {
 16252  	s.Volumes = v
 16253  	return s
 16254  }
 16255  
 16256  // An Elastic Inference accelerator to use for the containers in the task.
 16257  type AwsEcsTaskDefinitionInferenceAcceleratorsDetails struct {
 16258  	_ struct{} `type:"structure"`
 16259  
 16260  	// The Elastic Inference accelerator device name.
 16261  	DeviceName *string `type:"string"`
 16262  
 16263  	// The Elastic Inference accelerator type to use.
 16264  	DeviceType *string `type:"string"`
 16265  }
 16266  
 16267  // String returns the string representation.
 16268  //
 16269  // API parameter values that are decorated as "sensitive" in the API will not
 16270  // be included in the string output. The member name will be present, but the
 16271  // value will be replaced with "sensitive".
 16272  func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) String() string {
 16273  	return awsutil.Prettify(s)
 16274  }
 16275  
 16276  // GoString returns the string representation.
 16277  //
 16278  // API parameter values that are decorated as "sensitive" in the API will not
 16279  // be included in the string output. The member name will be present, but the
 16280  // value will be replaced with "sensitive".
 16281  func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) GoString() string {
 16282  	return s.String()
 16283  }
 16284  
 16285  // SetDeviceName sets the DeviceName field's value.
 16286  func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceName(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
 16287  	s.DeviceName = &v
 16288  	return s
 16289  }
 16290  
 16291  // SetDeviceType sets the DeviceType field's value.
 16292  func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceType(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
 16293  	s.DeviceType = &v
 16294  	return s
 16295  }
 16296  
 16297  // A placement constraint object to use for tasks.
 16298  type AwsEcsTaskDefinitionPlacementConstraintsDetails struct {
 16299  	_ struct{} `type:"structure"`
 16300  
 16301  	// A cluster query language expression to apply to the constraint.
 16302  	Expression *string `type:"string"`
 16303  
 16304  	// The type of constraint.
 16305  	Type *string `type:"string"`
 16306  }
 16307  
 16308  // String returns the string representation.
 16309  //
 16310  // API parameter values that are decorated as "sensitive" in the API will not
 16311  // be included in the string output. The member name will be present, but the
 16312  // value will be replaced with "sensitive".
 16313  func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) String() string {
 16314  	return awsutil.Prettify(s)
 16315  }
 16316  
 16317  // GoString returns the string representation.
 16318  //
 16319  // API parameter values that are decorated as "sensitive" in the API will not
 16320  // be included in the string output. The member name will be present, but the
 16321  // value will be replaced with "sensitive".
 16322  func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) GoString() string {
 16323  	return s.String()
 16324  }
 16325  
 16326  // SetExpression sets the Expression field's value.
 16327  func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetExpression(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
 16328  	s.Expression = &v
 16329  	return s
 16330  }
 16331  
 16332  // SetType sets the Type field's value.
 16333  func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetType(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
 16334  	s.Type = &v
 16335  	return s
 16336  }
 16337  
 16338  // The configuration details for the App Mesh proxy.
 16339  type AwsEcsTaskDefinitionProxyConfigurationDetails struct {
 16340  	_ struct{} `type:"structure"`
 16341  
 16342  	// The name of the container that will serve as the App Mesh proxy.
 16343  	ContainerName *string `type:"string"`
 16344  
 16345  	// The set of network configuration parameters to provide to the Container Network
 16346  	// Interface (CNI) plugin, specified as key-value pairs.
 16347  	ProxyConfigurationProperties []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails `type:"list"`
 16348  
 16349  	// The proxy type.
 16350  	Type *string `type:"string"`
 16351  }
 16352  
 16353  // String returns the string representation.
 16354  //
 16355  // API parameter values that are decorated as "sensitive" in the API will not
 16356  // be included in the string output. The member name will be present, but the
 16357  // value will be replaced with "sensitive".
 16358  func (s AwsEcsTaskDefinitionProxyConfigurationDetails) String() string {
 16359  	return awsutil.Prettify(s)
 16360  }
 16361  
 16362  // GoString returns the string representation.
 16363  //
 16364  // API parameter values that are decorated as "sensitive" in the API will not
 16365  // be included in the string output. The member name will be present, but the
 16366  // value will be replaced with "sensitive".
 16367  func (s AwsEcsTaskDefinitionProxyConfigurationDetails) GoString() string {
 16368  	return s.String()
 16369  }
 16370  
 16371  // SetContainerName sets the ContainerName field's value.
 16372  func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetContainerName(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
 16373  	s.ContainerName = &v
 16374  	return s
 16375  }
 16376  
 16377  // SetProxyConfigurationProperties sets the ProxyConfigurationProperties field's value.
 16378  func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetProxyConfigurationProperties(v []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) *AwsEcsTaskDefinitionProxyConfigurationDetails {
 16379  	s.ProxyConfigurationProperties = v
 16380  	return s
 16381  }
 16382  
 16383  // SetType sets the Type field's value.
 16384  func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
 16385  	s.Type = &v
 16386  	return s
 16387  }
 16388  
 16389  // A network configuration parameter to provide to the Container Network Interface
 16390  // (CNI) plugin.
 16391  type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails struct {
 16392  	_ struct{} `type:"structure"`
 16393  
 16394  	// The name of the property.
 16395  	Name *string `type:"string"`
 16396  
 16397  	// The value of the property.
 16398  	Value *string `type:"string"`
 16399  }
 16400  
 16401  // String returns the string representation.
 16402  //
 16403  // API parameter values that are decorated as "sensitive" in the API will not
 16404  // be included in the string output. The member name will be present, but the
 16405  // value will be replaced with "sensitive".
 16406  func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) String() string {
 16407  	return awsutil.Prettify(s)
 16408  }
 16409  
 16410  // GoString returns the string representation.
 16411  //
 16412  // API parameter values that are decorated as "sensitive" in the API will not
 16413  // be included in the string output. The member name will be present, but the
 16414  // value will be replaced with "sensitive".
 16415  func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) GoString() string {
 16416  	return s.String()
 16417  }
 16418  
 16419  // SetName sets the Name field's value.
 16420  func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetName(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
 16421  	s.Name = &v
 16422  	return s
 16423  }
 16424  
 16425  // SetValue sets the Value field's value.
 16426  func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetValue(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
 16427  	s.Value = &v
 16428  	return s
 16429  }
 16430  
 16431  // A data volume to mount from another container.
 16432  type AwsEcsTaskDefinitionVolumesDetails struct {
 16433  	_ struct{} `type:"structure"`
 16434  
 16435  	// Information about a Docker volume.
 16436  	DockerVolumeConfiguration *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails `type:"structure"`
 16437  
 16438  	// Information about the Amazon Elastic File System file system that is used
 16439  	// for task storage.
 16440  	EfsVolumeConfiguration *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails `type:"structure"`
 16441  
 16442  	// Information about a bind mount host volume.
 16443  	Host *AwsEcsTaskDefinitionVolumesHostDetails `type:"structure"`
 16444  
 16445  	// The name of the data volume.
 16446  	Name *string `type:"string"`
 16447  }
 16448  
 16449  // String returns the string representation.
 16450  //
 16451  // API parameter values that are decorated as "sensitive" in the API will not
 16452  // be included in the string output. The member name will be present, but the
 16453  // value will be replaced with "sensitive".
 16454  func (s AwsEcsTaskDefinitionVolumesDetails) String() string {
 16455  	return awsutil.Prettify(s)
 16456  }
 16457  
 16458  // GoString returns the string representation.
 16459  //
 16460  // API parameter values that are decorated as "sensitive" in the API will not
 16461  // be included in the string output. The member name will be present, but the
 16462  // value will be replaced with "sensitive".
 16463  func (s AwsEcsTaskDefinitionVolumesDetails) GoString() string {
 16464  	return s.String()
 16465  }
 16466  
 16467  // SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
 16468  func (s *AwsEcsTaskDefinitionVolumesDetails) SetDockerVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
 16469  	s.DockerVolumeConfiguration = v
 16470  	return s
 16471  }
 16472  
 16473  // SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.
 16474  func (s *AwsEcsTaskDefinitionVolumesDetails) SetEfsVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
 16475  	s.EfsVolumeConfiguration = v
 16476  	return s
 16477  }
 16478  
 16479  // SetHost sets the Host field's value.
 16480  func (s *AwsEcsTaskDefinitionVolumesDetails) SetHost(v *AwsEcsTaskDefinitionVolumesHostDetails) *AwsEcsTaskDefinitionVolumesDetails {
 16481  	s.Host = v
 16482  	return s
 16483  }
 16484  
 16485  // SetName sets the Name field's value.
 16486  func (s *AwsEcsTaskDefinitionVolumesDetails) SetName(v string) *AwsEcsTaskDefinitionVolumesDetails {
 16487  	s.Name = &v
 16488  	return s
 16489  }
 16490  
 16491  // Information about a Docker volume.
 16492  type AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails struct {
 16493  	_ struct{} `type:"structure"`
 16494  
 16495  	// Whether to create the Docker volume automatically if it does not already
 16496  	// exist.
 16497  	Autoprovision *bool `type:"boolean"`
 16498  
 16499  	// The Docker volume driver to use.
 16500  	Driver *string `type:"string"`
 16501  
 16502  	// A map of Docker driver-specific options that are passed through.
 16503  	DriverOpts map[string]*string `type:"map"`
 16504  
 16505  	// Custom metadata to add to the Docker volume.
 16506  	Labels map[string]*string `type:"map"`
 16507  
 16508  	// The scope for the Docker volume that determines its lifecycle. Docker volumes
 16509  	// that are scoped to a task are provisioned automatically when the task starts
 16510  	// and destroyed when the task stops. Docker volumes that are shared persist
 16511  	// after the task stops.
 16512  	Scope *string `type:"string"`
 16513  }
 16514  
 16515  // String returns the string representation.
 16516  //
 16517  // API parameter values that are decorated as "sensitive" in the API will not
 16518  // be included in the string output. The member name will be present, but the
 16519  // value will be replaced with "sensitive".
 16520  func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) String() string {
 16521  	return awsutil.Prettify(s)
 16522  }
 16523  
 16524  // GoString returns the string representation.
 16525  //
 16526  // API parameter values that are decorated as "sensitive" in the API will not
 16527  // be included in the string output. The member name will be present, but the
 16528  // value will be replaced with "sensitive".
 16529  func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) GoString() string {
 16530  	return s.String()
 16531  }
 16532  
 16533  // SetAutoprovision sets the Autoprovision field's value.
 16534  func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetAutoprovision(v bool) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
 16535  	s.Autoprovision = &v
 16536  	return s
 16537  }
 16538  
 16539  // SetDriver sets the Driver field's value.
 16540  func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriver(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
 16541  	s.Driver = &v
 16542  	return s
 16543  }
 16544  
 16545  // SetDriverOpts sets the DriverOpts field's value.
 16546  func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriverOpts(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
 16547  	s.DriverOpts = v
 16548  	return s
 16549  }
 16550  
 16551  // SetLabels sets the Labels field's value.
 16552  func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetLabels(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
 16553  	s.Labels = v
 16554  	return s
 16555  }
 16556  
 16557  // SetScope sets the Scope field's value.
 16558  func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetScope(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
 16559  	s.Scope = &v
 16560  	return s
 16561  }
 16562  
 16563  type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails struct {
 16564  	_ struct{} `type:"structure"`
 16565  
 16566  	// The Amazon EFS access point identifier to use.
 16567  	AccessPointId *string `type:"string"`
 16568  
 16569  	// Whether to use the Amazon ECS task IAM role defined in a task definition
 16570  	// when mounting the Amazon EFS file system.
 16571  	Iam *string `type:"string"`
 16572  }
 16573  
 16574  // String returns the string representation.
 16575  //
 16576  // API parameter values that are decorated as "sensitive" in the API will not
 16577  // be included in the string output. The member name will be present, but the
 16578  // value will be replaced with "sensitive".
 16579  func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) String() string {
 16580  	return awsutil.Prettify(s)
 16581  }
 16582  
 16583  // GoString returns the string representation.
 16584  //
 16585  // API parameter values that are decorated as "sensitive" in the API will not
 16586  // be included in the string output. The member name will be present, but the
 16587  // value will be replaced with "sensitive".
 16588  func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) GoString() string {
 16589  	return s.String()
 16590  }
 16591  
 16592  // SetAccessPointId sets the AccessPointId field's value.
 16593  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetAccessPointId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
 16594  	s.AccessPointId = &v
 16595  	return s
 16596  }
 16597  
 16598  // SetIam sets the Iam field's value.
 16599  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetIam(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
 16600  	s.Iam = &v
 16601  	return s
 16602  }
 16603  
 16604  // Information about the Amazon Elastic File System file system that is used
 16605  // for task storage.
 16606  type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails struct {
 16607  	_ struct{} `type:"structure"`
 16608  
 16609  	// The authorization configuration details for the Amazon EFS file system.
 16610  	AuthorizationConfig *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails `type:"structure"`
 16611  
 16612  	// The Amazon EFS file system identifier to use.
 16613  	FilesystemId *string `type:"string"`
 16614  
 16615  	// The directory within the Amazon EFS file system to mount as the root directory
 16616  	// inside the host.
 16617  	RootDirectory *string `type:"string"`
 16618  
 16619  	// Whether to enable encryption for Amazon EFS data in transit between the Amazon
 16620  	// ECS host and the Amazon EFS server.
 16621  	TransitEncryption *string `type:"string"`
 16622  
 16623  	// The port to use when sending encrypted data between the Amazon ECS host and
 16624  	// the Amazon EFS server.
 16625  	TransitEncryptionPort *int64 `type:"integer"`
 16626  }
 16627  
 16628  // String returns the string representation.
 16629  //
 16630  // API parameter values that are decorated as "sensitive" in the API will not
 16631  // be included in the string output. The member name will be present, but the
 16632  // value will be replaced with "sensitive".
 16633  func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) String() string {
 16634  	return awsutil.Prettify(s)
 16635  }
 16636  
 16637  // GoString returns the string representation.
 16638  //
 16639  // API parameter values that are decorated as "sensitive" in the API will not
 16640  // be included in the string output. The member name will be present, but the
 16641  // value will be replaced with "sensitive".
 16642  func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) GoString() string {
 16643  	return s.String()
 16644  }
 16645  
 16646  // SetAuthorizationConfig sets the AuthorizationConfig field's value.
 16647  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetAuthorizationConfig(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
 16648  	s.AuthorizationConfig = v
 16649  	return s
 16650  }
 16651  
 16652  // SetFilesystemId sets the FilesystemId field's value.
 16653  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetFilesystemId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
 16654  	s.FilesystemId = &v
 16655  	return s
 16656  }
 16657  
 16658  // SetRootDirectory sets the RootDirectory field's value.
 16659  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetRootDirectory(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
 16660  	s.RootDirectory = &v
 16661  	return s
 16662  }
 16663  
 16664  // SetTransitEncryption sets the TransitEncryption field's value.
 16665  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryption(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
 16666  	s.TransitEncryption = &v
 16667  	return s
 16668  }
 16669  
 16670  // SetTransitEncryptionPort sets the TransitEncryptionPort field's value.
 16671  func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryptionPort(v int64) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
 16672  	s.TransitEncryptionPort = &v
 16673  	return s
 16674  }
 16675  
 16676  // Information about a bind mount host volume.
 16677  type AwsEcsTaskDefinitionVolumesHostDetails struct {
 16678  	_ struct{} `type:"structure"`
 16679  
 16680  	// The path on the host container instance that is presented to the container.
 16681  	SourcePath *string `type:"string"`
 16682  }
 16683  
 16684  // String returns the string representation.
 16685  //
 16686  // API parameter values that are decorated as "sensitive" in the API will not
 16687  // be included in the string output. The member name will be present, but the
 16688  // value will be replaced with "sensitive".
 16689  func (s AwsEcsTaskDefinitionVolumesHostDetails) String() string {
 16690  	return awsutil.Prettify(s)
 16691  }
 16692  
 16693  // GoString returns the string representation.
 16694  //
 16695  // API parameter values that are decorated as "sensitive" in the API will not
 16696  // be included in the string output. The member name will be present, but the
 16697  // value will be replaced with "sensitive".
 16698  func (s AwsEcsTaskDefinitionVolumesHostDetails) GoString() string {
 16699  	return s.String()
 16700  }
 16701  
 16702  // SetSourcePath sets the SourcePath field's value.
 16703  func (s *AwsEcsTaskDefinitionVolumesHostDetails) SetSourcePath(v string) *AwsEcsTaskDefinitionVolumesHostDetails {
 16704  	s.SourcePath = &v
 16705  	return s
 16706  }
 16707  
 16708  // Provides details about an Amazon EKS cluster.
 16709  type AwsEksClusterDetails struct {
 16710  	_ struct{} `type:"structure"`
 16711  
 16712  	// The ARN of the cluster.
 16713  	Arn *string `type:"string"`
 16714  
 16715  	// The certificate authority data for the cluster.
 16716  	CertificateAuthorityData *string `type:"string"`
 16717  
 16718  	// The status of the cluster.
 16719  	ClusterStatus *string `type:"string"`
 16720  
 16721  	// The endpoint for the Amazon EKS API server.
 16722  	Endpoint *string `type:"string"`
 16723  
 16724  	// The logging configuration for the cluster.
 16725  	Logging *AwsEksClusterLoggingDetails `type:"structure"`
 16726  
 16727  	// The name of the cluster.
 16728  	Name *string `type:"string"`
 16729  
 16730  	// The VPC configuration used by the cluster control plane.
 16731  	ResourcesVpcConfig *AwsEksClusterResourcesVpcConfigDetails `type:"structure"`
 16732  
 16733  	// The ARN of the IAM role that provides permissions for the Amazon EKS control
 16734  	// plane to make calls to Amazon Web Services API operations on your behalf.
 16735  	RoleArn *string `type:"string"`
 16736  
 16737  	// The Amazon EKS server version for the cluster.
 16738  	Version *string `type:"string"`
 16739  }
 16740  
 16741  // String returns the string representation.
 16742  //
 16743  // API parameter values that are decorated as "sensitive" in the API will not
 16744  // be included in the string output. The member name will be present, but the
 16745  // value will be replaced with "sensitive".
 16746  func (s AwsEksClusterDetails) String() string {
 16747  	return awsutil.Prettify(s)
 16748  }
 16749  
 16750  // GoString returns the string representation.
 16751  //
 16752  // API parameter values that are decorated as "sensitive" in the API will not
 16753  // be included in the string output. The member name will be present, but the
 16754  // value will be replaced with "sensitive".
 16755  func (s AwsEksClusterDetails) GoString() string {
 16756  	return s.String()
 16757  }
 16758  
 16759  // SetArn sets the Arn field's value.
 16760  func (s *AwsEksClusterDetails) SetArn(v string) *AwsEksClusterDetails {
 16761  	s.Arn = &v
 16762  	return s
 16763  }
 16764  
 16765  // SetCertificateAuthorityData sets the CertificateAuthorityData field's value.
 16766  func (s *AwsEksClusterDetails) SetCertificateAuthorityData(v string) *AwsEksClusterDetails {
 16767  	s.CertificateAuthorityData = &v
 16768  	return s
 16769  }
 16770  
 16771  // SetClusterStatus sets the ClusterStatus field's value.
 16772  func (s *AwsEksClusterDetails) SetClusterStatus(v string) *AwsEksClusterDetails {
 16773  	s.ClusterStatus = &v
 16774  	return s
 16775  }
 16776  
 16777  // SetEndpoint sets the Endpoint field's value.
 16778  func (s *AwsEksClusterDetails) SetEndpoint(v string) *AwsEksClusterDetails {
 16779  	s.Endpoint = &v
 16780  	return s
 16781  }
 16782  
 16783  // SetLogging sets the Logging field's value.
 16784  func (s *AwsEksClusterDetails) SetLogging(v *AwsEksClusterLoggingDetails) *AwsEksClusterDetails {
 16785  	s.Logging = v
 16786  	return s
 16787  }
 16788  
 16789  // SetName sets the Name field's value.
 16790  func (s *AwsEksClusterDetails) SetName(v string) *AwsEksClusterDetails {
 16791  	s.Name = &v
 16792  	return s
 16793  }
 16794  
 16795  // SetResourcesVpcConfig sets the ResourcesVpcConfig field's value.
 16796  func (s *AwsEksClusterDetails) SetResourcesVpcConfig(v *AwsEksClusterResourcesVpcConfigDetails) *AwsEksClusterDetails {
 16797  	s.ResourcesVpcConfig = v
 16798  	return s
 16799  }
 16800  
 16801  // SetRoleArn sets the RoleArn field's value.
 16802  func (s *AwsEksClusterDetails) SetRoleArn(v string) *AwsEksClusterDetails {
 16803  	s.RoleArn = &v
 16804  	return s
 16805  }
 16806  
 16807  // SetVersion sets the Version field's value.
 16808  func (s *AwsEksClusterDetails) SetVersion(v string) *AwsEksClusterDetails {
 16809  	s.Version = &v
 16810  	return s
 16811  }
 16812  
 16813  // Details for a cluster logging configuration.
 16814  type AwsEksClusterLoggingClusterLoggingDetails struct {
 16815  	_ struct{} `type:"structure"`
 16816  
 16817  	// Whether the logging types that are listed in Types are enabled.
 16818  	Enabled *bool `type:"boolean"`
 16819  
 16820  	// A list of logging types.
 16821  	Types []*string `type:"list"`
 16822  }
 16823  
 16824  // String returns the string representation.
 16825  //
 16826  // API parameter values that are decorated as "sensitive" in the API will not
 16827  // be included in the string output. The member name will be present, but the
 16828  // value will be replaced with "sensitive".
 16829  func (s AwsEksClusterLoggingClusterLoggingDetails) String() string {
 16830  	return awsutil.Prettify(s)
 16831  }
 16832  
 16833  // GoString returns the string representation.
 16834  //
 16835  // API parameter values that are decorated as "sensitive" in the API will not
 16836  // be included in the string output. The member name will be present, but the
 16837  // value will be replaced with "sensitive".
 16838  func (s AwsEksClusterLoggingClusterLoggingDetails) GoString() string {
 16839  	return s.String()
 16840  }
 16841  
 16842  // SetEnabled sets the Enabled field's value.
 16843  func (s *AwsEksClusterLoggingClusterLoggingDetails) SetEnabled(v bool) *AwsEksClusterLoggingClusterLoggingDetails {
 16844  	s.Enabled = &v
 16845  	return s
 16846  }
 16847  
 16848  // SetTypes sets the Types field's value.
 16849  func (s *AwsEksClusterLoggingClusterLoggingDetails) SetTypes(v []*string) *AwsEksClusterLoggingClusterLoggingDetails {
 16850  	s.Types = v
 16851  	return s
 16852  }
 16853  
 16854  // The logging configuration for an Amazon EKS cluster.
 16855  type AwsEksClusterLoggingDetails struct {
 16856  	_ struct{} `type:"structure"`
 16857  
 16858  	// Cluster logging configurations.
 16859  	ClusterLogging []*AwsEksClusterLoggingClusterLoggingDetails `type:"list"`
 16860  }
 16861  
 16862  // String returns the string representation.
 16863  //
 16864  // API parameter values that are decorated as "sensitive" in the API will not
 16865  // be included in the string output. The member name will be present, but the
 16866  // value will be replaced with "sensitive".
 16867  func (s AwsEksClusterLoggingDetails) String() string {
 16868  	return awsutil.Prettify(s)
 16869  }
 16870  
 16871  // GoString returns the string representation.
 16872  //
 16873  // API parameter values that are decorated as "sensitive" in the API will not
 16874  // be included in the string output. The member name will be present, but the
 16875  // value will be replaced with "sensitive".
 16876  func (s AwsEksClusterLoggingDetails) GoString() string {
 16877  	return s.String()
 16878  }
 16879  
 16880  // SetClusterLogging sets the ClusterLogging field's value.
 16881  func (s *AwsEksClusterLoggingDetails) SetClusterLogging(v []*AwsEksClusterLoggingClusterLoggingDetails) *AwsEksClusterLoggingDetails {
 16882  	s.ClusterLogging = v
 16883  	return s
 16884  }
 16885  
 16886  // Information about the VPC configuration used by the cluster control plane.
 16887  type AwsEksClusterResourcesVpcConfigDetails struct {
 16888  	_ struct{} `type:"structure"`
 16889  
 16890  	// The security groups that are associated with the cross-account elastic network
 16891  	// interfaces that are used to allow communication between your nodes and the
 16892  	// Amazon EKS control plane.
 16893  	SecurityGroupIds []*string `type:"list"`
 16894  
 16895  	// The subnets that are associated with the cluster.
 16896  	SubnetIds []*string `type:"list"`
 16897  }
 16898  
 16899  // String returns the string representation.
 16900  //
 16901  // API parameter values that are decorated as "sensitive" in the API will not
 16902  // be included in the string output. The member name will be present, but the
 16903  // value will be replaced with "sensitive".
 16904  func (s AwsEksClusterResourcesVpcConfigDetails) String() string {
 16905  	return awsutil.Prettify(s)
 16906  }
 16907  
 16908  // GoString returns the string representation.
 16909  //
 16910  // API parameter values that are decorated as "sensitive" in the API will not
 16911  // be included in the string output. The member name will be present, but the
 16912  // value will be replaced with "sensitive".
 16913  func (s AwsEksClusterResourcesVpcConfigDetails) GoString() string {
 16914  	return s.String()
 16915  }
 16916  
 16917  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 16918  func (s *AwsEksClusterResourcesVpcConfigDetails) SetSecurityGroupIds(v []*string) *AwsEksClusterResourcesVpcConfigDetails {
 16919  	s.SecurityGroupIds = v
 16920  	return s
 16921  }
 16922  
 16923  // SetSubnetIds sets the SubnetIds field's value.
 16924  func (s *AwsEksClusterResourcesVpcConfigDetails) SetSubnetIds(v []*string) *AwsEksClusterResourcesVpcConfigDetails {
 16925  	s.SubnetIds = v
 16926  	return s
 16927  }
 16928  
 16929  // Contains details about an Elastic Beanstalk environment.
 16930  type AwsElasticBeanstalkEnvironmentDetails struct {
 16931  	_ struct{} `type:"structure"`
 16932  
 16933  	// The name of the application that is associated with the environment.
 16934  	ApplicationName *string `type:"string"`
 16935  
 16936  	// The URL to the CNAME for this environment.
 16937  	Cname *string `type:"string"`
 16938  
 16939  	// The creation date for this environment.
 16940  	DateCreated *string `type:"string"`
 16941  
 16942  	// The date when this environment was last modified.
 16943  	DateUpdated *string `type:"string"`
 16944  
 16945  	// A description of the environment.
 16946  	Description *string `type:"string"`
 16947  
 16948  	// For load-balanced, autoscaling environments, the URL to the load balancer.
 16949  	// For single-instance environments, the IP address of the instance.
 16950  	EndpointUrl *string `type:"string"`
 16951  
 16952  	// The ARN of the environment.
 16953  	EnvironmentArn *string `type:"string"`
 16954  
 16955  	// The identifier of the environment.
 16956  	EnvironmentId *string `type:"string"`
 16957  
 16958  	// Links to other environments in the same group.
 16959  	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
 16960  
 16961  	// The name of the environment.
 16962  	EnvironmentName *string `type:"string"`
 16963  
 16964  	// The configuration setting for the environment.
 16965  	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
 16966  
 16967  	// The ARN of the platform version for the environment.
 16968  	PlatformArn *string `type:"string"`
 16969  
 16970  	// The name of the solution stack that is deployed with the environment.
 16971  	SolutionStackName *string `type:"string"`
 16972  
 16973  	// The current operational status of the environment.
 16974  	Status *string `type:"string"`
 16975  
 16976  	// The tier of the environment.
 16977  	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
 16978  
 16979  	// The application version of the environment.
 16980  	VersionLabel *string `type:"string"`
 16981  }
 16982  
 16983  // String returns the string representation.
 16984  //
 16985  // API parameter values that are decorated as "sensitive" in the API will not
 16986  // be included in the string output. The member name will be present, but the
 16987  // value will be replaced with "sensitive".
 16988  func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
 16989  	return awsutil.Prettify(s)
 16990  }
 16991  
 16992  // GoString returns the string representation.
 16993  //
 16994  // API parameter values that are decorated as "sensitive" in the API will not
 16995  // be included in the string output. The member name will be present, but the
 16996  // value will be replaced with "sensitive".
 16997  func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
 16998  	return s.String()
 16999  }
 17000  
 17001  // SetApplicationName sets the ApplicationName field's value.
 17002  func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17003  	s.ApplicationName = &v
 17004  	return s
 17005  }
 17006  
 17007  // SetCname sets the Cname field's value.
 17008  func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17009  	s.Cname = &v
 17010  	return s
 17011  }
 17012  
 17013  // SetDateCreated sets the DateCreated field's value.
 17014  func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17015  	s.DateCreated = &v
 17016  	return s
 17017  }
 17018  
 17019  // SetDateUpdated sets the DateUpdated field's value.
 17020  func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17021  	s.DateUpdated = &v
 17022  	return s
 17023  }
 17024  
 17025  // SetDescription sets the Description field's value.
 17026  func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17027  	s.Description = &v
 17028  	return s
 17029  }
 17030  
 17031  // SetEndpointUrl sets the EndpointUrl field's value.
 17032  func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17033  	s.EndpointUrl = &v
 17034  	return s
 17035  }
 17036  
 17037  // SetEnvironmentArn sets the EnvironmentArn field's value.
 17038  func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17039  	s.EnvironmentArn = &v
 17040  	return s
 17041  }
 17042  
 17043  // SetEnvironmentId sets the EnvironmentId field's value.
 17044  func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17045  	s.EnvironmentId = &v
 17046  	return s
 17047  }
 17048  
 17049  // SetEnvironmentLinks sets the EnvironmentLinks field's value.
 17050  func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
 17051  	s.EnvironmentLinks = v
 17052  	return s
 17053  }
 17054  
 17055  // SetEnvironmentName sets the EnvironmentName field's value.
 17056  func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17057  	s.EnvironmentName = &v
 17058  	return s
 17059  }
 17060  
 17061  // SetOptionSettings sets the OptionSettings field's value.
 17062  func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
 17063  	s.OptionSettings = v
 17064  	return s
 17065  }
 17066  
 17067  // SetPlatformArn sets the PlatformArn field's value.
 17068  func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17069  	s.PlatformArn = &v
 17070  	return s
 17071  }
 17072  
 17073  // SetSolutionStackName sets the SolutionStackName field's value.
 17074  func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17075  	s.SolutionStackName = &v
 17076  	return s
 17077  }
 17078  
 17079  // SetStatus sets the Status field's value.
 17080  func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17081  	s.Status = &v
 17082  	return s
 17083  }
 17084  
 17085  // SetTier sets the Tier field's value.
 17086  func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
 17087  	s.Tier = v
 17088  	return s
 17089  }
 17090  
 17091  // SetVersionLabel sets the VersionLabel field's value.
 17092  func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
 17093  	s.VersionLabel = &v
 17094  	return s
 17095  }
 17096  
 17097  // Contains information about a link to another environment that is in the same
 17098  // group.
 17099  type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
 17100  	_ struct{} `type:"structure"`
 17101  
 17102  	// The name of the linked environment.
 17103  	EnvironmentName *string `type:"string"`
 17104  
 17105  	// The name of the environment link.
 17106  	LinkName *string `type:"string"`
 17107  }
 17108  
 17109  // String returns the string representation.
 17110  //
 17111  // API parameter values that are decorated as "sensitive" in the API will not
 17112  // be included in the string output. The member name will be present, but the
 17113  // value will be replaced with "sensitive".
 17114  func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
 17115  	return awsutil.Prettify(s)
 17116  }
 17117  
 17118  // GoString returns the string representation.
 17119  //
 17120  // API parameter values that are decorated as "sensitive" in the API will not
 17121  // be included in the string output. The member name will be present, but the
 17122  // value will be replaced with "sensitive".
 17123  func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
 17124  	return s.String()
 17125  }
 17126  
 17127  // SetEnvironmentName sets the EnvironmentName field's value.
 17128  func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
 17129  	s.EnvironmentName = &v
 17130  	return s
 17131  }
 17132  
 17133  // SetLinkName sets the LinkName field's value.
 17134  func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
 17135  	s.LinkName = &v
 17136  	return s
 17137  }
 17138  
 17139  // A configuration option setting for the environment.
 17140  type AwsElasticBeanstalkEnvironmentOptionSetting struct {
 17141  	_ struct{} `type:"structure"`
 17142  
 17143  	// The type of resource that the configuration option is associated with.
 17144  	Namespace *string `type:"string"`
 17145  
 17146  	// The name of the option.
 17147  	OptionName *string `type:"string"`
 17148  
 17149  	// The name of the resource.
 17150  	ResourceName *string `type:"string"`
 17151  
 17152  	// The value of the configuration setting.
 17153  	Value *string `type:"string"`
 17154  }
 17155  
 17156  // String returns the string representation.
 17157  //
 17158  // API parameter values that are decorated as "sensitive" in the API will not
 17159  // be included in the string output. The member name will be present, but the
 17160  // value will be replaced with "sensitive".
 17161  func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
 17162  	return awsutil.Prettify(s)
 17163  }
 17164  
 17165  // GoString returns the string representation.
 17166  //
 17167  // API parameter values that are decorated as "sensitive" in the API will not
 17168  // be included in the string output. The member name will be present, but the
 17169  // value will be replaced with "sensitive".
 17170  func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
 17171  	return s.String()
 17172  }
 17173  
 17174  // SetNamespace sets the Namespace field's value.
 17175  func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
 17176  	s.Namespace = &v
 17177  	return s
 17178  }
 17179  
 17180  // SetOptionName sets the OptionName field's value.
 17181  func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
 17182  	s.OptionName = &v
 17183  	return s
 17184  }
 17185  
 17186  // SetResourceName sets the ResourceName field's value.
 17187  func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
 17188  	s.ResourceName = &v
 17189  	return s
 17190  }
 17191  
 17192  // SetValue sets the Value field's value.
 17193  func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
 17194  	s.Value = &v
 17195  	return s
 17196  }
 17197  
 17198  // Contains information about the tier of the environment.
 17199  type AwsElasticBeanstalkEnvironmentTier struct {
 17200  	_ struct{} `type:"structure"`
 17201  
 17202  	// The name of the environment tier.
 17203  	Name *string `type:"string"`
 17204  
 17205  	// The type of environment tier.
 17206  	Type *string `type:"string"`
 17207  
 17208  	// The version of the environment tier.
 17209  	Version *string `type:"string"`
 17210  }
 17211  
 17212  // String returns the string representation.
 17213  //
 17214  // API parameter values that are decorated as "sensitive" in the API will not
 17215  // be included in the string output. The member name will be present, but the
 17216  // value will be replaced with "sensitive".
 17217  func (s AwsElasticBeanstalkEnvironmentTier) String() string {
 17218  	return awsutil.Prettify(s)
 17219  }
 17220  
 17221  // GoString returns the string representation.
 17222  //
 17223  // API parameter values that are decorated as "sensitive" in the API will not
 17224  // be included in the string output. The member name will be present, but the
 17225  // value will be replaced with "sensitive".
 17226  func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
 17227  	return s.String()
 17228  }
 17229  
 17230  // SetName sets the Name field's value.
 17231  func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
 17232  	s.Name = &v
 17233  	return s
 17234  }
 17235  
 17236  // SetType sets the Type field's value.
 17237  func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
 17238  	s.Type = &v
 17239  	return s
 17240  }
 17241  
 17242  // SetVersion sets the Version field's value.
 17243  func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
 17244  	s.Version = &v
 17245  	return s
 17246  }
 17247  
 17248  // Information about an Elasticsearch domain.
 17249  type AwsElasticsearchDomainDetails struct {
 17250  	_ struct{} `type:"structure"`
 17251  
 17252  	// IAM policy document specifying the access policies for the new Elasticsearch
 17253  	// domain.
 17254  	AccessPolicies *string `type:"string"`
 17255  
 17256  	// Additional options for the domain endpoint.
 17257  	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
 17258  
 17259  	// Unique identifier for an Elasticsearch domain.
 17260  	DomainId *string `type:"string"`
 17261  
 17262  	// Name of an Elasticsearch domain.
 17263  	//
 17264  	// Domain names are unique across all domains owned by the same account within
 17265  	// an Amazon Web Services Region.
 17266  	//
 17267  	// Domain names must start with a lowercase letter and must be between 3 and
 17268  	// 28 characters.
 17269  	//
 17270  	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
 17271  	DomainName *string `type:"string"`
 17272  
 17273  	// Information about an OpenSearch cluster configuration.
 17274  	ElasticsearchClusterConfig *AwsElasticsearchDomainElasticsearchClusterConfigDetails `type:"structure"`
 17275  
 17276  	// OpenSearch version.
 17277  	ElasticsearchVersion *string `type:"string"`
 17278  
 17279  	// Details about the configuration for encryption at rest.
 17280  	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
 17281  
 17282  	// Domain-specific endpoint used to submit index, search, and data upload requests
 17283  	// to an Elasticsearch domain.
 17284  	//
 17285  	// The endpoint is a service URL.
 17286  	Endpoint *string `type:"string"`
 17287  
 17288  	// The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.
 17289  	Endpoints map[string]*string `type:"map"`
 17290  
 17291  	// Configures the CloudWatch Logs to publish for the Elasticsearch domain.
 17292  	LogPublishingOptions *AwsElasticsearchDomainLogPublishingOptions `type:"structure"`
 17293  
 17294  	// Details about the configuration for node-to-node encryption.
 17295  	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
 17296  
 17297  	// Information about the status of a domain relative to the latest service software.
 17298  	ServiceSoftwareOptions *AwsElasticsearchDomainServiceSoftwareOptions `type:"structure"`
 17299  
 17300  	// Information that OpenSearch derives based on VPCOptions for the domain.
 17301  	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
 17302  }
 17303  
 17304  // String returns the string representation.
 17305  //
 17306  // API parameter values that are decorated as "sensitive" in the API will not
 17307  // be included in the string output. The member name will be present, but the
 17308  // value will be replaced with "sensitive".
 17309  func (s AwsElasticsearchDomainDetails) String() string {
 17310  	return awsutil.Prettify(s)
 17311  }
 17312  
 17313  // GoString returns the string representation.
 17314  //
 17315  // API parameter values that are decorated as "sensitive" in the API will not
 17316  // be included in the string output. The member name will be present, but the
 17317  // value will be replaced with "sensitive".
 17318  func (s AwsElasticsearchDomainDetails) GoString() string {
 17319  	return s.String()
 17320  }
 17321  
 17322  // SetAccessPolicies sets the AccessPolicies field's value.
 17323  func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
 17324  	s.AccessPolicies = &v
 17325  	return s
 17326  }
 17327  
 17328  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
 17329  func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
 17330  	s.DomainEndpointOptions = v
 17331  	return s
 17332  }
 17333  
 17334  // SetDomainId sets the DomainId field's value.
 17335  func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
 17336  	s.DomainId = &v
 17337  	return s
 17338  }
 17339  
 17340  // SetDomainName sets the DomainName field's value.
 17341  func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
 17342  	s.DomainName = &v
 17343  	return s
 17344  }
 17345  
 17346  // SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
 17347  func (s *AwsElasticsearchDomainDetails) SetElasticsearchClusterConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigDetails) *AwsElasticsearchDomainDetails {
 17348  	s.ElasticsearchClusterConfig = v
 17349  	return s
 17350  }
 17351  
 17352  // SetElasticsearchVersion sets the ElasticsearchVersion field's value.
 17353  func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
 17354  	s.ElasticsearchVersion = &v
 17355  	return s
 17356  }
 17357  
 17358  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
 17359  func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
 17360  	s.EncryptionAtRestOptions = v
 17361  	return s
 17362  }
 17363  
 17364  // SetEndpoint sets the Endpoint field's value.
 17365  func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
 17366  	s.Endpoint = &v
 17367  	return s
 17368  }
 17369  
 17370  // SetEndpoints sets the Endpoints field's value.
 17371  func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
 17372  	s.Endpoints = v
 17373  	return s
 17374  }
 17375  
 17376  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
 17377  func (s *AwsElasticsearchDomainDetails) SetLogPublishingOptions(v *AwsElasticsearchDomainLogPublishingOptions) *AwsElasticsearchDomainDetails {
 17378  	s.LogPublishingOptions = v
 17379  	return s
 17380  }
 17381  
 17382  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
 17383  func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
 17384  	s.NodeToNodeEncryptionOptions = v
 17385  	return s
 17386  }
 17387  
 17388  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
 17389  func (s *AwsElasticsearchDomainDetails) SetServiceSoftwareOptions(v *AwsElasticsearchDomainServiceSoftwareOptions) *AwsElasticsearchDomainDetails {
 17390  	s.ServiceSoftwareOptions = v
 17391  	return s
 17392  }
 17393  
 17394  // SetVPCOptions sets the VPCOptions field's value.
 17395  func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
 17396  	s.VPCOptions = v
 17397  	return s
 17398  }
 17399  
 17400  // Additional options for the domain endpoint, such as whether to require HTTPS
 17401  // for all traffic.
 17402  type AwsElasticsearchDomainDomainEndpointOptions struct {
 17403  	_ struct{} `type:"structure"`
 17404  
 17405  	// Whether to require that all traffic to the domain arrive over HTTPS.
 17406  	EnforceHTTPS *bool `type:"boolean"`
 17407  
 17408  	// The TLS security policy to apply to the HTTPS endpoint of the OpenSearch
 17409  	// domain.
 17410  	//
 17411  	// Valid values:
 17412  	//
 17413  	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
 17414  	//
 17415  	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
 17416  	TLSSecurityPolicy *string `type:"string"`
 17417  }
 17418  
 17419  // String returns the string representation.
 17420  //
 17421  // API parameter values that are decorated as "sensitive" in the API will not
 17422  // be included in the string output. The member name will be present, but the
 17423  // value will be replaced with "sensitive".
 17424  func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
 17425  	return awsutil.Prettify(s)
 17426  }
 17427  
 17428  // GoString returns the string representation.
 17429  //
 17430  // API parameter values that are decorated as "sensitive" in the API will not
 17431  // be included in the string output. The member name will be present, but the
 17432  // value will be replaced with "sensitive".
 17433  func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
 17434  	return s.String()
 17435  }
 17436  
 17437  // SetEnforceHTTPS sets the EnforceHTTPS field's value.
 17438  func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
 17439  	s.EnforceHTTPS = &v
 17440  	return s
 17441  }
 17442  
 17443  // SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
 17444  func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
 17445  	s.TLSSecurityPolicy = &v
 17446  	return s
 17447  }
 17448  
 17449  // details about the configuration of an OpenSearch cluster.
 17450  type AwsElasticsearchDomainElasticsearchClusterConfigDetails struct {
 17451  	_ struct{} `type:"structure"`
 17452  
 17453  	// The number of instances to use for the master node. If this attribute is
 17454  	// specified, then DedicatedMasterEnabled must be true.
 17455  	DedicatedMasterCount *int64 `type:"integer"`
 17456  
 17457  	// Whether to use a dedicated master node for the Elasticsearch domain. A dedicated
 17458  	// master node performs cluster management tasks, but doesn't hold data or respond
 17459  	// to data upload requests.
 17460  	DedicatedMasterEnabled *bool `type:"boolean"`
 17461  
 17462  	// The hardware configuration of the computer that hosts the dedicated master
 17463  	// node. For example, m3.medium.elasticsearch. If this attribute is specified,
 17464  	// then DedicatedMasterEnabled must be true.
 17465  	DedicatedMasterType *string `type:"string"`
 17466  
 17467  	// The number of data nodes to use in the Elasticsearch domain.
 17468  	InstanceCount *int64 `type:"integer"`
 17469  
 17470  	// The instance type for your data nodes. For example, m3.medium.elasticsearch.
 17471  	InstanceType *string `type:"string"`
 17472  
 17473  	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
 17474  	// is true.
 17475  	ZoneAwarenessConfig *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails `type:"structure"`
 17476  
 17477  	// Whether to enable zone awareness for the Elasticsearch domain. When zone
 17478  	// awareness is enabled, OpenSearch allocates the cluster's nodes and replica
 17479  	// index shards across Availability Zones in the same Region. This prevents
 17480  	// data loss and minimizes downtime if a node or data center fails.
 17481  	ZoneAwarenessEnabled *bool `type:"boolean"`
 17482  }
 17483  
 17484  // String returns the string representation.
 17485  //
 17486  // API parameter values that are decorated as "sensitive" in the API will not
 17487  // be included in the string output. The member name will be present, but the
 17488  // value will be replaced with "sensitive".
 17489  func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) String() string {
 17490  	return awsutil.Prettify(s)
 17491  }
 17492  
 17493  // GoString returns the string representation.
 17494  //
 17495  // API parameter values that are decorated as "sensitive" in the API will not
 17496  // be included in the string output. The member name will be present, but the
 17497  // value will be replaced with "sensitive".
 17498  func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) GoString() string {
 17499  	return s.String()
 17500  }
 17501  
 17502  // SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
 17503  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17504  	s.DedicatedMasterCount = &v
 17505  	return s
 17506  }
 17507  
 17508  // SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
 17509  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17510  	s.DedicatedMasterEnabled = &v
 17511  	return s
 17512  }
 17513  
 17514  // SetDedicatedMasterType sets the DedicatedMasterType field's value.
 17515  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17516  	s.DedicatedMasterType = &v
 17517  	return s
 17518  }
 17519  
 17520  // SetInstanceCount sets the InstanceCount field's value.
 17521  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17522  	s.InstanceCount = &v
 17523  	return s
 17524  }
 17525  
 17526  // SetInstanceType sets the InstanceType field's value.
 17527  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17528  	s.InstanceType = &v
 17529  	return s
 17530  }
 17531  
 17532  // SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
 17533  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17534  	s.ZoneAwarenessConfig = v
 17535  	return s
 17536  }
 17537  
 17538  // SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
 17539  func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
 17540  	s.ZoneAwarenessEnabled = &v
 17541  	return s
 17542  }
 17543  
 17544  // Configuration options for zone awareness.
 17545  type AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails struct {
 17546  	_ struct{} `type:"structure"`
 17547  
 17548  	// he number of Availability Zones that the domain uses. Valid values are 2
 17549  	// and 3. The default is 2.
 17550  	AvailabilityZoneCount *int64 `type:"integer"`
 17551  }
 17552  
 17553  // String returns the string representation.
 17554  //
 17555  // API parameter values that are decorated as "sensitive" in the API will not
 17556  // be included in the string output. The member name will be present, but the
 17557  // value will be replaced with "sensitive".
 17558  func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) String() string {
 17559  	return awsutil.Prettify(s)
 17560  }
 17561  
 17562  // GoString returns the string representation.
 17563  //
 17564  // API parameter values that are decorated as "sensitive" in the API will not
 17565  // be included in the string output. The member name will be present, but the
 17566  // value will be replaced with "sensitive".
 17567  func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) GoString() string {
 17568  	return s.String()
 17569  }
 17570  
 17571  // SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
 17572  func (s *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails {
 17573  	s.AvailabilityZoneCount = &v
 17574  	return s
 17575  }
 17576  
 17577  // Details about the configuration for encryption at rest.
 17578  type AwsElasticsearchDomainEncryptionAtRestOptions struct {
 17579  	_ struct{} `type:"structure"`
 17580  
 17581  	// Whether encryption at rest is enabled.
 17582  	Enabled *bool `type:"boolean"`
 17583  
 17584  	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
 17585  	KmsKeyId *string `type:"string"`
 17586  }
 17587  
 17588  // String returns the string representation.
 17589  //
 17590  // API parameter values that are decorated as "sensitive" in the API will not
 17591  // be included in the string output. The member name will be present, but the
 17592  // value will be replaced with "sensitive".
 17593  func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
 17594  	return awsutil.Prettify(s)
 17595  }
 17596  
 17597  // GoString returns the string representation.
 17598  //
 17599  // API parameter values that are decorated as "sensitive" in the API will not
 17600  // be included in the string output. The member name will be present, but the
 17601  // value will be replaced with "sensitive".
 17602  func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
 17603  	return s.String()
 17604  }
 17605  
 17606  // SetEnabled sets the Enabled field's value.
 17607  func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
 17608  	s.Enabled = &v
 17609  	return s
 17610  }
 17611  
 17612  // SetKmsKeyId sets the KmsKeyId field's value.
 17613  func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
 17614  	s.KmsKeyId = &v
 17615  	return s
 17616  }
 17617  
 17618  // configures the CloudWatch Logs to publish for the Elasticsearch domain.
 17619  type AwsElasticsearchDomainLogPublishingOptions struct {
 17620  	_ struct{} `type:"structure"`
 17621  
 17622  	// The log configuration.
 17623  	AuditLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
 17624  
 17625  	// Configures the OpenSearch index logs publishing.
 17626  	IndexSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
 17627  
 17628  	// Configures the OpenSearch search slow log publishing.
 17629  	SearchSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
 17630  }
 17631  
 17632  // String returns the string representation.
 17633  //
 17634  // API parameter values that are decorated as "sensitive" in the API will not
 17635  // be included in the string output. The member name will be present, but the
 17636  // value will be replaced with "sensitive".
 17637  func (s AwsElasticsearchDomainLogPublishingOptions) String() string {
 17638  	return awsutil.Prettify(s)
 17639  }
 17640  
 17641  // GoString returns the string representation.
 17642  //
 17643  // API parameter values that are decorated as "sensitive" in the API will not
 17644  // be included in the string output. The member name will be present, but the
 17645  // value will be replaced with "sensitive".
 17646  func (s AwsElasticsearchDomainLogPublishingOptions) GoString() string {
 17647  	return s.String()
 17648  }
 17649  
 17650  // SetAuditLogs sets the AuditLogs field's value.
 17651  func (s *AwsElasticsearchDomainLogPublishingOptions) SetAuditLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
 17652  	s.AuditLogs = v
 17653  	return s
 17654  }
 17655  
 17656  // SetIndexSlowLogs sets the IndexSlowLogs field's value.
 17657  func (s *AwsElasticsearchDomainLogPublishingOptions) SetIndexSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
 17658  	s.IndexSlowLogs = v
 17659  	return s
 17660  }
 17661  
 17662  // SetSearchSlowLogs sets the SearchSlowLogs field's value.
 17663  func (s *AwsElasticsearchDomainLogPublishingOptions) SetSearchSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
 17664  	s.SearchSlowLogs = v
 17665  	return s
 17666  }
 17667  
 17668  // The log configuration.
 17669  type AwsElasticsearchDomainLogPublishingOptionsLogConfig struct {
 17670  	_ struct{} `type:"structure"`
 17671  
 17672  	// The ARN of the CloudWatch Logs group to publish the logs to.
 17673  	CloudWatchLogsLogGroupArn *string `type:"string"`
 17674  
 17675  	// Whether the log publishing is enabled.
 17676  	Enabled *bool `type:"boolean"`
 17677  }
 17678  
 17679  // String returns the string representation.
 17680  //
 17681  // API parameter values that are decorated as "sensitive" in the API will not
 17682  // be included in the string output. The member name will be present, but the
 17683  // value will be replaced with "sensitive".
 17684  func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) String() string {
 17685  	return awsutil.Prettify(s)
 17686  }
 17687  
 17688  // GoString returns the string representation.
 17689  //
 17690  // API parameter values that are decorated as "sensitive" in the API will not
 17691  // be included in the string output. The member name will be present, but the
 17692  // value will be replaced with "sensitive".
 17693  func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) GoString() string {
 17694  	return s.String()
 17695  }
 17696  
 17697  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
 17698  func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetCloudWatchLogsLogGroupArn(v string) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
 17699  	s.CloudWatchLogsLogGroupArn = &v
 17700  	return s
 17701  }
 17702  
 17703  // SetEnabled sets the Enabled field's value.
 17704  func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetEnabled(v bool) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
 17705  	s.Enabled = &v
 17706  	return s
 17707  }
 17708  
 17709  // Details about the configuration for node-to-node encryption.
 17710  type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
 17711  	_ struct{} `type:"structure"`
 17712  
 17713  	// Whether node-to-node encryption is enabled.
 17714  	Enabled *bool `type:"boolean"`
 17715  }
 17716  
 17717  // String returns the string representation.
 17718  //
 17719  // API parameter values that are decorated as "sensitive" in the API will not
 17720  // be included in the string output. The member name will be present, but the
 17721  // value will be replaced with "sensitive".
 17722  func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
 17723  	return awsutil.Prettify(s)
 17724  }
 17725  
 17726  // GoString returns the string representation.
 17727  //
 17728  // API parameter values that are decorated as "sensitive" in the API will not
 17729  // be included in the string output. The member name will be present, but the
 17730  // value will be replaced with "sensitive".
 17731  func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
 17732  	return s.String()
 17733  }
 17734  
 17735  // SetEnabled sets the Enabled field's value.
 17736  func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
 17737  	s.Enabled = &v
 17738  	return s
 17739  }
 17740  
 17741  // Information about the state of the domain relative to the latest service
 17742  // software.
 17743  type AwsElasticsearchDomainServiceSoftwareOptions struct {
 17744  	_ struct{} `type:"structure"`
 17745  
 17746  	// The epoch time when the deployment window closes for required updates. After
 17747  	// this time, Amazon OpenSearch Service schedules the software upgrade automatically.
 17748  	AutomatedUpdateDate *string `type:"string"`
 17749  
 17750  	// Whether a request to update the domain can be canceled.
 17751  	Cancellable *bool `type:"boolean"`
 17752  
 17753  	// The version of the service software that is currently installed on the domain.
 17754  	CurrentVersion *string `type:"string"`
 17755  
 17756  	// A more detailed description of the service software status.
 17757  	Description *string `type:"string"`
 17758  
 17759  	// The most recent version of the service software.
 17760  	NewVersion *string `type:"string"`
 17761  
 17762  	// Whether a service software update is available for the domain.
 17763  	UpdateAvailable *bool `type:"boolean"`
 17764  
 17765  	// The status of the service software update.
 17766  	UpdateStatus *string `type:"string"`
 17767  }
 17768  
 17769  // String returns the string representation.
 17770  //
 17771  // API parameter values that are decorated as "sensitive" in the API will not
 17772  // be included in the string output. The member name will be present, but the
 17773  // value will be replaced with "sensitive".
 17774  func (s AwsElasticsearchDomainServiceSoftwareOptions) String() string {
 17775  	return awsutil.Prettify(s)
 17776  }
 17777  
 17778  // GoString returns the string representation.
 17779  //
 17780  // API parameter values that are decorated as "sensitive" in the API will not
 17781  // be included in the string output. The member name will be present, but the
 17782  // value will be replaced with "sensitive".
 17783  func (s AwsElasticsearchDomainServiceSoftwareOptions) GoString() string {
 17784  	return s.String()
 17785  }
 17786  
 17787  // SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
 17788  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetAutomatedUpdateDate(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
 17789  	s.AutomatedUpdateDate = &v
 17790  	return s
 17791  }
 17792  
 17793  // SetCancellable sets the Cancellable field's value.
 17794  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCancellable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
 17795  	s.Cancellable = &v
 17796  	return s
 17797  }
 17798  
 17799  // SetCurrentVersion sets the CurrentVersion field's value.
 17800  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCurrentVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
 17801  	s.CurrentVersion = &v
 17802  	return s
 17803  }
 17804  
 17805  // SetDescription sets the Description field's value.
 17806  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetDescription(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
 17807  	s.Description = &v
 17808  	return s
 17809  }
 17810  
 17811  // SetNewVersion sets the NewVersion field's value.
 17812  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetNewVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
 17813  	s.NewVersion = &v
 17814  	return s
 17815  }
 17816  
 17817  // SetUpdateAvailable sets the UpdateAvailable field's value.
 17818  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateAvailable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
 17819  	s.UpdateAvailable = &v
 17820  	return s
 17821  }
 17822  
 17823  // SetUpdateStatus sets the UpdateStatus field's value.
 17824  func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateStatus(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
 17825  	s.UpdateStatus = &v
 17826  	return s
 17827  }
 17828  
 17829  // Information that OpenSearch derives based on VPCOptions for the domain.
 17830  type AwsElasticsearchDomainVPCOptions struct {
 17831  	_ struct{} `type:"structure"`
 17832  
 17833  	// The list of Availability Zones associated with the VPC subnets.
 17834  	AvailabilityZones []*string `type:"list"`
 17835  
 17836  	// The list of security group IDs associated with the VPC endpoints for the
 17837  	// domain.
 17838  	SecurityGroupIds []*string `type:"list"`
 17839  
 17840  	// A list of subnet IDs associated with the VPC endpoints for the domain.
 17841  	SubnetIds []*string `type:"list"`
 17842  
 17843  	// ID for the VPC.
 17844  	VPCId *string `type:"string"`
 17845  }
 17846  
 17847  // String returns the string representation.
 17848  //
 17849  // API parameter values that are decorated as "sensitive" in the API will not
 17850  // be included in the string output. The member name will be present, but the
 17851  // value will be replaced with "sensitive".
 17852  func (s AwsElasticsearchDomainVPCOptions) String() string {
 17853  	return awsutil.Prettify(s)
 17854  }
 17855  
 17856  // GoString returns the string representation.
 17857  //
 17858  // API parameter values that are decorated as "sensitive" in the API will not
 17859  // be included in the string output. The member name will be present, but the
 17860  // value will be replaced with "sensitive".
 17861  func (s AwsElasticsearchDomainVPCOptions) GoString() string {
 17862  	return s.String()
 17863  }
 17864  
 17865  // SetAvailabilityZones sets the AvailabilityZones field's value.
 17866  func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
 17867  	s.AvailabilityZones = v
 17868  	return s
 17869  }
 17870  
 17871  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 17872  func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
 17873  	s.SecurityGroupIds = v
 17874  	return s
 17875  }
 17876  
 17877  // SetSubnetIds sets the SubnetIds field's value.
 17878  func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
 17879  	s.SubnetIds = v
 17880  	return s
 17881  }
 17882  
 17883  // SetVPCId sets the VPCId field's value.
 17884  func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
 17885  	s.VPCId = &v
 17886  	return s
 17887  }
 17888  
 17889  // Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
 17890  type AwsElbAppCookieStickinessPolicy struct {
 17891  	_ struct{} `type:"structure"`
 17892  
 17893  	// The name of the application cookie used for stickiness.
 17894  	CookieName *string `type:"string"`
 17895  
 17896  	// The mnemonic name for the policy being created. The name must be unique within
 17897  	// the set of policies for the load balancer.
 17898  	PolicyName *string `type:"string"`
 17899  }
 17900  
 17901  // String returns the string representation.
 17902  //
 17903  // API parameter values that are decorated as "sensitive" in the API will not
 17904  // be included in the string output. The member name will be present, but the
 17905  // value will be replaced with "sensitive".
 17906  func (s AwsElbAppCookieStickinessPolicy) String() string {
 17907  	return awsutil.Prettify(s)
 17908  }
 17909  
 17910  // GoString returns the string representation.
 17911  //
 17912  // API parameter values that are decorated as "sensitive" in the API will not
 17913  // be included in the string output. The member name will be present, but the
 17914  // value will be replaced with "sensitive".
 17915  func (s AwsElbAppCookieStickinessPolicy) GoString() string {
 17916  	return s.String()
 17917  }
 17918  
 17919  // SetCookieName sets the CookieName field's value.
 17920  func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
 17921  	s.CookieName = &v
 17922  	return s
 17923  }
 17924  
 17925  // SetPolicyName sets the PolicyName field's value.
 17926  func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
 17927  	s.PolicyName = &v
 17928  	return s
 17929  }
 17930  
 17931  // Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
 17932  type AwsElbLbCookieStickinessPolicy struct {
 17933  	_ struct{} `type:"structure"`
 17934  
 17935  	// The amount of time, in seconds, after which the cookie is considered stale.
 17936  	// If an expiration period is not specified, the stickiness session lasts for
 17937  	// the duration of the browser session.
 17938  	CookieExpirationPeriod *int64 `type:"long"`
 17939  
 17940  	// The name of the policy. The name must be unique within the set of policies
 17941  	// for the load balancer.
 17942  	PolicyName *string `type:"string"`
 17943  }
 17944  
 17945  // String returns the string representation.
 17946  //
 17947  // API parameter values that are decorated as "sensitive" in the API will not
 17948  // be included in the string output. The member name will be present, but the
 17949  // value will be replaced with "sensitive".
 17950  func (s AwsElbLbCookieStickinessPolicy) String() string {
 17951  	return awsutil.Prettify(s)
 17952  }
 17953  
 17954  // GoString returns the string representation.
 17955  //
 17956  // API parameter values that are decorated as "sensitive" in the API will not
 17957  // be included in the string output. The member name will be present, but the
 17958  // value will be replaced with "sensitive".
 17959  func (s AwsElbLbCookieStickinessPolicy) GoString() string {
 17960  	return s.String()
 17961  }
 17962  
 17963  // SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
 17964  func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
 17965  	s.CookieExpirationPeriod = &v
 17966  	return s
 17967  }
 17968  
 17969  // SetPolicyName sets the PolicyName field's value.
 17970  func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
 17971  	s.PolicyName = &v
 17972  	return s
 17973  }
 17974  
 17975  // Contains information about the access log configuration for the load balancer.
 17976  type AwsElbLoadBalancerAccessLog struct {
 17977  	_ struct{} `type:"structure"`
 17978  
 17979  	// The interval in minutes for publishing the access logs.
 17980  	//
 17981  	// You can publish access logs either every 5 minutes or every 60 minutes.
 17982  	EmitInterval *int64 `type:"integer"`
 17983  
 17984  	// Indicates whether access logs are enabled for the load balancer.
 17985  	Enabled *bool `type:"boolean"`
 17986  
 17987  	// The name of the S3 bucket where the access logs are stored.
 17988  	S3BucketName *string `type:"string"`
 17989  
 17990  	// The logical hierarchy that was created for the S3 bucket.
 17991  	//
 17992  	// If a prefix is not provided, the log is placed at the root level of the bucket.
 17993  	S3BucketPrefix *string `type:"string"`
 17994  }
 17995  
 17996  // String returns the string representation.
 17997  //
 17998  // API parameter values that are decorated as "sensitive" in the API will not
 17999  // be included in the string output. The member name will be present, but the
 18000  // value will be replaced with "sensitive".
 18001  func (s AwsElbLoadBalancerAccessLog) String() string {
 18002  	return awsutil.Prettify(s)
 18003  }
 18004  
 18005  // GoString returns the string representation.
 18006  //
 18007  // API parameter values that are decorated as "sensitive" in the API will not
 18008  // be included in the string output. The member name will be present, but the
 18009  // value will be replaced with "sensitive".
 18010  func (s AwsElbLoadBalancerAccessLog) GoString() string {
 18011  	return s.String()
 18012  }
 18013  
 18014  // SetEmitInterval sets the EmitInterval field's value.
 18015  func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
 18016  	s.EmitInterval = &v
 18017  	return s
 18018  }
 18019  
 18020  // SetEnabled sets the Enabled field's value.
 18021  func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
 18022  	s.Enabled = &v
 18023  	return s
 18024  }
 18025  
 18026  // SetS3BucketName sets the S3BucketName field's value.
 18027  func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
 18028  	s.S3BucketName = &v
 18029  	return s
 18030  }
 18031  
 18032  // SetS3BucketPrefix sets the S3BucketPrefix field's value.
 18033  func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
 18034  	s.S3BucketPrefix = &v
 18035  	return s
 18036  }
 18037  
 18038  // Contains attributes for the load balancer.
 18039  type AwsElbLoadBalancerAttributes struct {
 18040  	_ struct{} `type:"structure"`
 18041  
 18042  	// Information about the access log configuration for the load balancer.
 18043  	//
 18044  	// If the access log is enabled, the load balancer captures detailed information
 18045  	// about all requests. It delivers the information to a specified S3 bucket.
 18046  	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
 18047  
 18048  	// Information about the connection draining configuration for the load balancer.
 18049  	//
 18050  	// If connection draining is enabled, the load balancer allows existing requests
 18051  	// to complete before it shifts traffic away from a deregistered or unhealthy
 18052  	// instance.
 18053  	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
 18054  
 18055  	// Connection settings for the load balancer.
 18056  	//
 18057  	// If an idle timeout is configured, the load balancer allows connections to
 18058  	// remain idle for the specified duration. When a connection is idle, no data
 18059  	// is sent over the connection.
 18060  	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
 18061  
 18062  	// Cross-zone load balancing settings for the load balancer.
 18063  	//
 18064  	// If cross-zone load balancing is enabled, the load balancer routes the request
 18065  	// traffic evenly across all instances regardless of the Availability Zones.
 18066  	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
 18067  }
 18068  
 18069  // String returns the string representation.
 18070  //
 18071  // API parameter values that are decorated as "sensitive" in the API will not
 18072  // be included in the string output. The member name will be present, but the
 18073  // value will be replaced with "sensitive".
 18074  func (s AwsElbLoadBalancerAttributes) String() string {
 18075  	return awsutil.Prettify(s)
 18076  }
 18077  
 18078  // GoString returns the string representation.
 18079  //
 18080  // API parameter values that are decorated as "sensitive" in the API will not
 18081  // be included in the string output. The member name will be present, but the
 18082  // value will be replaced with "sensitive".
 18083  func (s AwsElbLoadBalancerAttributes) GoString() string {
 18084  	return s.String()
 18085  }
 18086  
 18087  // SetAccessLog sets the AccessLog field's value.
 18088  func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
 18089  	s.AccessLog = v
 18090  	return s
 18091  }
 18092  
 18093  // SetConnectionDraining sets the ConnectionDraining field's value.
 18094  func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
 18095  	s.ConnectionDraining = v
 18096  	return s
 18097  }
 18098  
 18099  // SetConnectionSettings sets the ConnectionSettings field's value.
 18100  func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
 18101  	s.ConnectionSettings = v
 18102  	return s
 18103  }
 18104  
 18105  // SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
 18106  func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
 18107  	s.CrossZoneLoadBalancing = v
 18108  	return s
 18109  }
 18110  
 18111  // Provides information about the configuration of an EC2 instance for the load
 18112  // balancer.
 18113  type AwsElbLoadBalancerBackendServerDescription struct {
 18114  	_ struct{} `type:"structure"`
 18115  
 18116  	// The port on which the EC2 instance is listening.
 18117  	InstancePort *int64 `type:"integer"`
 18118  
 18119  	// The names of the policies that are enabled for the EC2 instance.
 18120  	PolicyNames []*string `type:"list"`
 18121  }
 18122  
 18123  // String returns the string representation.
 18124  //
 18125  // API parameter values that are decorated as "sensitive" in the API will not
 18126  // be included in the string output. The member name will be present, but the
 18127  // value will be replaced with "sensitive".
 18128  func (s AwsElbLoadBalancerBackendServerDescription) String() string {
 18129  	return awsutil.Prettify(s)
 18130  }
 18131  
 18132  // GoString returns the string representation.
 18133  //
 18134  // API parameter values that are decorated as "sensitive" in the API will not
 18135  // be included in the string output. The member name will be present, but the
 18136  // value will be replaced with "sensitive".
 18137  func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
 18138  	return s.String()
 18139  }
 18140  
 18141  // SetInstancePort sets the InstancePort field's value.
 18142  func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
 18143  	s.InstancePort = &v
 18144  	return s
 18145  }
 18146  
 18147  // SetPolicyNames sets the PolicyNames field's value.
 18148  func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
 18149  	s.PolicyNames = v
 18150  	return s
 18151  }
 18152  
 18153  // Contains information about the connection draining configuration for the
 18154  // load balancer.
 18155  type AwsElbLoadBalancerConnectionDraining struct {
 18156  	_ struct{} `type:"structure"`
 18157  
 18158  	// Indicates whether connection draining is enabled for the load balancer.
 18159  	Enabled *bool `type:"boolean"`
 18160  
 18161  	// The maximum time, in seconds, to keep the existing connections open before
 18162  	// deregistering the instances.
 18163  	Timeout *int64 `type:"integer"`
 18164  }
 18165  
 18166  // String returns the string representation.
 18167  //
 18168  // API parameter values that are decorated as "sensitive" in the API will not
 18169  // be included in the string output. The member name will be present, but the
 18170  // value will be replaced with "sensitive".
 18171  func (s AwsElbLoadBalancerConnectionDraining) String() string {
 18172  	return awsutil.Prettify(s)
 18173  }
 18174  
 18175  // GoString returns the string representation.
 18176  //
 18177  // API parameter values that are decorated as "sensitive" in the API will not
 18178  // be included in the string output. The member name will be present, but the
 18179  // value will be replaced with "sensitive".
 18180  func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
 18181  	return s.String()
 18182  }
 18183  
 18184  // SetEnabled sets the Enabled field's value.
 18185  func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
 18186  	s.Enabled = &v
 18187  	return s
 18188  }
 18189  
 18190  // SetTimeout sets the Timeout field's value.
 18191  func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
 18192  	s.Timeout = &v
 18193  	return s
 18194  }
 18195  
 18196  // Contains connection settings for the load balancer.
 18197  type AwsElbLoadBalancerConnectionSettings struct {
 18198  	_ struct{} `type:"structure"`
 18199  
 18200  	// The time, in seconds, that the connection can be idle (no data is sent over
 18201  	// the connection) before it is closed by the load balancer.
 18202  	IdleTimeout *int64 `type:"integer"`
 18203  }
 18204  
 18205  // String returns the string representation.
 18206  //
 18207  // API parameter values that are decorated as "sensitive" in the API will not
 18208  // be included in the string output. The member name will be present, but the
 18209  // value will be replaced with "sensitive".
 18210  func (s AwsElbLoadBalancerConnectionSettings) String() string {
 18211  	return awsutil.Prettify(s)
 18212  }
 18213  
 18214  // GoString returns the string representation.
 18215  //
 18216  // API parameter values that are decorated as "sensitive" in the API will not
 18217  // be included in the string output. The member name will be present, but the
 18218  // value will be replaced with "sensitive".
 18219  func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
 18220  	return s.String()
 18221  }
 18222  
 18223  // SetIdleTimeout sets the IdleTimeout field's value.
 18224  func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
 18225  	s.IdleTimeout = &v
 18226  	return s
 18227  }
 18228  
 18229  // Contains cross-zone load balancing settings for the load balancer.
 18230  type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
 18231  	_ struct{} `type:"structure"`
 18232  
 18233  	// Indicates whether cross-zone load balancing is enabled for the load balancer.
 18234  	Enabled *bool `type:"boolean"`
 18235  }
 18236  
 18237  // String returns the string representation.
 18238  //
 18239  // API parameter values that are decorated as "sensitive" in the API will not
 18240  // be included in the string output. The member name will be present, but the
 18241  // value will be replaced with "sensitive".
 18242  func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
 18243  	return awsutil.Prettify(s)
 18244  }
 18245  
 18246  // GoString returns the string representation.
 18247  //
 18248  // API parameter values that are decorated as "sensitive" in the API will not
 18249  // be included in the string output. The member name will be present, but the
 18250  // value will be replaced with "sensitive".
 18251  func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
 18252  	return s.String()
 18253  }
 18254  
 18255  // SetEnabled sets the Enabled field's value.
 18256  func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
 18257  	s.Enabled = &v
 18258  	return s
 18259  }
 18260  
 18261  // Contains details about a Classic Load Balancer.
 18262  type AwsElbLoadBalancerDetails struct {
 18263  	_ struct{} `type:"structure"`
 18264  
 18265  	// The list of Availability Zones for the load balancer.
 18266  	AvailabilityZones []*string `type:"list"`
 18267  
 18268  	// Information about the configuration of the EC2 instances.
 18269  	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
 18270  
 18271  	// The name of the Amazon Route 53 hosted zone for the load balancer.
 18272  	CanonicalHostedZoneName *string `type:"string"`
 18273  
 18274  	// The ID of the Amazon Route 53 hosted zone for the load balancer.
 18275  	CanonicalHostedZoneNameID *string `type:"string"`
 18276  
 18277  	// Indicates when the load balancer was created.
 18278  	//
 18279  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 18280  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 18281  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 18282  	CreatedTime *string `type:"string"`
 18283  
 18284  	// The DNS name of the load balancer.
 18285  	DnsName *string `type:"string"`
 18286  
 18287  	// Information about the health checks that are conducted on the load balancer.
 18288  	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
 18289  
 18290  	// List of EC2 instances for the load balancer.
 18291  	Instances []*AwsElbLoadBalancerInstance `type:"list"`
 18292  
 18293  	// The policies that are enabled for the load balancer listeners.
 18294  	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
 18295  
 18296  	// The attributes for a load balancer.
 18297  	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
 18298  
 18299  	// The name of the load balancer.
 18300  	LoadBalancerName *string `type:"string"`
 18301  
 18302  	// The policies for a load balancer.
 18303  	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
 18304  
 18305  	// The type of load balancer. Only provided if the load balancer is in a VPC.
 18306  	//
 18307  	// If Scheme is internet-facing, the load balancer has a public DNS name that
 18308  	// resolves to a public IP address.
 18309  	//
 18310  	// If Scheme is internal, the load balancer has a public DNS name that resolves
 18311  	// to a private IP address.
 18312  	Scheme *string `type:"string"`
 18313  
 18314  	// The security groups for the load balancer. Only provided if the load balancer
 18315  	// is in a VPC.
 18316  	SecurityGroups []*string `type:"list"`
 18317  
 18318  	// Information about the security group for the load balancer. This is the security
 18319  	// group that is used for inbound rules.
 18320  	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
 18321  
 18322  	// The list of subnet identifiers for the load balancer.
 18323  	Subnets []*string `type:"list"`
 18324  
 18325  	// The identifier of the VPC for the load balancer.
 18326  	VpcId *string `type:"string"`
 18327  }
 18328  
 18329  // String returns the string representation.
 18330  //
 18331  // API parameter values that are decorated as "sensitive" in the API will not
 18332  // be included in the string output. The member name will be present, but the
 18333  // value will be replaced with "sensitive".
 18334  func (s AwsElbLoadBalancerDetails) String() string {
 18335  	return awsutil.Prettify(s)
 18336  }
 18337  
 18338  // GoString returns the string representation.
 18339  //
 18340  // API parameter values that are decorated as "sensitive" in the API will not
 18341  // be included in the string output. The member name will be present, but the
 18342  // value will be replaced with "sensitive".
 18343  func (s AwsElbLoadBalancerDetails) GoString() string {
 18344  	return s.String()
 18345  }
 18346  
 18347  // SetAvailabilityZones sets the AvailabilityZones field's value.
 18348  func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
 18349  	s.AvailabilityZones = v
 18350  	return s
 18351  }
 18352  
 18353  // SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
 18354  func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
 18355  	s.BackendServerDescriptions = v
 18356  	return s
 18357  }
 18358  
 18359  // SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
 18360  func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
 18361  	s.CanonicalHostedZoneName = &v
 18362  	return s
 18363  }
 18364  
 18365  // SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
 18366  func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
 18367  	s.CanonicalHostedZoneNameID = &v
 18368  	return s
 18369  }
 18370  
 18371  // SetCreatedTime sets the CreatedTime field's value.
 18372  func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
 18373  	s.CreatedTime = &v
 18374  	return s
 18375  }
 18376  
 18377  // SetDnsName sets the DnsName field's value.
 18378  func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
 18379  	s.DnsName = &v
 18380  	return s
 18381  }
 18382  
 18383  // SetHealthCheck sets the HealthCheck field's value.
 18384  func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
 18385  	s.HealthCheck = v
 18386  	return s
 18387  }
 18388  
 18389  // SetInstances sets the Instances field's value.
 18390  func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
 18391  	s.Instances = v
 18392  	return s
 18393  }
 18394  
 18395  // SetListenerDescriptions sets the ListenerDescriptions field's value.
 18396  func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
 18397  	s.ListenerDescriptions = v
 18398  	return s
 18399  }
 18400  
 18401  // SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
 18402  func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
 18403  	s.LoadBalancerAttributes = v
 18404  	return s
 18405  }
 18406  
 18407  // SetLoadBalancerName sets the LoadBalancerName field's value.
 18408  func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
 18409  	s.LoadBalancerName = &v
 18410  	return s
 18411  }
 18412  
 18413  // SetPolicies sets the Policies field's value.
 18414  func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
 18415  	s.Policies = v
 18416  	return s
 18417  }
 18418  
 18419  // SetScheme sets the Scheme field's value.
 18420  func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
 18421  	s.Scheme = &v
 18422  	return s
 18423  }
 18424  
 18425  // SetSecurityGroups sets the SecurityGroups field's value.
 18426  func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
 18427  	s.SecurityGroups = v
 18428  	return s
 18429  }
 18430  
 18431  // SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
 18432  func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
 18433  	s.SourceSecurityGroup = v
 18434  	return s
 18435  }
 18436  
 18437  // SetSubnets sets the Subnets field's value.
 18438  func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
 18439  	s.Subnets = v
 18440  	return s
 18441  }
 18442  
 18443  // SetVpcId sets the VpcId field's value.
 18444  func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
 18445  	s.VpcId = &v
 18446  	return s
 18447  }
 18448  
 18449  // Contains information about the health checks that are conducted on the load
 18450  // balancer.
 18451  type AwsElbLoadBalancerHealthCheck struct {
 18452  	_ struct{} `type:"structure"`
 18453  
 18454  	// The number of consecutive health check successes required before the instance
 18455  	// is moved to the Healthy state.
 18456  	HealthyThreshold *int64 `type:"integer"`
 18457  
 18458  	// The approximate interval, in seconds, between health checks of an individual
 18459  	// instance.
 18460  	Interval *int64 `type:"integer"`
 18461  
 18462  	// The instance that is being checked. The target specifies the protocol and
 18463  	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
 18464  	// valid ports is 1 through 65535.
 18465  	//
 18466  	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
 18467  	//
 18468  	// For the TCP protocol, the target is specified as TCP: <port> .
 18469  	//
 18470  	// For the SSL protocol, the target is specified as SSL.<port> .
 18471  	//
 18472  	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
 18473  	// to ping> .
 18474  	Target *string `type:"string"`
 18475  
 18476  	// The amount of time, in seconds, during which no response means a failed health
 18477  	// check.
 18478  	Timeout *int64 `type:"integer"`
 18479  
 18480  	// The number of consecutive health check failures that must occur before the
 18481  	// instance is moved to the Unhealthy state.
 18482  	UnhealthyThreshold *int64 `type:"integer"`
 18483  }
 18484  
 18485  // String returns the string representation.
 18486  //
 18487  // API parameter values that are decorated as "sensitive" in the API will not
 18488  // be included in the string output. The member name will be present, but the
 18489  // value will be replaced with "sensitive".
 18490  func (s AwsElbLoadBalancerHealthCheck) String() string {
 18491  	return awsutil.Prettify(s)
 18492  }
 18493  
 18494  // GoString returns the string representation.
 18495  //
 18496  // API parameter values that are decorated as "sensitive" in the API will not
 18497  // be included in the string output. The member name will be present, but the
 18498  // value will be replaced with "sensitive".
 18499  func (s AwsElbLoadBalancerHealthCheck) GoString() string {
 18500  	return s.String()
 18501  }
 18502  
 18503  // SetHealthyThreshold sets the HealthyThreshold field's value.
 18504  func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
 18505  	s.HealthyThreshold = &v
 18506  	return s
 18507  }
 18508  
 18509  // SetInterval sets the Interval field's value.
 18510  func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
 18511  	s.Interval = &v
 18512  	return s
 18513  }
 18514  
 18515  // SetTarget sets the Target field's value.
 18516  func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
 18517  	s.Target = &v
 18518  	return s
 18519  }
 18520  
 18521  // SetTimeout sets the Timeout field's value.
 18522  func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
 18523  	s.Timeout = &v
 18524  	return s
 18525  }
 18526  
 18527  // SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
 18528  func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
 18529  	s.UnhealthyThreshold = &v
 18530  	return s
 18531  }
 18532  
 18533  // Provides information about an EC2 instance for a load balancer.
 18534  type AwsElbLoadBalancerInstance struct {
 18535  	_ struct{} `type:"structure"`
 18536  
 18537  	// The instance identifier.
 18538  	InstanceId *string `type:"string"`
 18539  }
 18540  
 18541  // String returns the string representation.
 18542  //
 18543  // API parameter values that are decorated as "sensitive" in the API will not
 18544  // be included in the string output. The member name will be present, but the
 18545  // value will be replaced with "sensitive".
 18546  func (s AwsElbLoadBalancerInstance) String() string {
 18547  	return awsutil.Prettify(s)
 18548  }
 18549  
 18550  // GoString returns the string representation.
 18551  //
 18552  // API parameter values that are decorated as "sensitive" in the API will not
 18553  // be included in the string output. The member name will be present, but the
 18554  // value will be replaced with "sensitive".
 18555  func (s AwsElbLoadBalancerInstance) GoString() string {
 18556  	return s.String()
 18557  }
 18558  
 18559  // SetInstanceId sets the InstanceId field's value.
 18560  func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
 18561  	s.InstanceId = &v
 18562  	return s
 18563  }
 18564  
 18565  // Information about a load balancer listener.
 18566  type AwsElbLoadBalancerListener struct {
 18567  	_ struct{} `type:"structure"`
 18568  
 18569  	// The port on which the instance is listening.
 18570  	InstancePort *int64 `type:"integer"`
 18571  
 18572  	// The protocol to use to route traffic to instances.
 18573  	//
 18574  	// Valid values: HTTP | HTTPS | TCP | SSL
 18575  	InstanceProtocol *string `type:"string"`
 18576  
 18577  	// The port on which the load balancer is listening.
 18578  	//
 18579  	// On EC2-VPC, you can specify any port from the range 1-65535.
 18580  	//
 18581  	// On EC2-Classic, you can specify any port from the following list: 25, 80,
 18582  	// 443, 465, 587, 1024-65535.
 18583  	LoadBalancerPort *int64 `type:"integer"`
 18584  
 18585  	// The load balancer transport protocol to use for routing.
 18586  	//
 18587  	// Valid values: HTTP | HTTPS | TCP | SSL
 18588  	Protocol *string `type:"string"`
 18589  
 18590  	// The ARN of the server certificate.
 18591  	SslCertificateId *string `type:"string"`
 18592  }
 18593  
 18594  // String returns the string representation.
 18595  //
 18596  // API parameter values that are decorated as "sensitive" in the API will not
 18597  // be included in the string output. The member name will be present, but the
 18598  // value will be replaced with "sensitive".
 18599  func (s AwsElbLoadBalancerListener) String() string {
 18600  	return awsutil.Prettify(s)
 18601  }
 18602  
 18603  // GoString returns the string representation.
 18604  //
 18605  // API parameter values that are decorated as "sensitive" in the API will not
 18606  // be included in the string output. The member name will be present, but the
 18607  // value will be replaced with "sensitive".
 18608  func (s AwsElbLoadBalancerListener) GoString() string {
 18609  	return s.String()
 18610  }
 18611  
 18612  // SetInstancePort sets the InstancePort field's value.
 18613  func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
 18614  	s.InstancePort = &v
 18615  	return s
 18616  }
 18617  
 18618  // SetInstanceProtocol sets the InstanceProtocol field's value.
 18619  func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
 18620  	s.InstanceProtocol = &v
 18621  	return s
 18622  }
 18623  
 18624  // SetLoadBalancerPort sets the LoadBalancerPort field's value.
 18625  func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
 18626  	s.LoadBalancerPort = &v
 18627  	return s
 18628  }
 18629  
 18630  // SetProtocol sets the Protocol field's value.
 18631  func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
 18632  	s.Protocol = &v
 18633  	return s
 18634  }
 18635  
 18636  // SetSslCertificateId sets the SslCertificateId field's value.
 18637  func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
 18638  	s.SslCertificateId = &v
 18639  	return s
 18640  }
 18641  
 18642  // Lists the policies that are enabled for a load balancer listener.
 18643  type AwsElbLoadBalancerListenerDescription struct {
 18644  	_ struct{} `type:"structure"`
 18645  
 18646  	// Information about the listener.
 18647  	Listener *AwsElbLoadBalancerListener `type:"structure"`
 18648  
 18649  	// The policies enabled for the listener.
 18650  	PolicyNames []*string `type:"list"`
 18651  }
 18652  
 18653  // String returns the string representation.
 18654  //
 18655  // API parameter values that are decorated as "sensitive" in the API will not
 18656  // be included in the string output. The member name will be present, but the
 18657  // value will be replaced with "sensitive".
 18658  func (s AwsElbLoadBalancerListenerDescription) String() string {
 18659  	return awsutil.Prettify(s)
 18660  }
 18661  
 18662  // GoString returns the string representation.
 18663  //
 18664  // API parameter values that are decorated as "sensitive" in the API will not
 18665  // be included in the string output. The member name will be present, but the
 18666  // value will be replaced with "sensitive".
 18667  func (s AwsElbLoadBalancerListenerDescription) GoString() string {
 18668  	return s.String()
 18669  }
 18670  
 18671  // SetListener sets the Listener field's value.
 18672  func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
 18673  	s.Listener = v
 18674  	return s
 18675  }
 18676  
 18677  // SetPolicyNames sets the PolicyNames field's value.
 18678  func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
 18679  	s.PolicyNames = v
 18680  	return s
 18681  }
 18682  
 18683  // Contains information about the policies for a load balancer.
 18684  type AwsElbLoadBalancerPolicies struct {
 18685  	_ struct{} `type:"structure"`
 18686  
 18687  	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
 18688  	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
 18689  
 18690  	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
 18691  	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
 18692  
 18693  	// The policies other than the stickiness policies.
 18694  	OtherPolicies []*string `type:"list"`
 18695  }
 18696  
 18697  // String returns the string representation.
 18698  //
 18699  // API parameter values that are decorated as "sensitive" in the API will not
 18700  // be included in the string output. The member name will be present, but the
 18701  // value will be replaced with "sensitive".
 18702  func (s AwsElbLoadBalancerPolicies) String() string {
 18703  	return awsutil.Prettify(s)
 18704  }
 18705  
 18706  // GoString returns the string representation.
 18707  //
 18708  // API parameter values that are decorated as "sensitive" in the API will not
 18709  // be included in the string output. The member name will be present, but the
 18710  // value will be replaced with "sensitive".
 18711  func (s AwsElbLoadBalancerPolicies) GoString() string {
 18712  	return s.String()
 18713  }
 18714  
 18715  // SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
 18716  func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
 18717  	s.AppCookieStickinessPolicies = v
 18718  	return s
 18719  }
 18720  
 18721  // SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
 18722  func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
 18723  	s.LbCookieStickinessPolicies = v
 18724  	return s
 18725  }
 18726  
 18727  // SetOtherPolicies sets the OtherPolicies field's value.
 18728  func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
 18729  	s.OtherPolicies = v
 18730  	return s
 18731  }
 18732  
 18733  // Contains information about the security group for the load balancer.
 18734  type AwsElbLoadBalancerSourceSecurityGroup struct {
 18735  	_ struct{} `type:"structure"`
 18736  
 18737  	// The name of the security group.
 18738  	GroupName *string `type:"string"`
 18739  
 18740  	// The owner of the security group.
 18741  	OwnerAlias *string `type:"string"`
 18742  }
 18743  
 18744  // String returns the string representation.
 18745  //
 18746  // API parameter values that are decorated as "sensitive" in the API will not
 18747  // be included in the string output. The member name will be present, but the
 18748  // value will be replaced with "sensitive".
 18749  func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
 18750  	return awsutil.Prettify(s)
 18751  }
 18752  
 18753  // GoString returns the string representation.
 18754  //
 18755  // API parameter values that are decorated as "sensitive" in the API will not
 18756  // be included in the string output. The member name will be present, but the
 18757  // value will be replaced with "sensitive".
 18758  func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
 18759  	return s.String()
 18760  }
 18761  
 18762  // SetGroupName sets the GroupName field's value.
 18763  func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
 18764  	s.GroupName = &v
 18765  	return s
 18766  }
 18767  
 18768  // SetOwnerAlias sets the OwnerAlias field's value.
 18769  func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
 18770  	s.OwnerAlias = &v
 18771  	return s
 18772  }
 18773  
 18774  // A load balancer attribute.
 18775  type AwsElbv2LoadBalancerAttribute struct {
 18776  	_ struct{} `type:"structure"`
 18777  
 18778  	// The name of the load balancer attribute.
 18779  	Key *string `type:"string"`
 18780  
 18781  	// The value of the load balancer attribute.
 18782  	Value *string `type:"string"`
 18783  }
 18784  
 18785  // String returns the string representation.
 18786  //
 18787  // API parameter values that are decorated as "sensitive" in the API will not
 18788  // be included in the string output. The member name will be present, but the
 18789  // value will be replaced with "sensitive".
 18790  func (s AwsElbv2LoadBalancerAttribute) String() string {
 18791  	return awsutil.Prettify(s)
 18792  }
 18793  
 18794  // GoString returns the string representation.
 18795  //
 18796  // API parameter values that are decorated as "sensitive" in the API will not
 18797  // be included in the string output. The member name will be present, but the
 18798  // value will be replaced with "sensitive".
 18799  func (s AwsElbv2LoadBalancerAttribute) GoString() string {
 18800  	return s.String()
 18801  }
 18802  
 18803  // SetKey sets the Key field's value.
 18804  func (s *AwsElbv2LoadBalancerAttribute) SetKey(v string) *AwsElbv2LoadBalancerAttribute {
 18805  	s.Key = &v
 18806  	return s
 18807  }
 18808  
 18809  // SetValue sets the Value field's value.
 18810  func (s *AwsElbv2LoadBalancerAttribute) SetValue(v string) *AwsElbv2LoadBalancerAttribute {
 18811  	s.Value = &v
 18812  	return s
 18813  }
 18814  
 18815  // Information about a load balancer.
 18816  type AwsElbv2LoadBalancerDetails struct {
 18817  	_ struct{} `type:"structure"`
 18818  
 18819  	// The Availability Zones for the load balancer.
 18820  	AvailabilityZones []*AvailabilityZone `type:"list"`
 18821  
 18822  	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
 18823  	CanonicalHostedZoneId *string `type:"string"`
 18824  
 18825  	// Indicates when the load balancer was created.
 18826  	//
 18827  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 18828  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 18829  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 18830  	CreatedTime *string `type:"string"`
 18831  
 18832  	// The public DNS name of the load balancer.
 18833  	DNSName *string `type:"string"`
 18834  
 18835  	// The type of IP addresses used by the subnets for your load balancer. The
 18836  	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
 18837  	// IPv6 addresses).
 18838  	IpAddressType *string `type:"string"`
 18839  
 18840  	// Attributes of the load balancer.
 18841  	LoadBalancerAttributes []*AwsElbv2LoadBalancerAttribute `type:"list"`
 18842  
 18843  	// The nodes of an Internet-facing load balancer have public IP addresses.
 18844  	Scheme *string `type:"string"`
 18845  
 18846  	// The IDs of the security groups for the load balancer.
 18847  	SecurityGroups []*string `type:"list"`
 18848  
 18849  	// The state of the load balancer.
 18850  	State *LoadBalancerState `type:"structure"`
 18851  
 18852  	// The type of load balancer.
 18853  	Type *string `type:"string"`
 18854  
 18855  	// The ID of the VPC for the load balancer.
 18856  	VpcId *string `type:"string"`
 18857  }
 18858  
 18859  // String returns the string representation.
 18860  //
 18861  // API parameter values that are decorated as "sensitive" in the API will not
 18862  // be included in the string output. The member name will be present, but the
 18863  // value will be replaced with "sensitive".
 18864  func (s AwsElbv2LoadBalancerDetails) String() string {
 18865  	return awsutil.Prettify(s)
 18866  }
 18867  
 18868  // GoString returns the string representation.
 18869  //
 18870  // API parameter values that are decorated as "sensitive" in the API will not
 18871  // be included in the string output. The member name will be present, but the
 18872  // value will be replaced with "sensitive".
 18873  func (s AwsElbv2LoadBalancerDetails) GoString() string {
 18874  	return s.String()
 18875  }
 18876  
 18877  // SetAvailabilityZones sets the AvailabilityZones field's value.
 18878  func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
 18879  	s.AvailabilityZones = v
 18880  	return s
 18881  }
 18882  
 18883  // SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
 18884  func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
 18885  	s.CanonicalHostedZoneId = &v
 18886  	return s
 18887  }
 18888  
 18889  // SetCreatedTime sets the CreatedTime field's value.
 18890  func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
 18891  	s.CreatedTime = &v
 18892  	return s
 18893  }
 18894  
 18895  // SetDNSName sets the DNSName field's value.
 18896  func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
 18897  	s.DNSName = &v
 18898  	return s
 18899  }
 18900  
 18901  // SetIpAddressType sets the IpAddressType field's value.
 18902  func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
 18903  	s.IpAddressType = &v
 18904  	return s
 18905  }
 18906  
 18907  // SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
 18908  func (s *AwsElbv2LoadBalancerDetails) SetLoadBalancerAttributes(v []*AwsElbv2LoadBalancerAttribute) *AwsElbv2LoadBalancerDetails {
 18909  	s.LoadBalancerAttributes = v
 18910  	return s
 18911  }
 18912  
 18913  // SetScheme sets the Scheme field's value.
 18914  func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
 18915  	s.Scheme = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetSecurityGroups sets the SecurityGroups field's value.
 18920  func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
 18921  	s.SecurityGroups = v
 18922  	return s
 18923  }
 18924  
 18925  // SetState sets the State field's value.
 18926  func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
 18927  	s.State = v
 18928  	return s
 18929  }
 18930  
 18931  // SetType sets the Type field's value.
 18932  func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
 18933  	s.Type = &v
 18934  	return s
 18935  }
 18936  
 18937  // SetVpcId sets the VpcId field's value.
 18938  func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
 18939  	s.VpcId = &v
 18940  	return s
 18941  }
 18942  
 18943  // IAM access key details related to a finding.
 18944  type AwsIamAccessKeyDetails struct {
 18945  	_ struct{} `type:"structure"`
 18946  
 18947  	// The identifier of the access key.
 18948  	AccessKeyId *string `type:"string"`
 18949  
 18950  	// The Amazon Web Services account ID of the account for the key.
 18951  	AccountId *string `type:"string"`
 18952  
 18953  	// Indicates when the IAM access key was created.
 18954  	//
 18955  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 18956  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 18957  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 18958  	CreatedAt *string `type:"string"`
 18959  
 18960  	// The ID of the principal associated with an access key.
 18961  	PrincipalId *string `type:"string"`
 18962  
 18963  	// The name of the principal.
 18964  	PrincipalName *string `type:"string"`
 18965  
 18966  	// The type of principal associated with an access key.
 18967  	PrincipalType *string `type:"string"`
 18968  
 18969  	// Information about the session that the key was used for.
 18970  	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
 18971  
 18972  	// The status of the IAM access key related to a finding.
 18973  	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
 18974  
 18975  	// The user associated with the IAM access key related to a finding.
 18976  	//
 18977  	// The UserName parameter has been replaced with the PrincipalName parameter
 18978  	// because access keys can also be assigned to principals that are not IAM users.
 18979  	//
 18980  	// Deprecated: This filter is deprecated. Instead, use PrincipalName.
 18981  	UserName *string `deprecated:"true" type:"string"`
 18982  }
 18983  
 18984  // String returns the string representation.
 18985  //
 18986  // API parameter values that are decorated as "sensitive" in the API will not
 18987  // be included in the string output. The member name will be present, but the
 18988  // value will be replaced with "sensitive".
 18989  func (s AwsIamAccessKeyDetails) String() string {
 18990  	return awsutil.Prettify(s)
 18991  }
 18992  
 18993  // GoString returns the string representation.
 18994  //
 18995  // API parameter values that are decorated as "sensitive" in the API will not
 18996  // be included in the string output. The member name will be present, but the
 18997  // value will be replaced with "sensitive".
 18998  func (s AwsIamAccessKeyDetails) GoString() string {
 18999  	return s.String()
 19000  }
 19001  
 19002  // SetAccessKeyId sets the AccessKeyId field's value.
 19003  func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
 19004  	s.AccessKeyId = &v
 19005  	return s
 19006  }
 19007  
 19008  // SetAccountId sets the AccountId field's value.
 19009  func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
 19010  	s.AccountId = &v
 19011  	return s
 19012  }
 19013  
 19014  // SetCreatedAt sets the CreatedAt field's value.
 19015  func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
 19016  	s.CreatedAt = &v
 19017  	return s
 19018  }
 19019  
 19020  // SetPrincipalId sets the PrincipalId field's value.
 19021  func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
 19022  	s.PrincipalId = &v
 19023  	return s
 19024  }
 19025  
 19026  // SetPrincipalName sets the PrincipalName field's value.
 19027  func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
 19028  	s.PrincipalName = &v
 19029  	return s
 19030  }
 19031  
 19032  // SetPrincipalType sets the PrincipalType field's value.
 19033  func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
 19034  	s.PrincipalType = &v
 19035  	return s
 19036  }
 19037  
 19038  // SetSessionContext sets the SessionContext field's value.
 19039  func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
 19040  	s.SessionContext = v
 19041  	return s
 19042  }
 19043  
 19044  // SetStatus sets the Status field's value.
 19045  func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
 19046  	s.Status = &v
 19047  	return s
 19048  }
 19049  
 19050  // SetUserName sets the UserName field's value.
 19051  func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
 19052  	s.UserName = &v
 19053  	return s
 19054  }
 19055  
 19056  // Provides information about the session that the key was used for.
 19057  type AwsIamAccessKeySessionContext struct {
 19058  	_ struct{} `type:"structure"`
 19059  
 19060  	// Attributes of the session that the key was used for.
 19061  	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
 19062  
 19063  	// Information about the entity that created the session.
 19064  	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
 19065  }
 19066  
 19067  // String returns the string representation.
 19068  //
 19069  // API parameter values that are decorated as "sensitive" in the API will not
 19070  // be included in the string output. The member name will be present, but the
 19071  // value will be replaced with "sensitive".
 19072  func (s AwsIamAccessKeySessionContext) String() string {
 19073  	return awsutil.Prettify(s)
 19074  }
 19075  
 19076  // GoString returns the string representation.
 19077  //
 19078  // API parameter values that are decorated as "sensitive" in the API will not
 19079  // be included in the string output. The member name will be present, but the
 19080  // value will be replaced with "sensitive".
 19081  func (s AwsIamAccessKeySessionContext) GoString() string {
 19082  	return s.String()
 19083  }
 19084  
 19085  // SetAttributes sets the Attributes field's value.
 19086  func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
 19087  	s.Attributes = v
 19088  	return s
 19089  }
 19090  
 19091  // SetSessionIssuer sets the SessionIssuer field's value.
 19092  func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
 19093  	s.SessionIssuer = v
 19094  	return s
 19095  }
 19096  
 19097  // Attributes of the session that the key was used for.
 19098  type AwsIamAccessKeySessionContextAttributes struct {
 19099  	_ struct{} `type:"structure"`
 19100  
 19101  	// Indicates when the session was created.
 19102  	//
 19103  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19104  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19105  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19106  	CreationDate *string `type:"string"`
 19107  
 19108  	// Indicates whether the session used multi-factor authentication (MFA).
 19109  	MfaAuthenticated *bool `type:"boolean"`
 19110  }
 19111  
 19112  // String returns the string representation.
 19113  //
 19114  // API parameter values that are decorated as "sensitive" in the API will not
 19115  // be included in the string output. The member name will be present, but the
 19116  // value will be replaced with "sensitive".
 19117  func (s AwsIamAccessKeySessionContextAttributes) String() string {
 19118  	return awsutil.Prettify(s)
 19119  }
 19120  
 19121  // GoString returns the string representation.
 19122  //
 19123  // API parameter values that are decorated as "sensitive" in the API will not
 19124  // be included in the string output. The member name will be present, but the
 19125  // value will be replaced with "sensitive".
 19126  func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
 19127  	return s.String()
 19128  }
 19129  
 19130  // SetCreationDate sets the CreationDate field's value.
 19131  func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
 19132  	s.CreationDate = &v
 19133  	return s
 19134  }
 19135  
 19136  // SetMfaAuthenticated sets the MfaAuthenticated field's value.
 19137  func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
 19138  	s.MfaAuthenticated = &v
 19139  	return s
 19140  }
 19141  
 19142  // Information about the entity that created the session.
 19143  type AwsIamAccessKeySessionContextSessionIssuer struct {
 19144  	_ struct{} `type:"structure"`
 19145  
 19146  	// The identifier of the Amazon Web Services account that created the session.
 19147  	AccountId *string `type:"string"`
 19148  
 19149  	// The ARN of the session.
 19150  	Arn *string `type:"string"`
 19151  
 19152  	// The principal ID of the principal (user, role, or group) that created the
 19153  	// session.
 19154  	PrincipalId *string `type:"string"`
 19155  
 19156  	// The type of principal (user, role, or group) that created the session.
 19157  	Type *string `type:"string"`
 19158  
 19159  	// The name of the principal that created the session.
 19160  	UserName *string `type:"string"`
 19161  }
 19162  
 19163  // String returns the string representation.
 19164  //
 19165  // API parameter values that are decorated as "sensitive" in the API will not
 19166  // be included in the string output. The member name will be present, but the
 19167  // value will be replaced with "sensitive".
 19168  func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
 19169  	return awsutil.Prettify(s)
 19170  }
 19171  
 19172  // GoString returns the string representation.
 19173  //
 19174  // API parameter values that are decorated as "sensitive" in the API will not
 19175  // be included in the string output. The member name will be present, but the
 19176  // value will be replaced with "sensitive".
 19177  func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
 19178  	return s.String()
 19179  }
 19180  
 19181  // SetAccountId sets the AccountId field's value.
 19182  func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
 19183  	s.AccountId = &v
 19184  	return s
 19185  }
 19186  
 19187  // SetArn sets the Arn field's value.
 19188  func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
 19189  	s.Arn = &v
 19190  	return s
 19191  }
 19192  
 19193  // SetPrincipalId sets the PrincipalId field's value.
 19194  func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
 19195  	s.PrincipalId = &v
 19196  	return s
 19197  }
 19198  
 19199  // SetType sets the Type field's value.
 19200  func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
 19201  	s.Type = &v
 19202  	return s
 19203  }
 19204  
 19205  // SetUserName sets the UserName field's value.
 19206  func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
 19207  	s.UserName = &v
 19208  	return s
 19209  }
 19210  
 19211  // A managed policy that is attached to an IAM principal.
 19212  type AwsIamAttachedManagedPolicy struct {
 19213  	_ struct{} `type:"structure"`
 19214  
 19215  	// The ARN of the policy.
 19216  	PolicyArn *string `type:"string"`
 19217  
 19218  	// The name of the policy.
 19219  	PolicyName *string `type:"string"`
 19220  }
 19221  
 19222  // String returns the string representation.
 19223  //
 19224  // API parameter values that are decorated as "sensitive" in the API will not
 19225  // be included in the string output. The member name will be present, but the
 19226  // value will be replaced with "sensitive".
 19227  func (s AwsIamAttachedManagedPolicy) String() string {
 19228  	return awsutil.Prettify(s)
 19229  }
 19230  
 19231  // GoString returns the string representation.
 19232  //
 19233  // API parameter values that are decorated as "sensitive" in the API will not
 19234  // be included in the string output. The member name will be present, but the
 19235  // value will be replaced with "sensitive".
 19236  func (s AwsIamAttachedManagedPolicy) GoString() string {
 19237  	return s.String()
 19238  }
 19239  
 19240  // SetPolicyArn sets the PolicyArn field's value.
 19241  func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
 19242  	s.PolicyArn = &v
 19243  	return s
 19244  }
 19245  
 19246  // SetPolicyName sets the PolicyName field's value.
 19247  func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
 19248  	s.PolicyName = &v
 19249  	return s
 19250  }
 19251  
 19252  // Contains details about an IAM group.
 19253  type AwsIamGroupDetails struct {
 19254  	_ struct{} `type:"structure"`
 19255  
 19256  	// A list of the managed policies that are attached to the IAM group.
 19257  	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
 19258  
 19259  	// Indicates when the IAM group was created.
 19260  	//
 19261  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19262  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19263  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19264  	CreateDate *string `type:"string"`
 19265  
 19266  	// The identifier of the IAM group.
 19267  	GroupId *string `type:"string"`
 19268  
 19269  	// The name of the IAM group.
 19270  	GroupName *string `type:"string"`
 19271  
 19272  	// The list of inline policies that are embedded in the group.
 19273  	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
 19274  
 19275  	// The path to the group.
 19276  	Path *string `type:"string"`
 19277  }
 19278  
 19279  // String returns the string representation.
 19280  //
 19281  // API parameter values that are decorated as "sensitive" in the API will not
 19282  // be included in the string output. The member name will be present, but the
 19283  // value will be replaced with "sensitive".
 19284  func (s AwsIamGroupDetails) String() string {
 19285  	return awsutil.Prettify(s)
 19286  }
 19287  
 19288  // GoString returns the string representation.
 19289  //
 19290  // API parameter values that are decorated as "sensitive" in the API will not
 19291  // be included in the string output. The member name will be present, but the
 19292  // value will be replaced with "sensitive".
 19293  func (s AwsIamGroupDetails) GoString() string {
 19294  	return s.String()
 19295  }
 19296  
 19297  // SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
 19298  func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
 19299  	s.AttachedManagedPolicies = v
 19300  	return s
 19301  }
 19302  
 19303  // SetCreateDate sets the CreateDate field's value.
 19304  func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
 19305  	s.CreateDate = &v
 19306  	return s
 19307  }
 19308  
 19309  // SetGroupId sets the GroupId field's value.
 19310  func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
 19311  	s.GroupId = &v
 19312  	return s
 19313  }
 19314  
 19315  // SetGroupName sets the GroupName field's value.
 19316  func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
 19317  	s.GroupName = &v
 19318  	return s
 19319  }
 19320  
 19321  // SetGroupPolicyList sets the GroupPolicyList field's value.
 19322  func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
 19323  	s.GroupPolicyList = v
 19324  	return s
 19325  }
 19326  
 19327  // SetPath sets the Path field's value.
 19328  func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
 19329  	s.Path = &v
 19330  	return s
 19331  }
 19332  
 19333  // A managed policy that is attached to the IAM group.
 19334  type AwsIamGroupPolicy struct {
 19335  	_ struct{} `type:"structure"`
 19336  
 19337  	// The name of the policy.
 19338  	PolicyName *string `type:"string"`
 19339  }
 19340  
 19341  // String returns the string representation.
 19342  //
 19343  // API parameter values that are decorated as "sensitive" in the API will not
 19344  // be included in the string output. The member name will be present, but the
 19345  // value will be replaced with "sensitive".
 19346  func (s AwsIamGroupPolicy) String() string {
 19347  	return awsutil.Prettify(s)
 19348  }
 19349  
 19350  // GoString returns the string representation.
 19351  //
 19352  // API parameter values that are decorated as "sensitive" in the API will not
 19353  // be included in the string output. The member name will be present, but the
 19354  // value will be replaced with "sensitive".
 19355  func (s AwsIamGroupPolicy) GoString() string {
 19356  	return s.String()
 19357  }
 19358  
 19359  // SetPolicyName sets the PolicyName field's value.
 19360  func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
 19361  	s.PolicyName = &v
 19362  	return s
 19363  }
 19364  
 19365  // Information about an instance profile.
 19366  type AwsIamInstanceProfile struct {
 19367  	_ struct{} `type:"structure"`
 19368  
 19369  	// The ARN of the instance profile.
 19370  	Arn *string `type:"string"`
 19371  
 19372  	// Indicates when the instance profile was created.
 19373  	//
 19374  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19375  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19376  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19377  	CreateDate *string `type:"string"`
 19378  
 19379  	// The identifier of the instance profile.
 19380  	InstanceProfileId *string `type:"string"`
 19381  
 19382  	// The name of the instance profile.
 19383  	InstanceProfileName *string `type:"string"`
 19384  
 19385  	// The path to the instance profile.
 19386  	Path *string `type:"string"`
 19387  
 19388  	// The roles associated with the instance profile.
 19389  	Roles []*AwsIamInstanceProfileRole `type:"list"`
 19390  }
 19391  
 19392  // String returns the string representation.
 19393  //
 19394  // API parameter values that are decorated as "sensitive" in the API will not
 19395  // be included in the string output. The member name will be present, but the
 19396  // value will be replaced with "sensitive".
 19397  func (s AwsIamInstanceProfile) String() string {
 19398  	return awsutil.Prettify(s)
 19399  }
 19400  
 19401  // GoString returns the string representation.
 19402  //
 19403  // API parameter values that are decorated as "sensitive" in the API will not
 19404  // be included in the string output. The member name will be present, but the
 19405  // value will be replaced with "sensitive".
 19406  func (s AwsIamInstanceProfile) GoString() string {
 19407  	return s.String()
 19408  }
 19409  
 19410  // Validate inspects the fields of the type to determine if they are valid.
 19411  func (s *AwsIamInstanceProfile) Validate() error {
 19412  	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
 19413  	if s.Roles != nil {
 19414  		for i, v := range s.Roles {
 19415  			if v == nil {
 19416  				continue
 19417  			}
 19418  			if err := v.Validate(); err != nil {
 19419  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
 19420  			}
 19421  		}
 19422  	}
 19423  
 19424  	if invalidParams.Len() > 0 {
 19425  		return invalidParams
 19426  	}
 19427  	return nil
 19428  }
 19429  
 19430  // SetArn sets the Arn field's value.
 19431  func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
 19432  	s.Arn = &v
 19433  	return s
 19434  }
 19435  
 19436  // SetCreateDate sets the CreateDate field's value.
 19437  func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
 19438  	s.CreateDate = &v
 19439  	return s
 19440  }
 19441  
 19442  // SetInstanceProfileId sets the InstanceProfileId field's value.
 19443  func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
 19444  	s.InstanceProfileId = &v
 19445  	return s
 19446  }
 19447  
 19448  // SetInstanceProfileName sets the InstanceProfileName field's value.
 19449  func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
 19450  	s.InstanceProfileName = &v
 19451  	return s
 19452  }
 19453  
 19454  // SetPath sets the Path field's value.
 19455  func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
 19456  	s.Path = &v
 19457  	return s
 19458  }
 19459  
 19460  // SetRoles sets the Roles field's value.
 19461  func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
 19462  	s.Roles = v
 19463  	return s
 19464  }
 19465  
 19466  // Information about a role associated with an instance profile.
 19467  type AwsIamInstanceProfileRole struct {
 19468  	_ struct{} `type:"structure"`
 19469  
 19470  	// The ARN of the role.
 19471  	Arn *string `type:"string"`
 19472  
 19473  	// The policy that grants an entity permission to assume the role.
 19474  	AssumeRolePolicyDocument *string `min:"1" type:"string"`
 19475  
 19476  	// Indicates when the role was created.
 19477  	//
 19478  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19479  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19480  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19481  	CreateDate *string `type:"string"`
 19482  
 19483  	// The path to the role.
 19484  	Path *string `type:"string"`
 19485  
 19486  	// The identifier of the role.
 19487  	RoleId *string `type:"string"`
 19488  
 19489  	// The name of the role.
 19490  	RoleName *string `type:"string"`
 19491  }
 19492  
 19493  // String returns the string representation.
 19494  //
 19495  // API parameter values that are decorated as "sensitive" in the API will not
 19496  // be included in the string output. The member name will be present, but the
 19497  // value will be replaced with "sensitive".
 19498  func (s AwsIamInstanceProfileRole) String() string {
 19499  	return awsutil.Prettify(s)
 19500  }
 19501  
 19502  // GoString returns the string representation.
 19503  //
 19504  // API parameter values that are decorated as "sensitive" in the API will not
 19505  // be included in the string output. The member name will be present, but the
 19506  // value will be replaced with "sensitive".
 19507  func (s AwsIamInstanceProfileRole) GoString() string {
 19508  	return s.String()
 19509  }
 19510  
 19511  // Validate inspects the fields of the type to determine if they are valid.
 19512  func (s *AwsIamInstanceProfileRole) Validate() error {
 19513  	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
 19514  	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
 19515  		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
 19516  	}
 19517  
 19518  	if invalidParams.Len() > 0 {
 19519  		return invalidParams
 19520  	}
 19521  	return nil
 19522  }
 19523  
 19524  // SetArn sets the Arn field's value.
 19525  func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
 19526  	s.Arn = &v
 19527  	return s
 19528  }
 19529  
 19530  // SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
 19531  func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
 19532  	s.AssumeRolePolicyDocument = &v
 19533  	return s
 19534  }
 19535  
 19536  // SetCreateDate sets the CreateDate field's value.
 19537  func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
 19538  	s.CreateDate = &v
 19539  	return s
 19540  }
 19541  
 19542  // SetPath sets the Path field's value.
 19543  func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
 19544  	s.Path = &v
 19545  	return s
 19546  }
 19547  
 19548  // SetRoleId sets the RoleId field's value.
 19549  func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
 19550  	s.RoleId = &v
 19551  	return s
 19552  }
 19553  
 19554  // SetRoleName sets the RoleName field's value.
 19555  func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
 19556  	s.RoleName = &v
 19557  	return s
 19558  }
 19559  
 19560  // Information about the policy used to set the permissions boundary for an
 19561  // IAM principal.
 19562  type AwsIamPermissionsBoundary struct {
 19563  	_ struct{} `type:"structure"`
 19564  
 19565  	// The ARN of the policy used to set the permissions boundary.
 19566  	PermissionsBoundaryArn *string `type:"string"`
 19567  
 19568  	// The usage type for the permissions boundary.
 19569  	PermissionsBoundaryType *string `type:"string"`
 19570  }
 19571  
 19572  // String returns the string representation.
 19573  //
 19574  // API parameter values that are decorated as "sensitive" in the API will not
 19575  // be included in the string output. The member name will be present, but the
 19576  // value will be replaced with "sensitive".
 19577  func (s AwsIamPermissionsBoundary) String() string {
 19578  	return awsutil.Prettify(s)
 19579  }
 19580  
 19581  // GoString returns the string representation.
 19582  //
 19583  // API parameter values that are decorated as "sensitive" in the API will not
 19584  // be included in the string output. The member name will be present, but the
 19585  // value will be replaced with "sensitive".
 19586  func (s AwsIamPermissionsBoundary) GoString() string {
 19587  	return s.String()
 19588  }
 19589  
 19590  // SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
 19591  func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
 19592  	s.PermissionsBoundaryArn = &v
 19593  	return s
 19594  }
 19595  
 19596  // SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
 19597  func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
 19598  	s.PermissionsBoundaryType = &v
 19599  	return s
 19600  }
 19601  
 19602  // Represents an IAM permissions policy.
 19603  type AwsIamPolicyDetails struct {
 19604  	_ struct{} `type:"structure"`
 19605  
 19606  	// The number of users, groups, and roles that the policy is attached to.
 19607  	AttachmentCount *int64 `type:"integer"`
 19608  
 19609  	// When the policy was created.
 19610  	//
 19611  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19612  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19613  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19614  	CreateDate *string `type:"string"`
 19615  
 19616  	// The identifier of the default version of the policy.
 19617  	DefaultVersionId *string `type:"string"`
 19618  
 19619  	// A description of the policy.
 19620  	Description *string `type:"string"`
 19621  
 19622  	// Whether the policy can be attached to a user, group, or role.
 19623  	IsAttachable *bool `type:"boolean"`
 19624  
 19625  	// The path to the policy.
 19626  	Path *string `type:"string"`
 19627  
 19628  	// The number of users and roles that use the policy to set the permissions
 19629  	// boundary.
 19630  	PermissionsBoundaryUsageCount *int64 `type:"integer"`
 19631  
 19632  	// The unique identifier of the policy.
 19633  	PolicyId *string `type:"string"`
 19634  
 19635  	// The name of the policy.
 19636  	PolicyName *string `type:"string"`
 19637  
 19638  	// List of versions of the policy.
 19639  	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
 19640  
 19641  	// When the policy was most recently updated.
 19642  	//
 19643  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19644  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19645  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19646  	UpdateDate *string `type:"string"`
 19647  }
 19648  
 19649  // String returns the string representation.
 19650  //
 19651  // API parameter values that are decorated as "sensitive" in the API will not
 19652  // be included in the string output. The member name will be present, but the
 19653  // value will be replaced with "sensitive".
 19654  func (s AwsIamPolicyDetails) String() string {
 19655  	return awsutil.Prettify(s)
 19656  }
 19657  
 19658  // GoString returns the string representation.
 19659  //
 19660  // API parameter values that are decorated as "sensitive" in the API will not
 19661  // be included in the string output. The member name will be present, but the
 19662  // value will be replaced with "sensitive".
 19663  func (s AwsIamPolicyDetails) GoString() string {
 19664  	return s.String()
 19665  }
 19666  
 19667  // SetAttachmentCount sets the AttachmentCount field's value.
 19668  func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
 19669  	s.AttachmentCount = &v
 19670  	return s
 19671  }
 19672  
 19673  // SetCreateDate sets the CreateDate field's value.
 19674  func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
 19675  	s.CreateDate = &v
 19676  	return s
 19677  }
 19678  
 19679  // SetDefaultVersionId sets the DefaultVersionId field's value.
 19680  func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
 19681  	s.DefaultVersionId = &v
 19682  	return s
 19683  }
 19684  
 19685  // SetDescription sets the Description field's value.
 19686  func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
 19687  	s.Description = &v
 19688  	return s
 19689  }
 19690  
 19691  // SetIsAttachable sets the IsAttachable field's value.
 19692  func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
 19693  	s.IsAttachable = &v
 19694  	return s
 19695  }
 19696  
 19697  // SetPath sets the Path field's value.
 19698  func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
 19699  	s.Path = &v
 19700  	return s
 19701  }
 19702  
 19703  // SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
 19704  func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
 19705  	s.PermissionsBoundaryUsageCount = &v
 19706  	return s
 19707  }
 19708  
 19709  // SetPolicyId sets the PolicyId field's value.
 19710  func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
 19711  	s.PolicyId = &v
 19712  	return s
 19713  }
 19714  
 19715  // SetPolicyName sets the PolicyName field's value.
 19716  func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
 19717  	s.PolicyName = &v
 19718  	return s
 19719  }
 19720  
 19721  // SetPolicyVersionList sets the PolicyVersionList field's value.
 19722  func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
 19723  	s.PolicyVersionList = v
 19724  	return s
 19725  }
 19726  
 19727  // SetUpdateDate sets the UpdateDate field's value.
 19728  func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
 19729  	s.UpdateDate = &v
 19730  	return s
 19731  }
 19732  
 19733  // A version of an IAM policy.
 19734  type AwsIamPolicyVersion struct {
 19735  	_ struct{} `type:"structure"`
 19736  
 19737  	// Indicates when the version was created.
 19738  	//
 19739  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19740  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19741  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19742  	CreateDate *string `type:"string"`
 19743  
 19744  	// Whether the version is the default version.
 19745  	IsDefaultVersion *bool `type:"boolean"`
 19746  
 19747  	// The identifier of the policy version.
 19748  	VersionId *string `type:"string"`
 19749  }
 19750  
 19751  // String returns the string representation.
 19752  //
 19753  // API parameter values that are decorated as "sensitive" in the API will not
 19754  // be included in the string output. The member name will be present, but the
 19755  // value will be replaced with "sensitive".
 19756  func (s AwsIamPolicyVersion) String() string {
 19757  	return awsutil.Prettify(s)
 19758  }
 19759  
 19760  // GoString returns the string representation.
 19761  //
 19762  // API parameter values that are decorated as "sensitive" in the API will not
 19763  // be included in the string output. The member name will be present, but the
 19764  // value will be replaced with "sensitive".
 19765  func (s AwsIamPolicyVersion) GoString() string {
 19766  	return s.String()
 19767  }
 19768  
 19769  // SetCreateDate sets the CreateDate field's value.
 19770  func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
 19771  	s.CreateDate = &v
 19772  	return s
 19773  }
 19774  
 19775  // SetIsDefaultVersion sets the IsDefaultVersion field's value.
 19776  func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
 19777  	s.IsDefaultVersion = &v
 19778  	return s
 19779  }
 19780  
 19781  // SetVersionId sets the VersionId field's value.
 19782  func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
 19783  	s.VersionId = &v
 19784  	return s
 19785  }
 19786  
 19787  // Contains information about an IAM role, including all of the role's policies.
 19788  type AwsIamRoleDetails struct {
 19789  	_ struct{} `type:"structure"`
 19790  
 19791  	// The trust policy that grants permission to assume the role.
 19792  	AssumeRolePolicyDocument *string `min:"1" type:"string"`
 19793  
 19794  	// The list of the managed policies that are attached to the role.
 19795  	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
 19796  
 19797  	// Indicates when the role was created.
 19798  	//
 19799  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19800  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19801  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19802  	CreateDate *string `type:"string"`
 19803  
 19804  	// The list of instance profiles that contain this role.
 19805  	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
 19806  
 19807  	// The maximum session duration (in seconds) that you want to set for the specified
 19808  	// role.
 19809  	MaxSessionDuration *int64 `type:"integer"`
 19810  
 19811  	// The path to the role.
 19812  	Path *string `type:"string"`
 19813  
 19814  	// Information about the policy used to set the permissions boundary for an
 19815  	// IAM principal.
 19816  	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
 19817  
 19818  	// The stable and unique string identifying the role.
 19819  	RoleId *string `type:"string"`
 19820  
 19821  	// The friendly name that identifies the role.
 19822  	RoleName *string `type:"string"`
 19823  
 19824  	// The list of inline policies that are embedded in the role.
 19825  	RolePolicyList []*AwsIamRolePolicy `type:"list"`
 19826  }
 19827  
 19828  // String returns the string representation.
 19829  //
 19830  // API parameter values that are decorated as "sensitive" in the API will not
 19831  // be included in the string output. The member name will be present, but the
 19832  // value will be replaced with "sensitive".
 19833  func (s AwsIamRoleDetails) String() string {
 19834  	return awsutil.Prettify(s)
 19835  }
 19836  
 19837  // GoString returns the string representation.
 19838  //
 19839  // API parameter values that are decorated as "sensitive" in the API will not
 19840  // be included in the string output. The member name will be present, but the
 19841  // value will be replaced with "sensitive".
 19842  func (s AwsIamRoleDetails) GoString() string {
 19843  	return s.String()
 19844  }
 19845  
 19846  // Validate inspects the fields of the type to determine if they are valid.
 19847  func (s *AwsIamRoleDetails) Validate() error {
 19848  	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
 19849  	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
 19850  		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
 19851  	}
 19852  	if s.InstanceProfileList != nil {
 19853  		for i, v := range s.InstanceProfileList {
 19854  			if v == nil {
 19855  				continue
 19856  			}
 19857  			if err := v.Validate(); err != nil {
 19858  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
 19859  			}
 19860  		}
 19861  	}
 19862  
 19863  	if invalidParams.Len() > 0 {
 19864  		return invalidParams
 19865  	}
 19866  	return nil
 19867  }
 19868  
 19869  // SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
 19870  func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
 19871  	s.AssumeRolePolicyDocument = &v
 19872  	return s
 19873  }
 19874  
 19875  // SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
 19876  func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
 19877  	s.AttachedManagedPolicies = v
 19878  	return s
 19879  }
 19880  
 19881  // SetCreateDate sets the CreateDate field's value.
 19882  func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
 19883  	s.CreateDate = &v
 19884  	return s
 19885  }
 19886  
 19887  // SetInstanceProfileList sets the InstanceProfileList field's value.
 19888  func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
 19889  	s.InstanceProfileList = v
 19890  	return s
 19891  }
 19892  
 19893  // SetMaxSessionDuration sets the MaxSessionDuration field's value.
 19894  func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
 19895  	s.MaxSessionDuration = &v
 19896  	return s
 19897  }
 19898  
 19899  // SetPath sets the Path field's value.
 19900  func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
 19901  	s.Path = &v
 19902  	return s
 19903  }
 19904  
 19905  // SetPermissionsBoundary sets the PermissionsBoundary field's value.
 19906  func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
 19907  	s.PermissionsBoundary = v
 19908  	return s
 19909  }
 19910  
 19911  // SetRoleId sets the RoleId field's value.
 19912  func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
 19913  	s.RoleId = &v
 19914  	return s
 19915  }
 19916  
 19917  // SetRoleName sets the RoleName field's value.
 19918  func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
 19919  	s.RoleName = &v
 19920  	return s
 19921  }
 19922  
 19923  // SetRolePolicyList sets the RolePolicyList field's value.
 19924  func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
 19925  	s.RolePolicyList = v
 19926  	return s
 19927  }
 19928  
 19929  // An inline policy that is embedded in the role.
 19930  type AwsIamRolePolicy struct {
 19931  	_ struct{} `type:"structure"`
 19932  
 19933  	// The name of the policy.
 19934  	PolicyName *string `type:"string"`
 19935  }
 19936  
 19937  // String returns the string representation.
 19938  //
 19939  // API parameter values that are decorated as "sensitive" in the API will not
 19940  // be included in the string output. The member name will be present, but the
 19941  // value will be replaced with "sensitive".
 19942  func (s AwsIamRolePolicy) String() string {
 19943  	return awsutil.Prettify(s)
 19944  }
 19945  
 19946  // GoString returns the string representation.
 19947  //
 19948  // API parameter values that are decorated as "sensitive" in the API will not
 19949  // be included in the string output. The member name will be present, but the
 19950  // value will be replaced with "sensitive".
 19951  func (s AwsIamRolePolicy) GoString() string {
 19952  	return s.String()
 19953  }
 19954  
 19955  // SetPolicyName sets the PolicyName field's value.
 19956  func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
 19957  	s.PolicyName = &v
 19958  	return s
 19959  }
 19960  
 19961  // Information about an IAM user.
 19962  type AwsIamUserDetails struct {
 19963  	_ struct{} `type:"structure"`
 19964  
 19965  	// A list of the managed policies that are attached to the user.
 19966  	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
 19967  
 19968  	// Indicates when the user was created.
 19969  	//
 19970  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 19971  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 19972  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 19973  	CreateDate *string `type:"string"`
 19974  
 19975  	// A list of IAM groups that the user belongs to.
 19976  	GroupList []*string `type:"list"`
 19977  
 19978  	// The path to the user.
 19979  	Path *string `type:"string"`
 19980  
 19981  	// The permissions boundary for the user.
 19982  	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
 19983  
 19984  	// The unique identifier for the user.
 19985  	UserId *string `type:"string"`
 19986  
 19987  	// The name of the user.
 19988  	UserName *string `type:"string"`
 19989  
 19990  	// The list of inline policies that are embedded in the user.
 19991  	UserPolicyList []*AwsIamUserPolicy `type:"list"`
 19992  }
 19993  
 19994  // String returns the string representation.
 19995  //
 19996  // API parameter values that are decorated as "sensitive" in the API will not
 19997  // be included in the string output. The member name will be present, but the
 19998  // value will be replaced with "sensitive".
 19999  func (s AwsIamUserDetails) String() string {
 20000  	return awsutil.Prettify(s)
 20001  }
 20002  
 20003  // GoString returns the string representation.
 20004  //
 20005  // API parameter values that are decorated as "sensitive" in the API will not
 20006  // be included in the string output. The member name will be present, but the
 20007  // value will be replaced with "sensitive".
 20008  func (s AwsIamUserDetails) GoString() string {
 20009  	return s.String()
 20010  }
 20011  
 20012  // SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
 20013  func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
 20014  	s.AttachedManagedPolicies = v
 20015  	return s
 20016  }
 20017  
 20018  // SetCreateDate sets the CreateDate field's value.
 20019  func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
 20020  	s.CreateDate = &v
 20021  	return s
 20022  }
 20023  
 20024  // SetGroupList sets the GroupList field's value.
 20025  func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
 20026  	s.GroupList = v
 20027  	return s
 20028  }
 20029  
 20030  // SetPath sets the Path field's value.
 20031  func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
 20032  	s.Path = &v
 20033  	return s
 20034  }
 20035  
 20036  // SetPermissionsBoundary sets the PermissionsBoundary field's value.
 20037  func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
 20038  	s.PermissionsBoundary = v
 20039  	return s
 20040  }
 20041  
 20042  // SetUserId sets the UserId field's value.
 20043  func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
 20044  	s.UserId = &v
 20045  	return s
 20046  }
 20047  
 20048  // SetUserName sets the UserName field's value.
 20049  func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
 20050  	s.UserName = &v
 20051  	return s
 20052  }
 20053  
 20054  // SetUserPolicyList sets the UserPolicyList field's value.
 20055  func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
 20056  	s.UserPolicyList = v
 20057  	return s
 20058  }
 20059  
 20060  // Information about an inline policy that is embedded in the user.
 20061  type AwsIamUserPolicy struct {
 20062  	_ struct{} `type:"structure"`
 20063  
 20064  	// The name of the policy.
 20065  	PolicyName *string `type:"string"`
 20066  }
 20067  
 20068  // String returns the string representation.
 20069  //
 20070  // API parameter values that are decorated as "sensitive" in the API will not
 20071  // be included in the string output. The member name will be present, but the
 20072  // value will be replaced with "sensitive".
 20073  func (s AwsIamUserPolicy) String() string {
 20074  	return awsutil.Prettify(s)
 20075  }
 20076  
 20077  // GoString returns the string representation.
 20078  //
 20079  // API parameter values that are decorated as "sensitive" in the API will not
 20080  // be included in the string output. The member name will be present, but the
 20081  // value will be replaced with "sensitive".
 20082  func (s AwsIamUserPolicy) GoString() string {
 20083  	return s.String()
 20084  }
 20085  
 20086  // SetPolicyName sets the PolicyName field's value.
 20087  func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
 20088  	s.PolicyName = &v
 20089  	return s
 20090  }
 20091  
 20092  // Contains metadata about an KMS key.
 20093  type AwsKmsKeyDetails struct {
 20094  	_ struct{} `type:"structure"`
 20095  
 20096  	// The twelve-digit account ID of the Amazon Web Services account that owns
 20097  	// the KMS key.
 20098  	AWSAccountId *string `type:"string"`
 20099  
 20100  	// Indicates when the KMS key was created.
 20101  	//
 20102  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 20103  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 20104  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 20105  	CreationDate *float64 `type:"double"`
 20106  
 20107  	// A description of the key.
 20108  	Description *string `type:"string"`
 20109  
 20110  	// The globally unique identifier for the KMS key.
 20111  	KeyId *string `type:"string"`
 20112  
 20113  	// The manager of the KMS key. KMS keys in your Amazon Web Services account
 20114  	// are either customer managed or Amazon Web Services managed.
 20115  	KeyManager *string `type:"string"`
 20116  
 20117  	// Whether the key has key rotation enabled.
 20118  	KeyRotationStatus *bool `type:"boolean"`
 20119  
 20120  	// The state of the KMS key.
 20121  	KeyState *string `type:"string"`
 20122  
 20123  	// The source of the KMS key material.
 20124  	//
 20125  	// When this value is AWS_KMS, KMS created the key material.
 20126  	//
 20127  	// When this value is EXTERNAL, the key material was imported from your existing
 20128  	// key management infrastructure or the KMS key lacks key material.
 20129  	//
 20130  	// When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM
 20131  	// cluster associated with a custom key store.
 20132  	Origin *string `type:"string"`
 20133  }
 20134  
 20135  // String returns the string representation.
 20136  //
 20137  // API parameter values that are decorated as "sensitive" in the API will not
 20138  // be included in the string output. The member name will be present, but the
 20139  // value will be replaced with "sensitive".
 20140  func (s AwsKmsKeyDetails) String() string {
 20141  	return awsutil.Prettify(s)
 20142  }
 20143  
 20144  // GoString returns the string representation.
 20145  //
 20146  // API parameter values that are decorated as "sensitive" in the API will not
 20147  // be included in the string output. The member name will be present, but the
 20148  // value will be replaced with "sensitive".
 20149  func (s AwsKmsKeyDetails) GoString() string {
 20150  	return s.String()
 20151  }
 20152  
 20153  // SetAWSAccountId sets the AWSAccountId field's value.
 20154  func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
 20155  	s.AWSAccountId = &v
 20156  	return s
 20157  }
 20158  
 20159  // SetCreationDate sets the CreationDate field's value.
 20160  func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
 20161  	s.CreationDate = &v
 20162  	return s
 20163  }
 20164  
 20165  // SetDescription sets the Description field's value.
 20166  func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
 20167  	s.Description = &v
 20168  	return s
 20169  }
 20170  
 20171  // SetKeyId sets the KeyId field's value.
 20172  func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
 20173  	s.KeyId = &v
 20174  	return s
 20175  }
 20176  
 20177  // SetKeyManager sets the KeyManager field's value.
 20178  func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
 20179  	s.KeyManager = &v
 20180  	return s
 20181  }
 20182  
 20183  // SetKeyRotationStatus sets the KeyRotationStatus field's value.
 20184  func (s *AwsKmsKeyDetails) SetKeyRotationStatus(v bool) *AwsKmsKeyDetails {
 20185  	s.KeyRotationStatus = &v
 20186  	return s
 20187  }
 20188  
 20189  // SetKeyState sets the KeyState field's value.
 20190  func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
 20191  	s.KeyState = &v
 20192  	return s
 20193  }
 20194  
 20195  // SetOrigin sets the Origin field's value.
 20196  func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
 20197  	s.Origin = &v
 20198  	return s
 20199  }
 20200  
 20201  // The code for the Lambda function. You can specify either an object in Amazon
 20202  // S3, or upload a deployment package directly.
 20203  type AwsLambdaFunctionCode struct {
 20204  	_ struct{} `type:"structure"`
 20205  
 20206  	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
 20207  	// The bucket can be in a different Amazon Web Services account.
 20208  	S3Bucket *string `type:"string"`
 20209  
 20210  	// The Amazon S3 key of the deployment package.
 20211  	S3Key *string `type:"string"`
 20212  
 20213  	// For versioned objects, the version of the deployment package object to use.
 20214  	S3ObjectVersion *string `type:"string"`
 20215  
 20216  	// The base64-encoded contents of the deployment package. Amazon Web Services
 20217  	// SDK and Amazon Web Services CLI clients handle the encoding for you.
 20218  	ZipFile *string `type:"string"`
 20219  }
 20220  
 20221  // String returns the string representation.
 20222  //
 20223  // API parameter values that are decorated as "sensitive" in the API will not
 20224  // be included in the string output. The member name will be present, but the
 20225  // value will be replaced with "sensitive".
 20226  func (s AwsLambdaFunctionCode) String() string {
 20227  	return awsutil.Prettify(s)
 20228  }
 20229  
 20230  // GoString returns the string representation.
 20231  //
 20232  // API parameter values that are decorated as "sensitive" in the API will not
 20233  // be included in the string output. The member name will be present, but the
 20234  // value will be replaced with "sensitive".
 20235  func (s AwsLambdaFunctionCode) GoString() string {
 20236  	return s.String()
 20237  }
 20238  
 20239  // SetS3Bucket sets the S3Bucket field's value.
 20240  func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
 20241  	s.S3Bucket = &v
 20242  	return s
 20243  }
 20244  
 20245  // SetS3Key sets the S3Key field's value.
 20246  func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
 20247  	s.S3Key = &v
 20248  	return s
 20249  }
 20250  
 20251  // SetS3ObjectVersion sets the S3ObjectVersion field's value.
 20252  func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
 20253  	s.S3ObjectVersion = &v
 20254  	return s
 20255  }
 20256  
 20257  // SetZipFile sets the ZipFile field's value.
 20258  func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
 20259  	s.ZipFile = &v
 20260  	return s
 20261  }
 20262  
 20263  // The dead-letter queue for failed asynchronous invocations.
 20264  type AwsLambdaFunctionDeadLetterConfig struct {
 20265  	_ struct{} `type:"structure"`
 20266  
 20267  	// The ARN of an SQS queue or SNS topic.
 20268  	TargetArn *string `type:"string"`
 20269  }
 20270  
 20271  // String returns the string representation.
 20272  //
 20273  // API parameter values that are decorated as "sensitive" in the API will not
 20274  // be included in the string output. The member name will be present, but the
 20275  // value will be replaced with "sensitive".
 20276  func (s AwsLambdaFunctionDeadLetterConfig) String() string {
 20277  	return awsutil.Prettify(s)
 20278  }
 20279  
 20280  // GoString returns the string representation.
 20281  //
 20282  // API parameter values that are decorated as "sensitive" in the API will not
 20283  // be included in the string output. The member name will be present, but the
 20284  // value will be replaced with "sensitive".
 20285  func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
 20286  	return s.String()
 20287  }
 20288  
 20289  // SetTargetArn sets the TargetArn field's value.
 20290  func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
 20291  	s.TargetArn = &v
 20292  	return s
 20293  }
 20294  
 20295  // Details about a function's configuration.
 20296  type AwsLambdaFunctionDetails struct {
 20297  	_ struct{} `type:"structure"`
 20298  
 20299  	// An AwsLambdaFunctionCode object.
 20300  	Code *AwsLambdaFunctionCode `type:"structure"`
 20301  
 20302  	// The SHA256 hash of the function's deployment package.
 20303  	CodeSha256 *string `type:"string"`
 20304  
 20305  	// The function's dead letter queue.
 20306  	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
 20307  
 20308  	// The function's environment variables.
 20309  	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
 20310  
 20311  	// The name of the function.
 20312  	FunctionName *string `type:"string"`
 20313  
 20314  	// The function that Lambda calls to begin executing your function.
 20315  	Handler *string `type:"string"`
 20316  
 20317  	// The KMS key that is used to encrypt the function's environment variables.
 20318  	// This key is only returned if you've configured a customer managed customer
 20319  	// managed key.
 20320  	KmsKeyArn *string `type:"string"`
 20321  
 20322  	// Indicates when the function was last updated.
 20323  	//
 20324  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 20325  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 20326  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 20327  	LastModified *string `type:"string"`
 20328  
 20329  	// The function's layers.
 20330  	Layers []*AwsLambdaFunctionLayer `type:"list"`
 20331  
 20332  	// For Lambda@Edge functions, the ARN of the master function.
 20333  	MasterArn *string `type:"string"`
 20334  
 20335  	// The memory that is allocated to the function.
 20336  	MemorySize *int64 `type:"integer"`
 20337  
 20338  	// The latest updated revision of the function or alias.
 20339  	RevisionId *string `type:"string"`
 20340  
 20341  	// The function's execution role.
 20342  	Role *string `type:"string"`
 20343  
 20344  	// The runtime environment for the Lambda function.
 20345  	Runtime *string `type:"string"`
 20346  
 20347  	// The amount of time that Lambda allows a function to run before stopping it.
 20348  	Timeout *int64 `type:"integer"`
 20349  
 20350  	// The function's X-Ray tracing configuration.
 20351  	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
 20352  
 20353  	// The version of the Lambda function.
 20354  	Version *string `type:"string"`
 20355  
 20356  	// The function's networking configuration.
 20357  	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
 20358  }
 20359  
 20360  // String returns the string representation.
 20361  //
 20362  // API parameter values that are decorated as "sensitive" in the API will not
 20363  // be included in the string output. The member name will be present, but the
 20364  // value will be replaced with "sensitive".
 20365  func (s AwsLambdaFunctionDetails) String() string {
 20366  	return awsutil.Prettify(s)
 20367  }
 20368  
 20369  // GoString returns the string representation.
 20370  //
 20371  // API parameter values that are decorated as "sensitive" in the API will not
 20372  // be included in the string output. The member name will be present, but the
 20373  // value will be replaced with "sensitive".
 20374  func (s AwsLambdaFunctionDetails) GoString() string {
 20375  	return s.String()
 20376  }
 20377  
 20378  // SetCode sets the Code field's value.
 20379  func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
 20380  	s.Code = v
 20381  	return s
 20382  }
 20383  
 20384  // SetCodeSha256 sets the CodeSha256 field's value.
 20385  func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
 20386  	s.CodeSha256 = &v
 20387  	return s
 20388  }
 20389  
 20390  // SetDeadLetterConfig sets the DeadLetterConfig field's value.
 20391  func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
 20392  	s.DeadLetterConfig = v
 20393  	return s
 20394  }
 20395  
 20396  // SetEnvironment sets the Environment field's value.
 20397  func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
 20398  	s.Environment = v
 20399  	return s
 20400  }
 20401  
 20402  // SetFunctionName sets the FunctionName field's value.
 20403  func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
 20404  	s.FunctionName = &v
 20405  	return s
 20406  }
 20407  
 20408  // SetHandler sets the Handler field's value.
 20409  func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
 20410  	s.Handler = &v
 20411  	return s
 20412  }
 20413  
 20414  // SetKmsKeyArn sets the KmsKeyArn field's value.
 20415  func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
 20416  	s.KmsKeyArn = &v
 20417  	return s
 20418  }
 20419  
 20420  // SetLastModified sets the LastModified field's value.
 20421  func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
 20422  	s.LastModified = &v
 20423  	return s
 20424  }
 20425  
 20426  // SetLayers sets the Layers field's value.
 20427  func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
 20428  	s.Layers = v
 20429  	return s
 20430  }
 20431  
 20432  // SetMasterArn sets the MasterArn field's value.
 20433  func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
 20434  	s.MasterArn = &v
 20435  	return s
 20436  }
 20437  
 20438  // SetMemorySize sets the MemorySize field's value.
 20439  func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
 20440  	s.MemorySize = &v
 20441  	return s
 20442  }
 20443  
 20444  // SetRevisionId sets the RevisionId field's value.
 20445  func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
 20446  	s.RevisionId = &v
 20447  	return s
 20448  }
 20449  
 20450  // SetRole sets the Role field's value.
 20451  func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
 20452  	s.Role = &v
 20453  	return s
 20454  }
 20455  
 20456  // SetRuntime sets the Runtime field's value.
 20457  func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
 20458  	s.Runtime = &v
 20459  	return s
 20460  }
 20461  
 20462  // SetTimeout sets the Timeout field's value.
 20463  func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
 20464  	s.Timeout = &v
 20465  	return s
 20466  }
 20467  
 20468  // SetTracingConfig sets the TracingConfig field's value.
 20469  func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
 20470  	s.TracingConfig = v
 20471  	return s
 20472  }
 20473  
 20474  // SetVersion sets the Version field's value.
 20475  func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
 20476  	s.Version = &v
 20477  	return s
 20478  }
 20479  
 20480  // SetVpcConfig sets the VpcConfig field's value.
 20481  func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
 20482  	s.VpcConfig = v
 20483  	return s
 20484  }
 20485  
 20486  // A function's environment variable settings.
 20487  type AwsLambdaFunctionEnvironment struct {
 20488  	_ struct{} `type:"structure"`
 20489  
 20490  	// An AwsLambdaFunctionEnvironmentError object.
 20491  	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
 20492  
 20493  	// Environment variable key-value pairs.
 20494  	Variables map[string]*string `type:"map"`
 20495  }
 20496  
 20497  // String returns the string representation.
 20498  //
 20499  // API parameter values that are decorated as "sensitive" in the API will not
 20500  // be included in the string output. The member name will be present, but the
 20501  // value will be replaced with "sensitive".
 20502  func (s AwsLambdaFunctionEnvironment) String() string {
 20503  	return awsutil.Prettify(s)
 20504  }
 20505  
 20506  // GoString returns the string representation.
 20507  //
 20508  // API parameter values that are decorated as "sensitive" in the API will not
 20509  // be included in the string output. The member name will be present, but the
 20510  // value will be replaced with "sensitive".
 20511  func (s AwsLambdaFunctionEnvironment) GoString() string {
 20512  	return s.String()
 20513  }
 20514  
 20515  // SetError sets the Error field's value.
 20516  func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
 20517  	s.Error = v
 20518  	return s
 20519  }
 20520  
 20521  // SetVariables sets the Variables field's value.
 20522  func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
 20523  	s.Variables = v
 20524  	return s
 20525  }
 20526  
 20527  // Error messages for environment variables that could not be applied.
 20528  type AwsLambdaFunctionEnvironmentError struct {
 20529  	_ struct{} `type:"structure"`
 20530  
 20531  	// The error code.
 20532  	ErrorCode *string `type:"string"`
 20533  
 20534  	// The error message.
 20535  	Message *string `type:"string"`
 20536  }
 20537  
 20538  // String returns the string representation.
 20539  //
 20540  // API parameter values that are decorated as "sensitive" in the API will not
 20541  // be included in the string output. The member name will be present, but the
 20542  // value will be replaced with "sensitive".
 20543  func (s AwsLambdaFunctionEnvironmentError) String() string {
 20544  	return awsutil.Prettify(s)
 20545  }
 20546  
 20547  // GoString returns the string representation.
 20548  //
 20549  // API parameter values that are decorated as "sensitive" in the API will not
 20550  // be included in the string output. The member name will be present, but the
 20551  // value will be replaced with "sensitive".
 20552  func (s AwsLambdaFunctionEnvironmentError) GoString() string {
 20553  	return s.String()
 20554  }
 20555  
 20556  // SetErrorCode sets the ErrorCode field's value.
 20557  func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
 20558  	s.ErrorCode = &v
 20559  	return s
 20560  }
 20561  
 20562  // SetMessage sets the Message field's value.
 20563  func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
 20564  	s.Message = &v
 20565  	return s
 20566  }
 20567  
 20568  // An Lambda layer.
 20569  type AwsLambdaFunctionLayer struct {
 20570  	_ struct{} `type:"structure"`
 20571  
 20572  	// The ARN of the function layer.
 20573  	Arn *string `type:"string"`
 20574  
 20575  	// The size of the layer archive in bytes.
 20576  	CodeSize *int64 `type:"integer"`
 20577  }
 20578  
 20579  // String returns the string representation.
 20580  //
 20581  // API parameter values that are decorated as "sensitive" in the API will not
 20582  // be included in the string output. The member name will be present, but the
 20583  // value will be replaced with "sensitive".
 20584  func (s AwsLambdaFunctionLayer) String() string {
 20585  	return awsutil.Prettify(s)
 20586  }
 20587  
 20588  // GoString returns the string representation.
 20589  //
 20590  // API parameter values that are decorated as "sensitive" in the API will not
 20591  // be included in the string output. The member name will be present, but the
 20592  // value will be replaced with "sensitive".
 20593  func (s AwsLambdaFunctionLayer) GoString() string {
 20594  	return s.String()
 20595  }
 20596  
 20597  // SetArn sets the Arn field's value.
 20598  func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
 20599  	s.Arn = &v
 20600  	return s
 20601  }
 20602  
 20603  // SetCodeSize sets the CodeSize field's value.
 20604  func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
 20605  	s.CodeSize = &v
 20606  	return s
 20607  }
 20608  
 20609  // The function's X-Ray tracing configuration.
 20610  type AwsLambdaFunctionTracingConfig struct {
 20611  	_ struct{} `type:"structure"`
 20612  
 20613  	// The tracing mode.
 20614  	Mode *string `type:"string"`
 20615  }
 20616  
 20617  // String returns the string representation.
 20618  //
 20619  // API parameter values that are decorated as "sensitive" in the API will not
 20620  // be included in the string output. The member name will be present, but the
 20621  // value will be replaced with "sensitive".
 20622  func (s AwsLambdaFunctionTracingConfig) String() string {
 20623  	return awsutil.Prettify(s)
 20624  }
 20625  
 20626  // GoString returns the string representation.
 20627  //
 20628  // API parameter values that are decorated as "sensitive" in the API will not
 20629  // be included in the string output. The member name will be present, but the
 20630  // value will be replaced with "sensitive".
 20631  func (s AwsLambdaFunctionTracingConfig) GoString() string {
 20632  	return s.String()
 20633  }
 20634  
 20635  // SetMode sets the Mode field's value.
 20636  func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
 20637  	s.Mode = &v
 20638  	return s
 20639  }
 20640  
 20641  // The VPC security groups and subnets that are attached to a Lambda function.
 20642  type AwsLambdaFunctionVpcConfig struct {
 20643  	_ struct{} `type:"structure"`
 20644  
 20645  	// A list of VPC security groups IDs.
 20646  	SecurityGroupIds []*string `type:"list"`
 20647  
 20648  	// A list of VPC subnet IDs.
 20649  	SubnetIds []*string `type:"list"`
 20650  
 20651  	// The ID of the VPC.
 20652  	VpcId *string `type:"string"`
 20653  }
 20654  
 20655  // String returns the string representation.
 20656  //
 20657  // API parameter values that are decorated as "sensitive" in the API will not
 20658  // be included in the string output. The member name will be present, but the
 20659  // value will be replaced with "sensitive".
 20660  func (s AwsLambdaFunctionVpcConfig) String() string {
 20661  	return awsutil.Prettify(s)
 20662  }
 20663  
 20664  // GoString returns the string representation.
 20665  //
 20666  // API parameter values that are decorated as "sensitive" in the API will not
 20667  // be included in the string output. The member name will be present, but the
 20668  // value will be replaced with "sensitive".
 20669  func (s AwsLambdaFunctionVpcConfig) GoString() string {
 20670  	return s.String()
 20671  }
 20672  
 20673  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 20674  func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
 20675  	s.SecurityGroupIds = v
 20676  	return s
 20677  }
 20678  
 20679  // SetSubnetIds sets the SubnetIds field's value.
 20680  func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
 20681  	s.SubnetIds = v
 20682  	return s
 20683  }
 20684  
 20685  // SetVpcId sets the VpcId field's value.
 20686  func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
 20687  	s.VpcId = &v
 20688  	return s
 20689  }
 20690  
 20691  // Details about a Lambda layer version.
 20692  type AwsLambdaLayerVersionDetails struct {
 20693  	_ struct{} `type:"structure"`
 20694  
 20695  	// The layer's compatible runtimes. Maximum number of five items.
 20696  	//
 20697  	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
 20698  	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
 20699  	// | provided
 20700  	CompatibleRuntimes []*string `type:"list"`
 20701  
 20702  	// Indicates when the version was created.
 20703  	//
 20704  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 20705  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 20706  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 20707  	CreatedDate *string `type:"string"`
 20708  
 20709  	// The version number.
 20710  	Version *int64 `type:"long"`
 20711  }
 20712  
 20713  // String returns the string representation.
 20714  //
 20715  // API parameter values that are decorated as "sensitive" in the API will not
 20716  // be included in the string output. The member name will be present, but the
 20717  // value will be replaced with "sensitive".
 20718  func (s AwsLambdaLayerVersionDetails) String() string {
 20719  	return awsutil.Prettify(s)
 20720  }
 20721  
 20722  // GoString returns the string representation.
 20723  //
 20724  // API parameter values that are decorated as "sensitive" in the API will not
 20725  // be included in the string output. The member name will be present, but the
 20726  // value will be replaced with "sensitive".
 20727  func (s AwsLambdaLayerVersionDetails) GoString() string {
 20728  	return s.String()
 20729  }
 20730  
 20731  // SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
 20732  func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
 20733  	s.CompatibleRuntimes = v
 20734  	return s
 20735  }
 20736  
 20737  // SetCreatedDate sets the CreatedDate field's value.
 20738  func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
 20739  	s.CreatedDate = &v
 20740  	return s
 20741  }
 20742  
 20743  // SetVersion sets the Version field's value.
 20744  func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
 20745  	s.Version = &v
 20746  	return s
 20747  }
 20748  
 20749  // Details about the configuration of an OpenSearch cluster.
 20750  type AwsOpenSearchServiceDomainClusterConfigDetails struct {
 20751  	_ struct{} `type:"structure"`
 20752  
 20753  	// The number of instances to use for the master node. If this attribute is
 20754  	// specified, then DedicatedMasterEnabled must be true.
 20755  	DedicatedMasterCount *int64 `type:"integer"`
 20756  
 20757  	// Whether to use a dedicated master node for the OpenSearch domain. A dedicated
 20758  	// master node performs cluster management tasks, but does not hold data or
 20759  	// respond to data upload requests.
 20760  	DedicatedMasterEnabled *bool `type:"boolean"`
 20761  
 20762  	// The hardware configuration of the computer that hosts the dedicated master
 20763  	// node.
 20764  	//
 20765  	// If this attribute is specified, then DedicatedMasterEnabled must be true.
 20766  	DedicatedMasterType *string `type:"string"`
 20767  
 20768  	// The number of data nodes to use in the OpenSearch domain.
 20769  	InstanceCount *int64 `type:"integer"`
 20770  
 20771  	// The instance type for your data nodes.
 20772  	InstanceType *string `type:"string"`
 20773  
 20774  	// The number of UltraWarm instances.
 20775  	WarmCount *int64 `type:"integer"`
 20776  
 20777  	// Whether UltraWarm is enabled.
 20778  	WarmEnabled *bool `type:"boolean"`
 20779  
 20780  	// The type of UltraWarm instance.
 20781  	WarmType *string `type:"string"`
 20782  
 20783  	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
 20784  	// is true.
 20785  	ZoneAwarenessConfig *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails `type:"structure"`
 20786  
 20787  	// Whether to enable zone awareness for the OpenSearch domain. When zone awareness
 20788  	// is enabled, OpenSearch Service allocates the cluster's nodes and replica
 20789  	// index shards across Availability Zones (AZs) in the same Region. This prevents
 20790  	// data loss and minimizes downtime if a node or data center fails.
 20791  	ZoneAwarenessEnabled *bool `type:"boolean"`
 20792  }
 20793  
 20794  // String returns the string representation.
 20795  //
 20796  // API parameter values that are decorated as "sensitive" in the API will not
 20797  // be included in the string output. The member name will be present, but the
 20798  // value will be replaced with "sensitive".
 20799  func (s AwsOpenSearchServiceDomainClusterConfigDetails) String() string {
 20800  	return awsutil.Prettify(s)
 20801  }
 20802  
 20803  // GoString returns the string representation.
 20804  //
 20805  // API parameter values that are decorated as "sensitive" in the API will not
 20806  // be included in the string output. The member name will be present, but the
 20807  // value will be replaced with "sensitive".
 20808  func (s AwsOpenSearchServiceDomainClusterConfigDetails) GoString() string {
 20809  	return s.String()
 20810  }
 20811  
 20812  // SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
 20813  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20814  	s.DedicatedMasterCount = &v
 20815  	return s
 20816  }
 20817  
 20818  // SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
 20819  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20820  	s.DedicatedMasterEnabled = &v
 20821  	return s
 20822  }
 20823  
 20824  // SetDedicatedMasterType sets the DedicatedMasterType field's value.
 20825  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20826  	s.DedicatedMasterType = &v
 20827  	return s
 20828  }
 20829  
 20830  // SetInstanceCount sets the InstanceCount field's value.
 20831  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetInstanceCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20832  	s.InstanceCount = &v
 20833  	return s
 20834  }
 20835  
 20836  // SetInstanceType sets the InstanceType field's value.
 20837  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetInstanceType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20838  	s.InstanceType = &v
 20839  	return s
 20840  }
 20841  
 20842  // SetWarmCount sets the WarmCount field's value.
 20843  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20844  	s.WarmCount = &v
 20845  	return s
 20846  }
 20847  
 20848  // SetWarmEnabled sets the WarmEnabled field's value.
 20849  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20850  	s.WarmEnabled = &v
 20851  	return s
 20852  }
 20853  
 20854  // SetWarmType sets the WarmType field's value.
 20855  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20856  	s.WarmType = &v
 20857  	return s
 20858  }
 20859  
 20860  // SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
 20861  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetZoneAwarenessConfig(v *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20862  	s.ZoneAwarenessConfig = v
 20863  	return s
 20864  }
 20865  
 20866  // SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
 20867  func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
 20868  	s.ZoneAwarenessEnabled = &v
 20869  	return s
 20870  }
 20871  
 20872  // Configuration options for zone awareness.
 20873  type AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails struct {
 20874  	_ struct{} `type:"structure"`
 20875  
 20876  	// The number of Availability Zones that the domain uses. Valid values are 2
 20877  	// and 3. The default is 2.
 20878  	AvailabilityZoneCount *int64 `type:"integer"`
 20879  }
 20880  
 20881  // String returns the string representation.
 20882  //
 20883  // API parameter values that are decorated as "sensitive" in the API will not
 20884  // be included in the string output. The member name will be present, but the
 20885  // value will be replaced with "sensitive".
 20886  func (s AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) String() string {
 20887  	return awsutil.Prettify(s)
 20888  }
 20889  
 20890  // GoString returns the string representation.
 20891  //
 20892  // API parameter values that are decorated as "sensitive" in the API will not
 20893  // be included in the string output. The member name will be present, but the
 20894  // value will be replaced with "sensitive".
 20895  func (s AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) GoString() string {
 20896  	return s.String()
 20897  }
 20898  
 20899  // SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
 20900  func (s *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails {
 20901  	s.AvailabilityZoneCount = &v
 20902  	return s
 20903  }
 20904  
 20905  // Information about an Amazon OpenSearch Service domain.
 20906  type AwsOpenSearchServiceDomainDetails struct {
 20907  	_ struct{} `type:"structure"`
 20908  
 20909  	// IAM policy document that specifies the access policies for the OpenSearch
 20910  	// Service domain.
 20911  	AccessPolicies *string `type:"string"`
 20912  
 20913  	// The ARN of the OpenSearch Service domain.
 20914  	Arn *string `type:"string"`
 20915  
 20916  	// Details about the configuration of an OpenSearch cluster.
 20917  	ClusterConfig *AwsOpenSearchServiceDomainClusterConfigDetails `type:"structure"`
 20918  
 20919  	// The domain endpoint.
 20920  	DomainEndpoint *string `type:"string"`
 20921  
 20922  	// Additional options for the domain endpoint.
 20923  	DomainEndpointOptions *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails `type:"structure"`
 20924  
 20925  	// The domain endpoints. Used if the OpenSearch domain resides in a VPC.
 20926  	//
 20927  	// This is a map of key-value pairs. The key is always vpc. The value is the
 20928  	// endpoint.
 20929  	DomainEndpoints map[string]*string `type:"map"`
 20930  
 20931  	// The name of the endpoint.
 20932  	DomainName *string `type:"string"`
 20933  
 20934  	// Details about the configuration for encryption at rest.
 20935  	EncryptionAtRestOptions *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails `type:"structure"`
 20936  
 20937  	// The version of the domain engine.
 20938  	EngineVersion *string `type:"string"`
 20939  
 20940  	// The identifier of the domain.
 20941  	Id *string `type:"string"`
 20942  
 20943  	// Configures the CloudWatch Logs to publish for the OpenSearch domain.
 20944  	LogPublishingOptions *AwsOpenSearchServiceDomainLogPublishingOptionsDetails `type:"structure"`
 20945  
 20946  	// Details about the configuration for node-to-node encryption.
 20947  	NodeToNodeEncryptionOptions *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails `type:"structure"`
 20948  
 20949  	// Information about the status of a domain relative to the latest service software.
 20950  	ServiceSoftwareOptions *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails `type:"structure"`
 20951  
 20952  	// Information that OpenSearch Service derives based on VPCOptions for the domain.
 20953  	VpcOptions *AwsOpenSearchServiceDomainVpcOptionsDetails `type:"structure"`
 20954  }
 20955  
 20956  // String returns the string representation.
 20957  //
 20958  // API parameter values that are decorated as "sensitive" in the API will not
 20959  // be included in the string output. The member name will be present, but the
 20960  // value will be replaced with "sensitive".
 20961  func (s AwsOpenSearchServiceDomainDetails) String() string {
 20962  	return awsutil.Prettify(s)
 20963  }
 20964  
 20965  // GoString returns the string representation.
 20966  //
 20967  // API parameter values that are decorated as "sensitive" in the API will not
 20968  // be included in the string output. The member name will be present, but the
 20969  // value will be replaced with "sensitive".
 20970  func (s AwsOpenSearchServiceDomainDetails) GoString() string {
 20971  	return s.String()
 20972  }
 20973  
 20974  // SetAccessPolicies sets the AccessPolicies field's value.
 20975  func (s *AwsOpenSearchServiceDomainDetails) SetAccessPolicies(v string) *AwsOpenSearchServiceDomainDetails {
 20976  	s.AccessPolicies = &v
 20977  	return s
 20978  }
 20979  
 20980  // SetArn sets the Arn field's value.
 20981  func (s *AwsOpenSearchServiceDomainDetails) SetArn(v string) *AwsOpenSearchServiceDomainDetails {
 20982  	s.Arn = &v
 20983  	return s
 20984  }
 20985  
 20986  // SetClusterConfig sets the ClusterConfig field's value.
 20987  func (s *AwsOpenSearchServiceDomainDetails) SetClusterConfig(v *AwsOpenSearchServiceDomainClusterConfigDetails) *AwsOpenSearchServiceDomainDetails {
 20988  	s.ClusterConfig = v
 20989  	return s
 20990  }
 20991  
 20992  // SetDomainEndpoint sets the DomainEndpoint field's value.
 20993  func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpoint(v string) *AwsOpenSearchServiceDomainDetails {
 20994  	s.DomainEndpoint = &v
 20995  	return s
 20996  }
 20997  
 20998  // SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
 20999  func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpointOptions(v *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21000  	s.DomainEndpointOptions = v
 21001  	return s
 21002  }
 21003  
 21004  // SetDomainEndpoints sets the DomainEndpoints field's value.
 21005  func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpoints(v map[string]*string) *AwsOpenSearchServiceDomainDetails {
 21006  	s.DomainEndpoints = v
 21007  	return s
 21008  }
 21009  
 21010  // SetDomainName sets the DomainName field's value.
 21011  func (s *AwsOpenSearchServiceDomainDetails) SetDomainName(v string) *AwsOpenSearchServiceDomainDetails {
 21012  	s.DomainName = &v
 21013  	return s
 21014  }
 21015  
 21016  // SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
 21017  func (s *AwsOpenSearchServiceDomainDetails) SetEncryptionAtRestOptions(v *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21018  	s.EncryptionAtRestOptions = v
 21019  	return s
 21020  }
 21021  
 21022  // SetEngineVersion sets the EngineVersion field's value.
 21023  func (s *AwsOpenSearchServiceDomainDetails) SetEngineVersion(v string) *AwsOpenSearchServiceDomainDetails {
 21024  	s.EngineVersion = &v
 21025  	return s
 21026  }
 21027  
 21028  // SetId sets the Id field's value.
 21029  func (s *AwsOpenSearchServiceDomainDetails) SetId(v string) *AwsOpenSearchServiceDomainDetails {
 21030  	s.Id = &v
 21031  	return s
 21032  }
 21033  
 21034  // SetLogPublishingOptions sets the LogPublishingOptions field's value.
 21035  func (s *AwsOpenSearchServiceDomainDetails) SetLogPublishingOptions(v *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21036  	s.LogPublishingOptions = v
 21037  	return s
 21038  }
 21039  
 21040  // SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
 21041  func (s *AwsOpenSearchServiceDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21042  	s.NodeToNodeEncryptionOptions = v
 21043  	return s
 21044  }
 21045  
 21046  // SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
 21047  func (s *AwsOpenSearchServiceDomainDetails) SetServiceSoftwareOptions(v *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21048  	s.ServiceSoftwareOptions = v
 21049  	return s
 21050  }
 21051  
 21052  // SetVpcOptions sets the VpcOptions field's value.
 21053  func (s *AwsOpenSearchServiceDomainDetails) SetVpcOptions(v *AwsOpenSearchServiceDomainVpcOptionsDetails) *AwsOpenSearchServiceDomainDetails {
 21054  	s.VpcOptions = v
 21055  	return s
 21056  }
 21057  
 21058  // Information about additional options for the domain endpoint.
 21059  type AwsOpenSearchServiceDomainDomainEndpointOptionsDetails struct {
 21060  	_ struct{} `type:"structure"`
 21061  
 21062  	// The fully qualified URL for the custom endpoint.
 21063  	CustomEndpoint *string `type:"string"`
 21064  
 21065  	// The ARN for the security certificate. The certificate is managed in ACM.
 21066  	CustomEndpointCertificateArn *string `type:"string"`
 21067  
 21068  	// Whether to enable a custom endpoint for the domain.
 21069  	CustomEndpointEnabled *bool `type:"boolean"`
 21070  
 21071  	// Whether to require that all traffic to the domain arrive over HTTPS.
 21072  	EnforceHTTPS *bool `type:"boolean"`
 21073  
 21074  	// The TLS security policy to apply to the HTTPS endpoint of the OpenSearch
 21075  	// domain.
 21076  	TLSSecurityPolicy *string `type:"string"`
 21077  }
 21078  
 21079  // String returns the string representation.
 21080  //
 21081  // API parameter values that are decorated as "sensitive" in the API will not
 21082  // be included in the string output. The member name will be present, but the
 21083  // value will be replaced with "sensitive".
 21084  func (s AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) String() string {
 21085  	return awsutil.Prettify(s)
 21086  }
 21087  
 21088  // GoString returns the string representation.
 21089  //
 21090  // API parameter values that are decorated as "sensitive" in the API will not
 21091  // be included in the string output. The member name will be present, but the
 21092  // value will be replaced with "sensitive".
 21093  func (s AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) GoString() string {
 21094  	return s.String()
 21095  }
 21096  
 21097  // SetCustomEndpoint sets the CustomEndpoint field's value.
 21098  func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpoint(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
 21099  	s.CustomEndpoint = &v
 21100  	return s
 21101  }
 21102  
 21103  // SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
 21104  func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpointCertificateArn(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
 21105  	s.CustomEndpointCertificateArn = &v
 21106  	return s
 21107  }
 21108  
 21109  // SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
 21110  func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpointEnabled(v bool) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
 21111  	s.CustomEndpointEnabled = &v
 21112  	return s
 21113  }
 21114  
 21115  // SetEnforceHTTPS sets the EnforceHTTPS field's value.
 21116  func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetEnforceHTTPS(v bool) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
 21117  	s.EnforceHTTPS = &v
 21118  	return s
 21119  }
 21120  
 21121  // SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
 21122  func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetTLSSecurityPolicy(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
 21123  	s.TLSSecurityPolicy = &v
 21124  	return s
 21125  }
 21126  
 21127  // Details about the configuration for encryption at rest for the OpenSearch
 21128  // domain.
 21129  type AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails struct {
 21130  	_ struct{} `type:"structure"`
 21131  
 21132  	// Whether encryption at rest is enabled.
 21133  	Enabled *bool `type:"boolean"`
 21134  
 21135  	// The KMS key ID.
 21136  	KmsKeyId *string `type:"string"`
 21137  }
 21138  
 21139  // String returns the string representation.
 21140  //
 21141  // API parameter values that are decorated as "sensitive" in the API will not
 21142  // be included in the string output. The member name will be present, but the
 21143  // value will be replaced with "sensitive".
 21144  func (s AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) String() string {
 21145  	return awsutil.Prettify(s)
 21146  }
 21147  
 21148  // GoString returns the string representation.
 21149  //
 21150  // API parameter values that are decorated as "sensitive" in the API will not
 21151  // be included in the string output. The member name will be present, but the
 21152  // value will be replaced with "sensitive".
 21153  func (s AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) GoString() string {
 21154  	return s.String()
 21155  }
 21156  
 21157  // SetEnabled sets the Enabled field's value.
 21158  func (s *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) SetEnabled(v bool) *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails {
 21159  	s.Enabled = &v
 21160  	return s
 21161  }
 21162  
 21163  // SetKmsKeyId sets the KmsKeyId field's value.
 21164  func (s *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) SetKmsKeyId(v string) *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails {
 21165  	s.KmsKeyId = &v
 21166  	return s
 21167  }
 21168  
 21169  // Configuration details for a log publishing option.
 21170  type AwsOpenSearchServiceDomainLogPublishingOption struct {
 21171  	_ struct{} `type:"structure"`
 21172  
 21173  	// The ARN of the CloudWatch Logs group to publish the logs to.
 21174  	CloudWatchLogsLogGroupArn *string `type:"string"`
 21175  
 21176  	// Whether the log publishing is enabled.
 21177  	Enabled *bool `type:"boolean"`
 21178  }
 21179  
 21180  // String returns the string representation.
 21181  //
 21182  // API parameter values that are decorated as "sensitive" in the API will not
 21183  // be included in the string output. The member name will be present, but the
 21184  // value will be replaced with "sensitive".
 21185  func (s AwsOpenSearchServiceDomainLogPublishingOption) String() string {
 21186  	return awsutil.Prettify(s)
 21187  }
 21188  
 21189  // GoString returns the string representation.
 21190  //
 21191  // API parameter values that are decorated as "sensitive" in the API will not
 21192  // be included in the string output. The member name will be present, but the
 21193  // value will be replaced with "sensitive".
 21194  func (s AwsOpenSearchServiceDomainLogPublishingOption) GoString() string {
 21195  	return s.String()
 21196  }
 21197  
 21198  // SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
 21199  func (s *AwsOpenSearchServiceDomainLogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *AwsOpenSearchServiceDomainLogPublishingOption {
 21200  	s.CloudWatchLogsLogGroupArn = &v
 21201  	return s
 21202  }
 21203  
 21204  // SetEnabled sets the Enabled field's value.
 21205  func (s *AwsOpenSearchServiceDomainLogPublishingOption) SetEnabled(v bool) *AwsOpenSearchServiceDomainLogPublishingOption {
 21206  	s.Enabled = &v
 21207  	return s
 21208  }
 21209  
 21210  // Configures the CloudWatch Logs to publish for the OpenSearch domain.
 21211  type AwsOpenSearchServiceDomainLogPublishingOptionsDetails struct {
 21212  	_ struct{} `type:"structure"`
 21213  
 21214  	// Configures the OpenSearch audit logs publishing.
 21215  	AuditLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
 21216  
 21217  	// Configures the OpenSearch index logs publishing.
 21218  	IndexSlowLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
 21219  
 21220  	// Configures the OpenSearch search slow log publishing.
 21221  	SearchSlowLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
 21222  }
 21223  
 21224  // String returns the string representation.
 21225  //
 21226  // API parameter values that are decorated as "sensitive" in the API will not
 21227  // be included in the string output. The member name will be present, but the
 21228  // value will be replaced with "sensitive".
 21229  func (s AwsOpenSearchServiceDomainLogPublishingOptionsDetails) String() string {
 21230  	return awsutil.Prettify(s)
 21231  }
 21232  
 21233  // GoString returns the string representation.
 21234  //
 21235  // API parameter values that are decorated as "sensitive" in the API will not
 21236  // be included in the string output. The member name will be present, but the
 21237  // value will be replaced with "sensitive".
 21238  func (s AwsOpenSearchServiceDomainLogPublishingOptionsDetails) GoString() string {
 21239  	return s.String()
 21240  }
 21241  
 21242  // SetAuditLogs sets the AuditLogs field's value.
 21243  func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetAuditLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
 21244  	s.AuditLogs = v
 21245  	return s
 21246  }
 21247  
 21248  // SetIndexSlowLogs sets the IndexSlowLogs field's value.
 21249  func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetIndexSlowLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
 21250  	s.IndexSlowLogs = v
 21251  	return s
 21252  }
 21253  
 21254  // SetSearchSlowLogs sets the SearchSlowLogs field's value.
 21255  func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetSearchSlowLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
 21256  	s.SearchSlowLogs = v
 21257  	return s
 21258  }
 21259  
 21260  // Provides details about the configuration for node-to-node encryption.
 21261  type AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails struct {
 21262  	_ struct{} `type:"structure"`
 21263  
 21264  	// Whether node-to-node encryption is enabled.
 21265  	Enabled *bool `type:"boolean"`
 21266  }
 21267  
 21268  // String returns the string representation.
 21269  //
 21270  // API parameter values that are decorated as "sensitive" in the API will not
 21271  // be included in the string output. The member name will be present, but the
 21272  // value will be replaced with "sensitive".
 21273  func (s AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) String() string {
 21274  	return awsutil.Prettify(s)
 21275  }
 21276  
 21277  // GoString returns the string representation.
 21278  //
 21279  // API parameter values that are decorated as "sensitive" in the API will not
 21280  // be included in the string output. The member name will be present, but the
 21281  // value will be replaced with "sensitive".
 21282  func (s AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) GoString() string {
 21283  	return s.String()
 21284  }
 21285  
 21286  // SetEnabled sets the Enabled field's value.
 21287  func (s *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) SetEnabled(v bool) *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails {
 21288  	s.Enabled = &v
 21289  	return s
 21290  }
 21291  
 21292  // Provides information about the state of the domain relative to the latest
 21293  // service software.
 21294  type AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails struct {
 21295  	_ struct{} `type:"structure"`
 21296  
 21297  	// The epoch time when the deployment window closes for required updates. After
 21298  	// this time, OpenSearch Service schedules the software upgrade automatically.
 21299  	AutomatedUpdateDate *string `type:"string"`
 21300  
 21301  	// Whether a request to update the domain can be canceled.
 21302  	Cancellable *bool `type:"boolean"`
 21303  
 21304  	// The version of the service software that is currently installed on the domain.
 21305  	CurrentVersion *string `type:"string"`
 21306  
 21307  	// A more detailed description of the service software status.
 21308  	Description *string `type:"string"`
 21309  
 21310  	// The most recent version of the service software.
 21311  	NewVersion *string `type:"string"`
 21312  
 21313  	// Whether the service software update is optional.
 21314  	OptionalDeployment *bool `type:"boolean"`
 21315  
 21316  	// Whether a service software update is available for the domain.
 21317  	UpdateAvailable *bool `type:"boolean"`
 21318  
 21319  	// The status of the service software update.
 21320  	UpdateStatus *string `type:"string"`
 21321  }
 21322  
 21323  // String returns the string representation.
 21324  //
 21325  // API parameter values that are decorated as "sensitive" in the API will not
 21326  // be included in the string output. The member name will be present, but the
 21327  // value will be replaced with "sensitive".
 21328  func (s AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) String() string {
 21329  	return awsutil.Prettify(s)
 21330  }
 21331  
 21332  // GoString returns the string representation.
 21333  //
 21334  // API parameter values that are decorated as "sensitive" in the API will not
 21335  // be included in the string output. The member name will be present, but the
 21336  // value will be replaced with "sensitive".
 21337  func (s AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) GoString() string {
 21338  	return s.String()
 21339  }
 21340  
 21341  // SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
 21342  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetAutomatedUpdateDate(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21343  	s.AutomatedUpdateDate = &v
 21344  	return s
 21345  }
 21346  
 21347  // SetCancellable sets the Cancellable field's value.
 21348  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetCancellable(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21349  	s.Cancellable = &v
 21350  	return s
 21351  }
 21352  
 21353  // SetCurrentVersion sets the CurrentVersion field's value.
 21354  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetCurrentVersion(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21355  	s.CurrentVersion = &v
 21356  	return s
 21357  }
 21358  
 21359  // SetDescription sets the Description field's value.
 21360  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetDescription(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21361  	s.Description = &v
 21362  	return s
 21363  }
 21364  
 21365  // SetNewVersion sets the NewVersion field's value.
 21366  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetNewVersion(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21367  	s.NewVersion = &v
 21368  	return s
 21369  }
 21370  
 21371  // SetOptionalDeployment sets the OptionalDeployment field's value.
 21372  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetOptionalDeployment(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21373  	s.OptionalDeployment = &v
 21374  	return s
 21375  }
 21376  
 21377  // SetUpdateAvailable sets the UpdateAvailable field's value.
 21378  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetUpdateAvailable(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21379  	s.UpdateAvailable = &v
 21380  	return s
 21381  }
 21382  
 21383  // SetUpdateStatus sets the UpdateStatus field's value.
 21384  func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetUpdateStatus(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
 21385  	s.UpdateStatus = &v
 21386  	return s
 21387  }
 21388  
 21389  // Contains information that OpenSearch Service derives based on the VPCOptions
 21390  // for the domain.
 21391  type AwsOpenSearchServiceDomainVpcOptionsDetails struct {
 21392  	_ struct{} `type:"structure"`
 21393  
 21394  	// The list of security group IDs that are associated with the VPC endpoints
 21395  	// for the domain.
 21396  	SecurityGroupIds []*string `type:"list"`
 21397  
 21398  	// A list of subnet IDs that are associated with the VPC endpoints for the domain.
 21399  	SubnetIds []*string `type:"list"`
 21400  }
 21401  
 21402  // String returns the string representation.
 21403  //
 21404  // API parameter values that are decorated as "sensitive" in the API will not
 21405  // be included in the string output. The member name will be present, but the
 21406  // value will be replaced with "sensitive".
 21407  func (s AwsOpenSearchServiceDomainVpcOptionsDetails) String() string {
 21408  	return awsutil.Prettify(s)
 21409  }
 21410  
 21411  // GoString returns the string representation.
 21412  //
 21413  // API parameter values that are decorated as "sensitive" in the API will not
 21414  // be included in the string output. The member name will be present, but the
 21415  // value will be replaced with "sensitive".
 21416  func (s AwsOpenSearchServiceDomainVpcOptionsDetails) GoString() string {
 21417  	return s.String()
 21418  }
 21419  
 21420  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 21421  func (s *AwsOpenSearchServiceDomainVpcOptionsDetails) SetSecurityGroupIds(v []*string) *AwsOpenSearchServiceDomainVpcOptionsDetails {
 21422  	s.SecurityGroupIds = v
 21423  	return s
 21424  }
 21425  
 21426  // SetSubnetIds sets the SubnetIds field's value.
 21427  func (s *AwsOpenSearchServiceDomainVpcOptionsDetails) SetSubnetIds(v []*string) *AwsOpenSearchServiceDomainVpcOptionsDetails {
 21428  	s.SubnetIds = v
 21429  	return s
 21430  }
 21431  
 21432  // An IAM role that is associated with the Amazon RDS DB cluster.
 21433  type AwsRdsDbClusterAssociatedRole struct {
 21434  	_ struct{} `type:"structure"`
 21435  
 21436  	// The ARN of the IAM role.
 21437  	RoleArn *string `type:"string"`
 21438  
 21439  	// The status of the association between the IAM role and the DB cluster.
 21440  	Status *string `type:"string"`
 21441  }
 21442  
 21443  // String returns the string representation.
 21444  //
 21445  // API parameter values that are decorated as "sensitive" in the API will not
 21446  // be included in the string output. The member name will be present, but the
 21447  // value will be replaced with "sensitive".
 21448  func (s AwsRdsDbClusterAssociatedRole) String() string {
 21449  	return awsutil.Prettify(s)
 21450  }
 21451  
 21452  // GoString returns the string representation.
 21453  //
 21454  // API parameter values that are decorated as "sensitive" in the API will not
 21455  // be included in the string output. The member name will be present, but the
 21456  // value will be replaced with "sensitive".
 21457  func (s AwsRdsDbClusterAssociatedRole) GoString() string {
 21458  	return s.String()
 21459  }
 21460  
 21461  // SetRoleArn sets the RoleArn field's value.
 21462  func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
 21463  	s.RoleArn = &v
 21464  	return s
 21465  }
 21466  
 21467  // SetStatus sets the Status field's value.
 21468  func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
 21469  	s.Status = &v
 21470  	return s
 21471  }
 21472  
 21473  // Information about an Amazon RDS DB cluster.
 21474  type AwsRdsDbClusterDetails struct {
 21475  	_ struct{} `type:"structure"`
 21476  
 21477  	// The status of the database activity stream.
 21478  	ActivityStreamStatus *string `type:"string"`
 21479  
 21480  	// For all database engines except Aurora, specifies the allocated storage size
 21481  	// in gibibytes (GiB).
 21482  	AllocatedStorage *int64 `type:"integer"`
 21483  
 21484  	// A list of the IAM roles that are associated with the DB cluster.
 21485  	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
 21486  
 21487  	// A list of Availability Zones (AZs) where instances in the DB cluster can
 21488  	// be created.
 21489  	AvailabilityZones []*string `type:"list"`
 21490  
 21491  	// The number of days for which automated backups are retained.
 21492  	BackupRetentionPeriod *int64 `type:"integer"`
 21493  
 21494  	// Indicates when the DB cluster was created, in Universal Coordinated Time
 21495  	// (UTC).
 21496  	//
 21497  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 21498  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 21499  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 21500  	ClusterCreateTime *string `type:"string"`
 21501  
 21502  	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
 21503  	CopyTagsToSnapshot *bool `type:"boolean"`
 21504  
 21505  	// Whether the DB cluster is a clone of a DB cluster owned by a different Amazon
 21506  	// Web Services account.
 21507  	CrossAccountClone *bool `type:"boolean"`
 21508  
 21509  	// A list of custom endpoints for the DB cluster.
 21510  	CustomEndpoints []*string `type:"list"`
 21511  
 21512  	// The name of the database.
 21513  	DatabaseName *string `type:"string"`
 21514  
 21515  	// The DB cluster identifier that the user assigned to the cluster. This identifier
 21516  	// is the unique key that identifies a DB cluster.
 21517  	DbClusterIdentifier *string `type:"string"`
 21518  
 21519  	// The list of instances that make up the DB cluster.
 21520  	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
 21521  
 21522  	// The list of option group memberships for this DB cluster.
 21523  	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
 21524  
 21525  	// The name of the DB cluster parameter group for the DB cluster.
 21526  	DbClusterParameterGroup *string `type:"string"`
 21527  
 21528  	// The identifier of the DB cluster. The identifier must be unique within each
 21529  	// Amazon Web Services Region and is immutable.
 21530  	DbClusterResourceId *string `type:"string"`
 21531  
 21532  	// The subnet group that is associated with the DB cluster, including the name,
 21533  	// description, and subnets in the subnet group.
 21534  	DbSubnetGroup *string `type:"string"`
 21535  
 21536  	// Whether the DB cluster has deletion protection enabled.
 21537  	DeletionProtection *bool `type:"boolean"`
 21538  
 21539  	// The Active Directory domain membership records that are associated with the
 21540  	// DB cluster.
 21541  	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
 21542  
 21543  	// A list of log types that this DB cluster is configured to export to CloudWatch
 21544  	// Logs.
 21545  	EnabledCloudWatchLogsExports []*string `type:"list"`
 21546  
 21547  	// The connection endpoint for the primary instance of the DB cluster.
 21548  	Endpoint *string `type:"string"`
 21549  
 21550  	// The name of the database engine to use for this DB cluster.
 21551  	Engine *string `type:"string"`
 21552  
 21553  	// The database engine mode of the DB cluster.
 21554  	EngineMode *string `type:"string"`
 21555  
 21556  	// The version number of the database engine to use.
 21557  	EngineVersion *string `type:"string"`
 21558  
 21559  	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
 21560  	// zone.
 21561  	HostedZoneId *string `type:"string"`
 21562  
 21563  	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
 21564  	HttpEndpointEnabled *bool `type:"boolean"`
 21565  
 21566  	// Whether the mapping of IAM accounts to database accounts is enabled.
 21567  	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
 21568  
 21569  	// The ARN of the KMS master key that is used to encrypt the database instances
 21570  	// in the DB cluster.
 21571  	KmsKeyId *string `type:"string"`
 21572  
 21573  	// The name of the master user for the DB cluster.
 21574  	MasterUsername *string `type:"string"`
 21575  
 21576  	// Whether the DB cluster has instances in multiple Availability Zones.
 21577  	MultiAz *bool `type:"boolean"`
 21578  
 21579  	// The port number on which the DB instances in the DB cluster accept connections.
 21580  	Port *int64 `type:"integer"`
 21581  
 21582  	// The range of time each day when automated backups are created, if automated
 21583  	// backups are enabled.
 21584  	//
 21585  	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
 21586  	PreferredBackupWindow *string `type:"string"`
 21587  
 21588  	// The weekly time range during which system maintenance can occur, in Universal
 21589  	// Coordinated Time (UTC).
 21590  	//
 21591  	// Uses the format <day>:HH:MM-<day>:HH:MM.
 21592  	//
 21593  	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
 21594  	//
 21595  	// For example, sun:09:32-sun:10:02.
 21596  	PreferredMaintenanceWindow *string `type:"string"`
 21597  
 21598  	// The identifiers of the read replicas that are associated with this DB cluster.
 21599  	ReadReplicaIdentifiers []*string `type:"list"`
 21600  
 21601  	// The reader endpoint for the DB cluster.
 21602  	ReaderEndpoint *string `type:"string"`
 21603  
 21604  	// The current status of this DB cluster.
 21605  	Status *string `type:"string"`
 21606  
 21607  	// Whether the DB cluster is encrypted.
 21608  	StorageEncrypted *bool `type:"boolean"`
 21609  
 21610  	// A list of VPC security groups that the DB cluster belongs to.
 21611  	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
 21612  }
 21613  
 21614  // String returns the string representation.
 21615  //
 21616  // API parameter values that are decorated as "sensitive" in the API will not
 21617  // be included in the string output. The member name will be present, but the
 21618  // value will be replaced with "sensitive".
 21619  func (s AwsRdsDbClusterDetails) String() string {
 21620  	return awsutil.Prettify(s)
 21621  }
 21622  
 21623  // GoString returns the string representation.
 21624  //
 21625  // API parameter values that are decorated as "sensitive" in the API will not
 21626  // be included in the string output. The member name will be present, but the
 21627  // value will be replaced with "sensitive".
 21628  func (s AwsRdsDbClusterDetails) GoString() string {
 21629  	return s.String()
 21630  }
 21631  
 21632  // SetActivityStreamStatus sets the ActivityStreamStatus field's value.
 21633  func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
 21634  	s.ActivityStreamStatus = &v
 21635  	return s
 21636  }
 21637  
 21638  // SetAllocatedStorage sets the AllocatedStorage field's value.
 21639  func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
 21640  	s.AllocatedStorage = &v
 21641  	return s
 21642  }
 21643  
 21644  // SetAssociatedRoles sets the AssociatedRoles field's value.
 21645  func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
 21646  	s.AssociatedRoles = v
 21647  	return s
 21648  }
 21649  
 21650  // SetAvailabilityZones sets the AvailabilityZones field's value.
 21651  func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
 21652  	s.AvailabilityZones = v
 21653  	return s
 21654  }
 21655  
 21656  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 21657  func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
 21658  	s.BackupRetentionPeriod = &v
 21659  	return s
 21660  }
 21661  
 21662  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 21663  func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
 21664  	s.ClusterCreateTime = &v
 21665  	return s
 21666  }
 21667  
 21668  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 21669  func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
 21670  	s.CopyTagsToSnapshot = &v
 21671  	return s
 21672  }
 21673  
 21674  // SetCrossAccountClone sets the CrossAccountClone field's value.
 21675  func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
 21676  	s.CrossAccountClone = &v
 21677  	return s
 21678  }
 21679  
 21680  // SetCustomEndpoints sets the CustomEndpoints field's value.
 21681  func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
 21682  	s.CustomEndpoints = v
 21683  	return s
 21684  }
 21685  
 21686  // SetDatabaseName sets the DatabaseName field's value.
 21687  func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
 21688  	s.DatabaseName = &v
 21689  	return s
 21690  }
 21691  
 21692  // SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
 21693  func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
 21694  	s.DbClusterIdentifier = &v
 21695  	return s
 21696  }
 21697  
 21698  // SetDbClusterMembers sets the DbClusterMembers field's value.
 21699  func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
 21700  	s.DbClusterMembers = v
 21701  	return s
 21702  }
 21703  
 21704  // SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
 21705  func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
 21706  	s.DbClusterOptionGroupMemberships = v
 21707  	return s
 21708  }
 21709  
 21710  // SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
 21711  func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
 21712  	s.DbClusterParameterGroup = &v
 21713  	return s
 21714  }
 21715  
 21716  // SetDbClusterResourceId sets the DbClusterResourceId field's value.
 21717  func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
 21718  	s.DbClusterResourceId = &v
 21719  	return s
 21720  }
 21721  
 21722  // SetDbSubnetGroup sets the DbSubnetGroup field's value.
 21723  func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
 21724  	s.DbSubnetGroup = &v
 21725  	return s
 21726  }
 21727  
 21728  // SetDeletionProtection sets the DeletionProtection field's value.
 21729  func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
 21730  	s.DeletionProtection = &v
 21731  	return s
 21732  }
 21733  
 21734  // SetDomainMemberships sets the DomainMemberships field's value.
 21735  func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
 21736  	s.DomainMemberships = v
 21737  	return s
 21738  }
 21739  
 21740  // SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
 21741  func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
 21742  	s.EnabledCloudWatchLogsExports = v
 21743  	return s
 21744  }
 21745  
 21746  // SetEndpoint sets the Endpoint field's value.
 21747  func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
 21748  	s.Endpoint = &v
 21749  	return s
 21750  }
 21751  
 21752  // SetEngine sets the Engine field's value.
 21753  func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
 21754  	s.Engine = &v
 21755  	return s
 21756  }
 21757  
 21758  // SetEngineMode sets the EngineMode field's value.
 21759  func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
 21760  	s.EngineMode = &v
 21761  	return s
 21762  }
 21763  
 21764  // SetEngineVersion sets the EngineVersion field's value.
 21765  func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
 21766  	s.EngineVersion = &v
 21767  	return s
 21768  }
 21769  
 21770  // SetHostedZoneId sets the HostedZoneId field's value.
 21771  func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
 21772  	s.HostedZoneId = &v
 21773  	return s
 21774  }
 21775  
 21776  // SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
 21777  func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
 21778  	s.HttpEndpointEnabled = &v
 21779  	return s
 21780  }
 21781  
 21782  // SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
 21783  func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
 21784  	s.IamDatabaseAuthenticationEnabled = &v
 21785  	return s
 21786  }
 21787  
 21788  // SetKmsKeyId sets the KmsKeyId field's value.
 21789  func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
 21790  	s.KmsKeyId = &v
 21791  	return s
 21792  }
 21793  
 21794  // SetMasterUsername sets the MasterUsername field's value.
 21795  func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
 21796  	s.MasterUsername = &v
 21797  	return s
 21798  }
 21799  
 21800  // SetMultiAz sets the MultiAz field's value.
 21801  func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
 21802  	s.MultiAz = &v
 21803  	return s
 21804  }
 21805  
 21806  // SetPort sets the Port field's value.
 21807  func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
 21808  	s.Port = &v
 21809  	return s
 21810  }
 21811  
 21812  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 21813  func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
 21814  	s.PreferredBackupWindow = &v
 21815  	return s
 21816  }
 21817  
 21818  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 21819  func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
 21820  	s.PreferredMaintenanceWindow = &v
 21821  	return s
 21822  }
 21823  
 21824  // SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
 21825  func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
 21826  	s.ReadReplicaIdentifiers = v
 21827  	return s
 21828  }
 21829  
 21830  // SetReaderEndpoint sets the ReaderEndpoint field's value.
 21831  func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
 21832  	s.ReaderEndpoint = &v
 21833  	return s
 21834  }
 21835  
 21836  // SetStatus sets the Status field's value.
 21837  func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
 21838  	s.Status = &v
 21839  	return s
 21840  }
 21841  
 21842  // SetStorageEncrypted sets the StorageEncrypted field's value.
 21843  func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
 21844  	s.StorageEncrypted = &v
 21845  	return s
 21846  }
 21847  
 21848  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 21849  func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
 21850  	s.VpcSecurityGroups = v
 21851  	return s
 21852  }
 21853  
 21854  // Information about an instance in the DB cluster.
 21855  type AwsRdsDbClusterMember struct {
 21856  	_ struct{} `type:"structure"`
 21857  
 21858  	// The status of the DB cluster parameter group for this member of the DB cluster.
 21859  	DbClusterParameterGroupStatus *string `type:"string"`
 21860  
 21861  	// The instance identifier for this member of the DB cluster.
 21862  	DbInstanceIdentifier *string `type:"string"`
 21863  
 21864  	// Whether the cluster member is the primary instance for the DB cluster.
 21865  	IsClusterWriter *bool `type:"boolean"`
 21866  
 21867  	// Specifies the order in which an Aurora replica is promoted to the primary
 21868  	// instance when the existing primary instance fails.
 21869  	PromotionTier *int64 `type:"integer"`
 21870  }
 21871  
 21872  // String returns the string representation.
 21873  //
 21874  // API parameter values that are decorated as "sensitive" in the API will not
 21875  // be included in the string output. The member name will be present, but the
 21876  // value will be replaced with "sensitive".
 21877  func (s AwsRdsDbClusterMember) String() string {
 21878  	return awsutil.Prettify(s)
 21879  }
 21880  
 21881  // GoString returns the string representation.
 21882  //
 21883  // API parameter values that are decorated as "sensitive" in the API will not
 21884  // be included in the string output. The member name will be present, but the
 21885  // value will be replaced with "sensitive".
 21886  func (s AwsRdsDbClusterMember) GoString() string {
 21887  	return s.String()
 21888  }
 21889  
 21890  // SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
 21891  func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
 21892  	s.DbClusterParameterGroupStatus = &v
 21893  	return s
 21894  }
 21895  
 21896  // SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
 21897  func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
 21898  	s.DbInstanceIdentifier = &v
 21899  	return s
 21900  }
 21901  
 21902  // SetIsClusterWriter sets the IsClusterWriter field's value.
 21903  func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
 21904  	s.IsClusterWriter = &v
 21905  	return s
 21906  }
 21907  
 21908  // SetPromotionTier sets the PromotionTier field's value.
 21909  func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
 21910  	s.PromotionTier = &v
 21911  	return s
 21912  }
 21913  
 21914  // Information about an option group membership for a DB cluster.
 21915  type AwsRdsDbClusterOptionGroupMembership struct {
 21916  	_ struct{} `type:"structure"`
 21917  
 21918  	// The name of the DB cluster option group.
 21919  	DbClusterOptionGroupName *string `type:"string"`
 21920  
 21921  	// The status of the DB cluster option group.
 21922  	Status *string `type:"string"`
 21923  }
 21924  
 21925  // String returns the string representation.
 21926  //
 21927  // API parameter values that are decorated as "sensitive" in the API will not
 21928  // be included in the string output. The member name will be present, but the
 21929  // value will be replaced with "sensitive".
 21930  func (s AwsRdsDbClusterOptionGroupMembership) String() string {
 21931  	return awsutil.Prettify(s)
 21932  }
 21933  
 21934  // GoString returns the string representation.
 21935  //
 21936  // API parameter values that are decorated as "sensitive" in the API will not
 21937  // be included in the string output. The member name will be present, but the
 21938  // value will be replaced with "sensitive".
 21939  func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
 21940  	return s.String()
 21941  }
 21942  
 21943  // SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
 21944  func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
 21945  	s.DbClusterOptionGroupName = &v
 21946  	return s
 21947  }
 21948  
 21949  // SetStatus sets the Status field's value.
 21950  func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
 21951  	s.Status = &v
 21952  	return s
 21953  }
 21954  
 21955  // Information about an Amazon RDS DB cluster snapshot.
 21956  type AwsRdsDbClusterSnapshotDetails struct {
 21957  	_ struct{} `type:"structure"`
 21958  
 21959  	// Specifies the allocated storage size in gibibytes (GiB).
 21960  	AllocatedStorage *int64 `type:"integer"`
 21961  
 21962  	// A list of Availability Zones where instances in the DB cluster can be created.
 21963  	AvailabilityZones []*string `type:"list"`
 21964  
 21965  	// Indicates when the DB cluster was created, in Universal Coordinated Time
 21966  	// (UTC).
 21967  	//
 21968  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 21969  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 21970  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 21971  	ClusterCreateTime *string `type:"string"`
 21972  
 21973  	// The DB cluster identifier.
 21974  	DbClusterIdentifier *string `type:"string"`
 21975  
 21976  	// The identifier of the DB cluster snapshot.
 21977  	DbClusterSnapshotIdentifier *string `type:"string"`
 21978  
 21979  	// The name of the database engine that you want to use for this DB instance.
 21980  	Engine *string `type:"string"`
 21981  
 21982  	// The version of the database engine to use.
 21983  	EngineVersion *string `type:"string"`
 21984  
 21985  	// Whether mapping of IAM accounts to database accounts is enabled.
 21986  	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
 21987  
 21988  	// The ARN of the KMS master key that is used to encrypt the database instances
 21989  	// in the DB cluster.
 21990  	KmsKeyId *string `type:"string"`
 21991  
 21992  	// The license model information for this DB cluster snapshot.
 21993  	LicenseModel *string `type:"string"`
 21994  
 21995  	// The name of the master user for the DB cluster.
 21996  	MasterUsername *string `type:"string"`
 21997  
 21998  	// Specifies the percentage of the estimated data that has been transferred.
 21999  	PercentProgress *int64 `type:"integer"`
 22000  
 22001  	// The port number on which the DB instances in the DB cluster accept connections.
 22002  	Port *int64 `type:"integer"`
 22003  
 22004  	// Indicates when the snapshot was taken.
 22005  	//
 22006  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 22007  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 22008  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 22009  	SnapshotCreateTime *string `type:"string"`
 22010  
 22011  	// The type of DB cluster snapshot.
 22012  	SnapshotType *string `type:"string"`
 22013  
 22014  	// The status of this DB cluster snapshot.
 22015  	Status *string `type:"string"`
 22016  
 22017  	// Whether the DB cluster is encrypted.
 22018  	StorageEncrypted *bool `type:"boolean"`
 22019  
 22020  	// The VPC ID that is associated with the DB cluster snapshot.
 22021  	VpcId *string `type:"string"`
 22022  }
 22023  
 22024  // String returns the string representation.
 22025  //
 22026  // API parameter values that are decorated as "sensitive" in the API will not
 22027  // be included in the string output. The member name will be present, but the
 22028  // value will be replaced with "sensitive".
 22029  func (s AwsRdsDbClusterSnapshotDetails) String() string {
 22030  	return awsutil.Prettify(s)
 22031  }
 22032  
 22033  // GoString returns the string representation.
 22034  //
 22035  // API parameter values that are decorated as "sensitive" in the API will not
 22036  // be included in the string output. The member name will be present, but the
 22037  // value will be replaced with "sensitive".
 22038  func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
 22039  	return s.String()
 22040  }
 22041  
 22042  // SetAllocatedStorage sets the AllocatedStorage field's value.
 22043  func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
 22044  	s.AllocatedStorage = &v
 22045  	return s
 22046  }
 22047  
 22048  // SetAvailabilityZones sets the AvailabilityZones field's value.
 22049  func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
 22050  	s.AvailabilityZones = v
 22051  	return s
 22052  }
 22053  
 22054  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 22055  func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
 22056  	s.ClusterCreateTime = &v
 22057  	return s
 22058  }
 22059  
 22060  // SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
 22061  func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
 22062  	s.DbClusterIdentifier = &v
 22063  	return s
 22064  }
 22065  
 22066  // SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
 22067  func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
 22068  	s.DbClusterSnapshotIdentifier = &v
 22069  	return s
 22070  }
 22071  
 22072  // SetEngine sets the Engine field's value.
 22073  func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
 22074  	s.Engine = &v
 22075  	return s
 22076  }
 22077  
 22078  // SetEngineVersion sets the EngineVersion field's value.
 22079  func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
 22080  	s.EngineVersion = &v
 22081  	return s
 22082  }
 22083  
 22084  // SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
 22085  func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
 22086  	s.IamDatabaseAuthenticationEnabled = &v
 22087  	return s
 22088  }
 22089  
 22090  // SetKmsKeyId sets the KmsKeyId field's value.
 22091  func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
 22092  	s.KmsKeyId = &v
 22093  	return s
 22094  }
 22095  
 22096  // SetLicenseModel sets the LicenseModel field's value.
 22097  func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
 22098  	s.LicenseModel = &v
 22099  	return s
 22100  }
 22101  
 22102  // SetMasterUsername sets the MasterUsername field's value.
 22103  func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
 22104  	s.MasterUsername = &v
 22105  	return s
 22106  }
 22107  
 22108  // SetPercentProgress sets the PercentProgress field's value.
 22109  func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
 22110  	s.PercentProgress = &v
 22111  	return s
 22112  }
 22113  
 22114  // SetPort sets the Port field's value.
 22115  func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
 22116  	s.Port = &v
 22117  	return s
 22118  }
 22119  
 22120  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
 22121  func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
 22122  	s.SnapshotCreateTime = &v
 22123  	return s
 22124  }
 22125  
 22126  // SetSnapshotType sets the SnapshotType field's value.
 22127  func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
 22128  	s.SnapshotType = &v
 22129  	return s
 22130  }
 22131  
 22132  // SetStatus sets the Status field's value.
 22133  func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
 22134  	s.Status = &v
 22135  	return s
 22136  }
 22137  
 22138  // SetStorageEncrypted sets the StorageEncrypted field's value.
 22139  func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
 22140  	s.StorageEncrypted = &v
 22141  	return s
 22142  }
 22143  
 22144  // SetVpcId sets the VpcId field's value.
 22145  func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
 22146  	s.VpcId = &v
 22147  	return s
 22148  }
 22149  
 22150  // Information about an Active Directory domain membership record associated
 22151  // with the DB instance.
 22152  type AwsRdsDbDomainMembership struct {
 22153  	_ struct{} `type:"structure"`
 22154  
 22155  	// The identifier of the Active Directory domain.
 22156  	Domain *string `type:"string"`
 22157  
 22158  	// The fully qualified domain name of the Active Directory domain.
 22159  	Fqdn *string `type:"string"`
 22160  
 22161  	// The name of the IAM role to use when making API calls to the Directory Service.
 22162  	IamRoleName *string `type:"string"`
 22163  
 22164  	// The status of the Active Directory Domain membership for the DB instance.
 22165  	Status *string `type:"string"`
 22166  }
 22167  
 22168  // String returns the string representation.
 22169  //
 22170  // API parameter values that are decorated as "sensitive" in the API will not
 22171  // be included in the string output. The member name will be present, but the
 22172  // value will be replaced with "sensitive".
 22173  func (s AwsRdsDbDomainMembership) String() string {
 22174  	return awsutil.Prettify(s)
 22175  }
 22176  
 22177  // GoString returns the string representation.
 22178  //
 22179  // API parameter values that are decorated as "sensitive" in the API will not
 22180  // be included in the string output. The member name will be present, but the
 22181  // value will be replaced with "sensitive".
 22182  func (s AwsRdsDbDomainMembership) GoString() string {
 22183  	return s.String()
 22184  }
 22185  
 22186  // SetDomain sets the Domain field's value.
 22187  func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
 22188  	s.Domain = &v
 22189  	return s
 22190  }
 22191  
 22192  // SetFqdn sets the Fqdn field's value.
 22193  func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
 22194  	s.Fqdn = &v
 22195  	return s
 22196  }
 22197  
 22198  // SetIamRoleName sets the IamRoleName field's value.
 22199  func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
 22200  	s.IamRoleName = &v
 22201  	return s
 22202  }
 22203  
 22204  // SetStatus sets the Status field's value.
 22205  func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
 22206  	s.Status = &v
 22207  	return s
 22208  }
 22209  
 22210  // An IAM role associated with the DB instance.
 22211  type AwsRdsDbInstanceAssociatedRole struct {
 22212  	_ struct{} `type:"structure"`
 22213  
 22214  	// The name of the feature associated with the IAM role.
 22215  	FeatureName *string `type:"string"`
 22216  
 22217  	// The ARN of the IAM role that is associated with the DB instance.
 22218  	RoleArn *string `type:"string"`
 22219  
 22220  	// Describes the state of the association between the IAM role and the DB instance.
 22221  	// The Status property returns one of the following values:
 22222  	//
 22223  	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
 22224  	//    be used to access other Amazon Web Services services on your behalf.
 22225  	//
 22226  	//    * PENDING - The IAM role ARN is being associated with the DB instance.
 22227  	//
 22228  	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
 22229  	//    DB instance is unable to assume the IAM role in order to access other
 22230  	//    Amazon Web Services services on your behalf.
 22231  	Status *string `type:"string"`
 22232  }
 22233  
 22234  // String returns the string representation.
 22235  //
 22236  // API parameter values that are decorated as "sensitive" in the API will not
 22237  // be included in the string output. The member name will be present, but the
 22238  // value will be replaced with "sensitive".
 22239  func (s AwsRdsDbInstanceAssociatedRole) String() string {
 22240  	return awsutil.Prettify(s)
 22241  }
 22242  
 22243  // GoString returns the string representation.
 22244  //
 22245  // API parameter values that are decorated as "sensitive" in the API will not
 22246  // be included in the string output. The member name will be present, but the
 22247  // value will be replaced with "sensitive".
 22248  func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
 22249  	return s.String()
 22250  }
 22251  
 22252  // SetFeatureName sets the FeatureName field's value.
 22253  func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
 22254  	s.FeatureName = &v
 22255  	return s
 22256  }
 22257  
 22258  // SetRoleArn sets the RoleArn field's value.
 22259  func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
 22260  	s.RoleArn = &v
 22261  	return s
 22262  }
 22263  
 22264  // SetStatus sets the Status field's value.
 22265  func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
 22266  	s.Status = &v
 22267  	return s
 22268  }
 22269  
 22270  // Contains the details of an Amazon RDS DB instance.
 22271  type AwsRdsDbInstanceDetails struct {
 22272  	_ struct{} `type:"structure"`
 22273  
 22274  	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
 22275  	AllocatedStorage *int64 `type:"integer"`
 22276  
 22277  	// The IAM roles associated with the DB instance.
 22278  	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
 22279  
 22280  	// Indicates whether minor version patches are applied automatically.
 22281  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 22282  
 22283  	// The Availability Zone where the DB instance will be created.
 22284  	AvailabilityZone *string `type:"string"`
 22285  
 22286  	// The number of days for which to retain automated backups.
 22287  	BackupRetentionPeriod *int64 `type:"integer"`
 22288  
 22289  	// The identifier of the CA certificate for this DB instance.
 22290  	CACertificateIdentifier *string `type:"string"`
 22291  
 22292  	// The name of the character set that this DB instance is associated with.
 22293  	CharacterSetName *string `type:"string"`
 22294  
 22295  	// Whether to copy resource tags to snapshots of the DB instance.
 22296  	CopyTagsToSnapshot *bool `type:"boolean"`
 22297  
 22298  	// If the DB instance is a member of a DB cluster, contains the name of the
 22299  	// DB cluster that the DB instance is a member of.
 22300  	DBClusterIdentifier *string `type:"string"`
 22301  
 22302  	// Contains the name of the compute and memory capacity class of the DB instance.
 22303  	DBInstanceClass *string `type:"string"`
 22304  
 22305  	// Contains a user-supplied database identifier. This identifier is the unique
 22306  	// key that identifies a DB instance.
 22307  	DBInstanceIdentifier *string `type:"string"`
 22308  
 22309  	// The meaning of this parameter differs according to the database engine you
 22310  	// use.
 22311  	//
 22312  	// MySQL, MariaDB, SQL Server, PostgreSQL
 22313  	//
 22314  	// Contains the name of the initial database of this instance that was provided
 22315  	// at create time, if one was specified when the DB instance was created. This
 22316  	// same name is returned for the life of the DB instance.
 22317  	//
 22318  	// Oracle
 22319  	//
 22320  	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
 22321  	// when the returned parameters do not apply to an Oracle DB instance.
 22322  	DBName *string `type:"string"`
 22323  
 22324  	// Specifies the port that the DB instance listens on. If the DB instance is
 22325  	// part of a DB cluster, this can be a different port than the DB cluster port.
 22326  	DbInstancePort *int64 `type:"integer"`
 22327  
 22328  	// The current status of the DB instance.
 22329  	DbInstanceStatus *string `type:"string"`
 22330  
 22331  	// A list of the DB parameter groups to assign to the DB instance.
 22332  	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
 22333  
 22334  	// A list of the DB security groups to assign to the DB instance.
 22335  	DbSecurityGroups []*string `type:"list"`
 22336  
 22337  	// Information about the subnet group that is associated with the DB instance.
 22338  	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
 22339  
 22340  	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
 22341  	// This identifier is found in CloudTrail log entries whenever the KMS key for
 22342  	// the DB instance is accessed.
 22343  	DbiResourceId *string `type:"string"`
 22344  
 22345  	// Indicates whether the DB instance has deletion protection enabled.
 22346  	//
 22347  	// When deletion protection is enabled, the database cannot be deleted.
 22348  	DeletionProtection *bool `type:"boolean"`
 22349  
 22350  	// The Active Directory domain membership records associated with the DB instance.
 22351  	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
 22352  
 22353  	// A list of log types that this DB instance is configured to export to CloudWatch
 22354  	// Logs.
 22355  	EnabledCloudWatchLogsExports []*string `type:"list"`
 22356  
 22357  	// Specifies the connection endpoint.
 22358  	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
 22359  
 22360  	// Provides the name of the database engine to use for this DB instance.
 22361  	Engine *string `type:"string"`
 22362  
 22363  	// Indicates the database engine version.
 22364  	EngineVersion *string `type:"string"`
 22365  
 22366  	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
 22367  	// metrics data for the DB instance.
 22368  	EnhancedMonitoringResourceArn *string `type:"string"`
 22369  
 22370  	// True if mapping of IAM accounts to database accounts is enabled, and otherwise
 22371  	// false.
 22372  	//
 22373  	// IAM database authentication can be enabled for the following database engines.
 22374  	//
 22375  	//    * For MySQL 5.6, minor version 5.6.34 or higher
 22376  	//
 22377  	//    * For MySQL 5.7, minor version 5.7.16 or higher
 22378  	//
 22379  	//    * Aurora 5.6 or higher
 22380  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 22381  
 22382  	// Indicates when the DB instance was created.
 22383  	//
 22384  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 22385  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 22386  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 22387  	InstanceCreateTime *string `type:"string"`
 22388  
 22389  	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
 22390  	Iops *int64 `type:"integer"`
 22391  
 22392  	// If StorageEncrypted is true, the KMS key identifier for the encrypted DB
 22393  	// instance.
 22394  	KmsKeyId *string `type:"string"`
 22395  
 22396  	// Specifies the latest time to which a database can be restored with point-in-time
 22397  	// restore.
 22398  	//
 22399  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 22400  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 22401  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 22402  	LatestRestorableTime *string `type:"string"`
 22403  
 22404  	// License model information for this DB instance.
 22405  	LicenseModel *string `type:"string"`
 22406  
 22407  	// Specifies the connection endpoint.
 22408  	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
 22409  
 22410  	// The master user name of the DB instance.
 22411  	MasterUsername *string `type:"string"`
 22412  
 22413  	// The upper limit to which Amazon RDS can automatically scale the storage of
 22414  	// the DB instance.
 22415  	MaxAllocatedStorage *int64 `type:"integer"`
 22416  
 22417  	// The interval, in seconds, between points when enhanced monitoring metrics
 22418  	// are collected for the DB instance.
 22419  	MonitoringInterval *int64 `type:"integer"`
 22420  
 22421  	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
 22422  	// metrics to CloudWatch Logs.
 22423  	MonitoringRoleArn *string `type:"string"`
 22424  
 22425  	// Whether the DB instance is a multiple Availability Zone deployment.
 22426  	MultiAz *bool `type:"boolean"`
 22427  
 22428  	// The list of option group memberships for this DB instance.
 22429  	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
 22430  
 22431  	// Changes to the DB instance that are currently pending.
 22432  	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
 22433  
 22434  	// Indicates whether Performance Insights is enabled for the DB instance.
 22435  	PerformanceInsightsEnabled *bool `type:"boolean"`
 22436  
 22437  	// The identifier of the KMS key used to encrypt the Performance Insights data.
 22438  	PerformanceInsightsKmsKeyId *string `type:"string"`
 22439  
 22440  	// The number of days to retain Performance Insights data.
 22441  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 22442  
 22443  	// The range of time each day when automated backups are created, if automated
 22444  	// backups are enabled.
 22445  	//
 22446  	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
 22447  	PreferredBackupWindow *string `type:"string"`
 22448  
 22449  	// The weekly time range during which system maintenance can occur, in Universal
 22450  	// Coordinated Time (UTC).
 22451  	//
 22452  	// Uses the format <day>:HH:MM-<day>:HH:MM.
 22453  	//
 22454  	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
 22455  	//
 22456  	// For example, sun:09:32-sun:10:02.
 22457  	PreferredMaintenanceWindow *string `type:"string"`
 22458  
 22459  	// The number of CPU cores and the number of threads per core for the DB instance
 22460  	// class of the DB instance.
 22461  	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
 22462  
 22463  	// The order in which to promote an Aurora replica to the primary instance after
 22464  	// a failure of the existing primary instance.
 22465  	PromotionTier *int64 `type:"integer"`
 22466  
 22467  	// Specifies the accessibility options for the DB instance.
 22468  	//
 22469  	// A value of true specifies an Internet-facing instance with a publicly resolvable
 22470  	// DNS name, which resolves to a public IP address.
 22471  	//
 22472  	// A value of false specifies an internal instance with a DNS name that resolves
 22473  	// to a private IP address.
 22474  	PubliclyAccessible *bool `type:"boolean"`
 22475  
 22476  	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
 22477  	// replicated as a read replica.
 22478  	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
 22479  
 22480  	// List of identifiers of the read replicas associated with this DB instance.
 22481  	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
 22482  
 22483  	// If this DB instance is a read replica, contains the identifier of the source
 22484  	// DB instance.
 22485  	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
 22486  
 22487  	// For a DB instance with multi-Availability Zone support, the name of the secondary
 22488  	// Availability Zone.
 22489  	SecondaryAvailabilityZone *string `type:"string"`
 22490  
 22491  	// The status of a read replica. If the instance isn't a read replica, this
 22492  	// is empty.
 22493  	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
 22494  
 22495  	// Specifies whether the DB instance is encrypted.
 22496  	StorageEncrypted *bool `type:"boolean"`
 22497  
 22498  	// The storage type for the DB instance.
 22499  	StorageType *string `type:"string"`
 22500  
 22501  	// The ARN from the key store with which the instance is associated for TDE
 22502  	// encryption.
 22503  	TdeCredentialArn *string `type:"string"`
 22504  
 22505  	// The time zone of the DB instance.
 22506  	Timezone *string `type:"string"`
 22507  
 22508  	// A list of VPC security groups that the DB instance belongs to.
 22509  	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
 22510  }
 22511  
 22512  // String returns the string representation.
 22513  //
 22514  // API parameter values that are decorated as "sensitive" in the API will not
 22515  // be included in the string output. The member name will be present, but the
 22516  // value will be replaced with "sensitive".
 22517  func (s AwsRdsDbInstanceDetails) String() string {
 22518  	return awsutil.Prettify(s)
 22519  }
 22520  
 22521  // GoString returns the string representation.
 22522  //
 22523  // API parameter values that are decorated as "sensitive" in the API will not
 22524  // be included in the string output. The member name will be present, but the
 22525  // value will be replaced with "sensitive".
 22526  func (s AwsRdsDbInstanceDetails) GoString() string {
 22527  	return s.String()
 22528  }
 22529  
 22530  // SetAllocatedStorage sets the AllocatedStorage field's value.
 22531  func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
 22532  	s.AllocatedStorage = &v
 22533  	return s
 22534  }
 22535  
 22536  // SetAssociatedRoles sets the AssociatedRoles field's value.
 22537  func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
 22538  	s.AssociatedRoles = v
 22539  	return s
 22540  }
 22541  
 22542  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 22543  func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
 22544  	s.AutoMinorVersionUpgrade = &v
 22545  	return s
 22546  }
 22547  
 22548  // SetAvailabilityZone sets the AvailabilityZone field's value.
 22549  func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
 22550  	s.AvailabilityZone = &v
 22551  	return s
 22552  }
 22553  
 22554  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 22555  func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
 22556  	s.BackupRetentionPeriod = &v
 22557  	return s
 22558  }
 22559  
 22560  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 22561  func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
 22562  	s.CACertificateIdentifier = &v
 22563  	return s
 22564  }
 22565  
 22566  // SetCharacterSetName sets the CharacterSetName field's value.
 22567  func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
 22568  	s.CharacterSetName = &v
 22569  	return s
 22570  }
 22571  
 22572  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 22573  func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
 22574  	s.CopyTagsToSnapshot = &v
 22575  	return s
 22576  }
 22577  
 22578  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 22579  func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
 22580  	s.DBClusterIdentifier = &v
 22581  	return s
 22582  }
 22583  
 22584  // SetDBInstanceClass sets the DBInstanceClass field's value.
 22585  func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
 22586  	s.DBInstanceClass = &v
 22587  	return s
 22588  }
 22589  
 22590  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 22591  func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
 22592  	s.DBInstanceIdentifier = &v
 22593  	return s
 22594  }
 22595  
 22596  // SetDBName sets the DBName field's value.
 22597  func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
 22598  	s.DBName = &v
 22599  	return s
 22600  }
 22601  
 22602  // SetDbInstancePort sets the DbInstancePort field's value.
 22603  func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
 22604  	s.DbInstancePort = &v
 22605  	return s
 22606  }
 22607  
 22608  // SetDbInstanceStatus sets the DbInstanceStatus field's value.
 22609  func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
 22610  	s.DbInstanceStatus = &v
 22611  	return s
 22612  }
 22613  
 22614  // SetDbParameterGroups sets the DbParameterGroups field's value.
 22615  func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
 22616  	s.DbParameterGroups = v
 22617  	return s
 22618  }
 22619  
 22620  // SetDbSecurityGroups sets the DbSecurityGroups field's value.
 22621  func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
 22622  	s.DbSecurityGroups = v
 22623  	return s
 22624  }
 22625  
 22626  // SetDbSubnetGroup sets the DbSubnetGroup field's value.
 22627  func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
 22628  	s.DbSubnetGroup = v
 22629  	return s
 22630  }
 22631  
 22632  // SetDbiResourceId sets the DbiResourceId field's value.
 22633  func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
 22634  	s.DbiResourceId = &v
 22635  	return s
 22636  }
 22637  
 22638  // SetDeletionProtection sets the DeletionProtection field's value.
 22639  func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
 22640  	s.DeletionProtection = &v
 22641  	return s
 22642  }
 22643  
 22644  // SetDomainMemberships sets the DomainMemberships field's value.
 22645  func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
 22646  	s.DomainMemberships = v
 22647  	return s
 22648  }
 22649  
 22650  // SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
 22651  func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
 22652  	s.EnabledCloudWatchLogsExports = v
 22653  	return s
 22654  }
 22655  
 22656  // SetEndpoint sets the Endpoint field's value.
 22657  func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
 22658  	s.Endpoint = v
 22659  	return s
 22660  }
 22661  
 22662  // SetEngine sets the Engine field's value.
 22663  func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
 22664  	s.Engine = &v
 22665  	return s
 22666  }
 22667  
 22668  // SetEngineVersion sets the EngineVersion field's value.
 22669  func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
 22670  	s.EngineVersion = &v
 22671  	return s
 22672  }
 22673  
 22674  // SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
 22675  func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
 22676  	s.EnhancedMonitoringResourceArn = &v
 22677  	return s
 22678  }
 22679  
 22680  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 22681  func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
 22682  	s.IAMDatabaseAuthenticationEnabled = &v
 22683  	return s
 22684  }
 22685  
 22686  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 22687  func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
 22688  	s.InstanceCreateTime = &v
 22689  	return s
 22690  }
 22691  
 22692  // SetIops sets the Iops field's value.
 22693  func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
 22694  	s.Iops = &v
 22695  	return s
 22696  }
 22697  
 22698  // SetKmsKeyId sets the KmsKeyId field's value.
 22699  func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
 22700  	s.KmsKeyId = &v
 22701  	return s
 22702  }
 22703  
 22704  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
 22705  func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
 22706  	s.LatestRestorableTime = &v
 22707  	return s
 22708  }
 22709  
 22710  // SetLicenseModel sets the LicenseModel field's value.
 22711  func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
 22712  	s.LicenseModel = &v
 22713  	return s
 22714  }
 22715  
 22716  // SetListenerEndpoint sets the ListenerEndpoint field's value.
 22717  func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
 22718  	s.ListenerEndpoint = v
 22719  	return s
 22720  }
 22721  
 22722  // SetMasterUsername sets the MasterUsername field's value.
 22723  func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
 22724  	s.MasterUsername = &v
 22725  	return s
 22726  }
 22727  
 22728  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 22729  func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
 22730  	s.MaxAllocatedStorage = &v
 22731  	return s
 22732  }
 22733  
 22734  // SetMonitoringInterval sets the MonitoringInterval field's value.
 22735  func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
 22736  	s.MonitoringInterval = &v
 22737  	return s
 22738  }
 22739  
 22740  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 22741  func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
 22742  	s.MonitoringRoleArn = &v
 22743  	return s
 22744  }
 22745  
 22746  // SetMultiAz sets the MultiAz field's value.
 22747  func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
 22748  	s.MultiAz = &v
 22749  	return s
 22750  }
 22751  
 22752  // SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
 22753  func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
 22754  	s.OptionGroupMemberships = v
 22755  	return s
 22756  }
 22757  
 22758  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 22759  func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
 22760  	s.PendingModifiedValues = v
 22761  	return s
 22762  }
 22763  
 22764  // SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
 22765  func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
 22766  	s.PerformanceInsightsEnabled = &v
 22767  	return s
 22768  }
 22769  
 22770  // SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
 22771  func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
 22772  	s.PerformanceInsightsKmsKeyId = &v
 22773  	return s
 22774  }
 22775  
 22776  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 22777  func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
 22778  	s.PerformanceInsightsRetentionPeriod = &v
 22779  	return s
 22780  }
 22781  
 22782  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 22783  func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
 22784  	s.PreferredBackupWindow = &v
 22785  	return s
 22786  }
 22787  
 22788  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 22789  func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
 22790  	s.PreferredMaintenanceWindow = &v
 22791  	return s
 22792  }
 22793  
 22794  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 22795  func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
 22796  	s.ProcessorFeatures = v
 22797  	return s
 22798  }
 22799  
 22800  // SetPromotionTier sets the PromotionTier field's value.
 22801  func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
 22802  	s.PromotionTier = &v
 22803  	return s
 22804  }
 22805  
 22806  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 22807  func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
 22808  	s.PubliclyAccessible = &v
 22809  	return s
 22810  }
 22811  
 22812  // SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
 22813  func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
 22814  	s.ReadReplicaDBClusterIdentifiers = v
 22815  	return s
 22816  }
 22817  
 22818  // SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
 22819  func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
 22820  	s.ReadReplicaDBInstanceIdentifiers = v
 22821  	return s
 22822  }
 22823  
 22824  // SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
 22825  func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
 22826  	s.ReadReplicaSourceDBInstanceIdentifier = &v
 22827  	return s
 22828  }
 22829  
 22830  // SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
 22831  func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
 22832  	s.SecondaryAvailabilityZone = &v
 22833  	return s
 22834  }
 22835  
 22836  // SetStatusInfos sets the StatusInfos field's value.
 22837  func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
 22838  	s.StatusInfos = v
 22839  	return s
 22840  }
 22841  
 22842  // SetStorageEncrypted sets the StorageEncrypted field's value.
 22843  func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
 22844  	s.StorageEncrypted = &v
 22845  	return s
 22846  }
 22847  
 22848  // SetStorageType sets the StorageType field's value.
 22849  func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
 22850  	s.StorageType = &v
 22851  	return s
 22852  }
 22853  
 22854  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 22855  func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
 22856  	s.TdeCredentialArn = &v
 22857  	return s
 22858  }
 22859  
 22860  // SetTimezone sets the Timezone field's value.
 22861  func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
 22862  	s.Timezone = &v
 22863  	return s
 22864  }
 22865  
 22866  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 22867  func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
 22868  	s.VpcSecurityGroups = v
 22869  	return s
 22870  }
 22871  
 22872  // Specifies the connection endpoint.
 22873  type AwsRdsDbInstanceEndpoint struct {
 22874  	_ struct{} `type:"structure"`
 22875  
 22876  	// Specifies the DNS address of the DB instance.
 22877  	Address *string `type:"string"`
 22878  
 22879  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
 22880  	HostedZoneId *string `type:"string"`
 22881  
 22882  	// Specifies the port that the database engine is listening on.
 22883  	Port *int64 `type:"integer"`
 22884  }
 22885  
 22886  // String returns the string representation.
 22887  //
 22888  // API parameter values that are decorated as "sensitive" in the API will not
 22889  // be included in the string output. The member name will be present, but the
 22890  // value will be replaced with "sensitive".
 22891  func (s AwsRdsDbInstanceEndpoint) String() string {
 22892  	return awsutil.Prettify(s)
 22893  }
 22894  
 22895  // GoString returns the string representation.
 22896  //
 22897  // API parameter values that are decorated as "sensitive" in the API will not
 22898  // be included in the string output. The member name will be present, but the
 22899  // value will be replaced with "sensitive".
 22900  func (s AwsRdsDbInstanceEndpoint) GoString() string {
 22901  	return s.String()
 22902  }
 22903  
 22904  // SetAddress sets the Address field's value.
 22905  func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
 22906  	s.Address = &v
 22907  	return s
 22908  }
 22909  
 22910  // SetHostedZoneId sets the HostedZoneId field's value.
 22911  func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
 22912  	s.HostedZoneId = &v
 22913  	return s
 22914  }
 22915  
 22916  // SetPort sets the Port field's value.
 22917  func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
 22918  	s.Port = &v
 22919  	return s
 22920  }
 22921  
 22922  // A VPC security groups that the DB instance belongs to.
 22923  type AwsRdsDbInstanceVpcSecurityGroup struct {
 22924  	_ struct{} `type:"structure"`
 22925  
 22926  	// The status of the VPC security group.
 22927  	Status *string `type:"string"`
 22928  
 22929  	// The name of the VPC security group.
 22930  	VpcSecurityGroupId *string `type:"string"`
 22931  }
 22932  
 22933  // String returns the string representation.
 22934  //
 22935  // API parameter values that are decorated as "sensitive" in the API will not
 22936  // be included in the string output. The member name will be present, but the
 22937  // value will be replaced with "sensitive".
 22938  func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
 22939  	return awsutil.Prettify(s)
 22940  }
 22941  
 22942  // GoString returns the string representation.
 22943  //
 22944  // API parameter values that are decorated as "sensitive" in the API will not
 22945  // be included in the string output. The member name will be present, but the
 22946  // value will be replaced with "sensitive".
 22947  func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
 22948  	return s.String()
 22949  }
 22950  
 22951  // SetStatus sets the Status field's value.
 22952  func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
 22953  	s.Status = &v
 22954  	return s
 22955  }
 22956  
 22957  // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
 22958  func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
 22959  	s.VpcSecurityGroupId = &v
 22960  	return s
 22961  }
 22962  
 22963  // An option group membership.
 22964  type AwsRdsDbOptionGroupMembership struct {
 22965  	_ struct{} `type:"structure"`
 22966  
 22967  	// The name of the option group.
 22968  	OptionGroupName *string `type:"string"`
 22969  
 22970  	// The status of the option group membership.
 22971  	Status *string `type:"string"`
 22972  }
 22973  
 22974  // String returns the string representation.
 22975  //
 22976  // API parameter values that are decorated as "sensitive" in the API will not
 22977  // be included in the string output. The member name will be present, but the
 22978  // value will be replaced with "sensitive".
 22979  func (s AwsRdsDbOptionGroupMembership) String() string {
 22980  	return awsutil.Prettify(s)
 22981  }
 22982  
 22983  // GoString returns the string representation.
 22984  //
 22985  // API parameter values that are decorated as "sensitive" in the API will not
 22986  // be included in the string output. The member name will be present, but the
 22987  // value will be replaced with "sensitive".
 22988  func (s AwsRdsDbOptionGroupMembership) GoString() string {
 22989  	return s.String()
 22990  }
 22991  
 22992  // SetOptionGroupName sets the OptionGroupName field's value.
 22993  func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
 22994  	s.OptionGroupName = &v
 22995  	return s
 22996  }
 22997  
 22998  // SetStatus sets the Status field's value.
 22999  func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
 23000  	s.Status = &v
 23001  	return s
 23002  }
 23003  
 23004  // Provides information about a parameter group for a DB instance.
 23005  type AwsRdsDbParameterGroup struct {
 23006  	_ struct{} `type:"structure"`
 23007  
 23008  	// The name of the parameter group.
 23009  	DbParameterGroupName *string `type:"string"`
 23010  
 23011  	// The status of parameter updates.
 23012  	ParameterApplyStatus *string `type:"string"`
 23013  }
 23014  
 23015  // String returns the string representation.
 23016  //
 23017  // API parameter values that are decorated as "sensitive" in the API will not
 23018  // be included in the string output. The member name will be present, but the
 23019  // value will be replaced with "sensitive".
 23020  func (s AwsRdsDbParameterGroup) String() string {
 23021  	return awsutil.Prettify(s)
 23022  }
 23023  
 23024  // GoString returns the string representation.
 23025  //
 23026  // API parameter values that are decorated as "sensitive" in the API will not
 23027  // be included in the string output. The member name will be present, but the
 23028  // value will be replaced with "sensitive".
 23029  func (s AwsRdsDbParameterGroup) GoString() string {
 23030  	return s.String()
 23031  }
 23032  
 23033  // SetDbParameterGroupName sets the DbParameterGroupName field's value.
 23034  func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
 23035  	s.DbParameterGroupName = &v
 23036  	return s
 23037  }
 23038  
 23039  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 23040  func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
 23041  	s.ParameterApplyStatus = &v
 23042  	return s
 23043  }
 23044  
 23045  // Changes to a DB instance that are currently pending.
 23046  type AwsRdsDbPendingModifiedValues struct {
 23047  	_ struct{} `type:"structure"`
 23048  
 23049  	// The new value of the allocated storage for the DB instance.
 23050  	AllocatedStorage *int64 `type:"integer"`
 23051  
 23052  	// The new backup retention period for the DB instance.
 23053  	BackupRetentionPeriod *int64 `type:"integer"`
 23054  
 23055  	// The new CA certificate identifier for the DB instance.
 23056  	CaCertificateIdentifier *string `type:"string"`
 23057  
 23058  	// The new DB instance class for the DB instance.
 23059  	DbInstanceClass *string `type:"string"`
 23060  
 23061  	// The new DB instance identifier for the DB instance.
 23062  	DbInstanceIdentifier *string `type:"string"`
 23063  
 23064  	// The name of the new subnet group for the DB instance.
 23065  	DbSubnetGroupName *string `type:"string"`
 23066  
 23067  	// The new engine version for the DB instance.
 23068  	EngineVersion *string `type:"string"`
 23069  
 23070  	// The new provisioned IOPS value for the DB instance.
 23071  	Iops *int64 `type:"integer"`
 23072  
 23073  	// The new license model value for the DB instance.
 23074  	LicenseModel *string `type:"string"`
 23075  
 23076  	// The new master user password for the DB instance.
 23077  	MasterUserPassword *string `type:"string"`
 23078  
 23079  	// Indicates that a single Availability Zone DB instance is changing to a multiple
 23080  	// Availability Zone deployment.
 23081  	MultiAZ *bool `type:"boolean"`
 23082  
 23083  	// A list of log types that are being enabled or disabled.
 23084  	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
 23085  
 23086  	// The new port for the DB instance.
 23087  	Port *int64 `type:"integer"`
 23088  
 23089  	// Processor features that are being updated.
 23090  	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
 23091  
 23092  	// The new storage type for the DB instance.
 23093  	StorageType *string `type:"string"`
 23094  }
 23095  
 23096  // String returns the string representation.
 23097  //
 23098  // API parameter values that are decorated as "sensitive" in the API will not
 23099  // be included in the string output. The member name will be present, but the
 23100  // value will be replaced with "sensitive".
 23101  func (s AwsRdsDbPendingModifiedValues) String() string {
 23102  	return awsutil.Prettify(s)
 23103  }
 23104  
 23105  // GoString returns the string representation.
 23106  //
 23107  // API parameter values that are decorated as "sensitive" in the API will not
 23108  // be included in the string output. The member name will be present, but the
 23109  // value will be replaced with "sensitive".
 23110  func (s AwsRdsDbPendingModifiedValues) GoString() string {
 23111  	return s.String()
 23112  }
 23113  
 23114  // SetAllocatedStorage sets the AllocatedStorage field's value.
 23115  func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
 23116  	s.AllocatedStorage = &v
 23117  	return s
 23118  }
 23119  
 23120  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 23121  func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
 23122  	s.BackupRetentionPeriod = &v
 23123  	return s
 23124  }
 23125  
 23126  // SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
 23127  func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
 23128  	s.CaCertificateIdentifier = &v
 23129  	return s
 23130  }
 23131  
 23132  // SetDbInstanceClass sets the DbInstanceClass field's value.
 23133  func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
 23134  	s.DbInstanceClass = &v
 23135  	return s
 23136  }
 23137  
 23138  // SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
 23139  func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
 23140  	s.DbInstanceIdentifier = &v
 23141  	return s
 23142  }
 23143  
 23144  // SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
 23145  func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
 23146  	s.DbSubnetGroupName = &v
 23147  	return s
 23148  }
 23149  
 23150  // SetEngineVersion sets the EngineVersion field's value.
 23151  func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
 23152  	s.EngineVersion = &v
 23153  	return s
 23154  }
 23155  
 23156  // SetIops sets the Iops field's value.
 23157  func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
 23158  	s.Iops = &v
 23159  	return s
 23160  }
 23161  
 23162  // SetLicenseModel sets the LicenseModel field's value.
 23163  func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
 23164  	s.LicenseModel = &v
 23165  	return s
 23166  }
 23167  
 23168  // SetMasterUserPassword sets the MasterUserPassword field's value.
 23169  func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
 23170  	s.MasterUserPassword = &v
 23171  	return s
 23172  }
 23173  
 23174  // SetMultiAZ sets the MultiAZ field's value.
 23175  func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
 23176  	s.MultiAZ = &v
 23177  	return s
 23178  }
 23179  
 23180  // SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
 23181  func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
 23182  	s.PendingCloudWatchLogsExports = v
 23183  	return s
 23184  }
 23185  
 23186  // SetPort sets the Port field's value.
 23187  func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
 23188  	s.Port = &v
 23189  	return s
 23190  }
 23191  
 23192  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 23193  func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
 23194  	s.ProcessorFeatures = v
 23195  	return s
 23196  }
 23197  
 23198  // SetStorageType sets the StorageType field's value.
 23199  func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
 23200  	s.StorageType = &v
 23201  	return s
 23202  }
 23203  
 23204  // A processor feature.
 23205  type AwsRdsDbProcessorFeature struct {
 23206  	_ struct{} `type:"structure"`
 23207  
 23208  	// The name of the processor feature.
 23209  	Name *string `type:"string"`
 23210  
 23211  	// The value of the processor feature.
 23212  	Value *string `type:"string"`
 23213  }
 23214  
 23215  // String returns the string representation.
 23216  //
 23217  // API parameter values that are decorated as "sensitive" in the API will not
 23218  // be included in the string output. The member name will be present, but the
 23219  // value will be replaced with "sensitive".
 23220  func (s AwsRdsDbProcessorFeature) String() string {
 23221  	return awsutil.Prettify(s)
 23222  }
 23223  
 23224  // GoString returns the string representation.
 23225  //
 23226  // API parameter values that are decorated as "sensitive" in the API will not
 23227  // be included in the string output. The member name will be present, but the
 23228  // value will be replaced with "sensitive".
 23229  func (s AwsRdsDbProcessorFeature) GoString() string {
 23230  	return s.String()
 23231  }
 23232  
 23233  // SetName sets the Name field's value.
 23234  func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
 23235  	s.Name = &v
 23236  	return s
 23237  }
 23238  
 23239  // SetValue sets the Value field's value.
 23240  func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
 23241  	s.Value = &v
 23242  	return s
 23243  }
 23244  
 23245  // Provides details about an Amazon RDS DB cluster snapshot.
 23246  type AwsRdsDbSnapshotDetails struct {
 23247  	_ struct{} `type:"structure"`
 23248  
 23249  	// The amount of storage (in gigabytes) to be initially allocated for the database
 23250  	// instance.
 23251  	AllocatedStorage *int64 `type:"integer"`
 23252  
 23253  	// Specifies the name of the Availability Zone in which the DB instance was
 23254  	// located at the time of the DB snapshot.
 23255  	AvailabilityZone *string `type:"string"`
 23256  
 23257  	// A name for the DB instance.
 23258  	DbInstanceIdentifier *string `type:"string"`
 23259  
 23260  	// The name or ARN of the DB snapshot that is used to restore the DB instance.
 23261  	DbSnapshotIdentifier *string `type:"string"`
 23262  
 23263  	// The identifier for the source DB instance.
 23264  	DbiResourceId *string `type:"string"`
 23265  
 23266  	// Whether the DB snapshot is encrypted.
 23267  	Encrypted *bool `type:"boolean"`
 23268  
 23269  	// The name of the database engine to use for this DB instance.
 23270  	Engine *string `type:"string"`
 23271  
 23272  	// The version of the database engine.
 23273  	EngineVersion *string `type:"string"`
 23274  
 23275  	// Whether mapping of IAM accounts to database accounts is enabled.
 23276  	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
 23277  
 23278  	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
 23279  	// from which the snapshot was taken, was created.
 23280  	InstanceCreateTime *string `type:"string"`
 23281  
 23282  	// The provisioned IOPS (I/O operations per second) value of the DB instance
 23283  	// at the time of the snapshot.
 23284  	Iops *int64 `type:"integer"`
 23285  
 23286  	// If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.
 23287  	KmsKeyId *string `type:"string"`
 23288  
 23289  	// License model information for the restored DB instance.
 23290  	LicenseModel *string `type:"string"`
 23291  
 23292  	// The master user name for the DB snapshot.
 23293  	MasterUsername *string `type:"string"`
 23294  
 23295  	// The option group name for the DB snapshot.
 23296  	OptionGroupName *string `type:"string"`
 23297  
 23298  	// The percentage of the estimated data that has been transferred.
 23299  	PercentProgress *int64 `type:"integer"`
 23300  
 23301  	// The port that the database engine was listening on at the time of the snapshot.
 23302  	Port *int64 `type:"integer"`
 23303  
 23304  	// The number of CPU cores and the number of threads per core for the DB instance
 23305  	// class of the DB instance.
 23306  	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
 23307  
 23308  	// When the snapshot was taken in Coordinated Universal Time (UTC).
 23309  	SnapshotCreateTime *string `type:"string"`
 23310  
 23311  	// The type of the DB snapshot.
 23312  	SnapshotType *string `type:"string"`
 23313  
 23314  	// The DB snapshot ARN that the DB snapshot was copied from.
 23315  	SourceDbSnapshotIdentifier *string `type:"string"`
 23316  
 23317  	// The Amazon Web Services Region that the DB snapshot was created in or copied
 23318  	// from.
 23319  	SourceRegion *string `type:"string"`
 23320  
 23321  	// The status of this DB snapshot.
 23322  	Status *string `type:"string"`
 23323  
 23324  	// The storage type associated with the DB snapshot.
 23325  	StorageType *string `type:"string"`
 23326  
 23327  	// The ARN from the key store with which to associate the instance for TDE encryption.
 23328  	TdeCredentialArn *string `type:"string"`
 23329  
 23330  	// The time zone of the DB snapshot.
 23331  	Timezone *string `type:"string"`
 23332  
 23333  	// The VPC ID associated with the DB snapshot.
 23334  	VpcId *string `type:"string"`
 23335  }
 23336  
 23337  // String returns the string representation.
 23338  //
 23339  // API parameter values that are decorated as "sensitive" in the API will not
 23340  // be included in the string output. The member name will be present, but the
 23341  // value will be replaced with "sensitive".
 23342  func (s AwsRdsDbSnapshotDetails) String() string {
 23343  	return awsutil.Prettify(s)
 23344  }
 23345  
 23346  // GoString returns the string representation.
 23347  //
 23348  // API parameter values that are decorated as "sensitive" in the API will not
 23349  // be included in the string output. The member name will be present, but the
 23350  // value will be replaced with "sensitive".
 23351  func (s AwsRdsDbSnapshotDetails) GoString() string {
 23352  	return s.String()
 23353  }
 23354  
 23355  // SetAllocatedStorage sets the AllocatedStorage field's value.
 23356  func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
 23357  	s.AllocatedStorage = &v
 23358  	return s
 23359  }
 23360  
 23361  // SetAvailabilityZone sets the AvailabilityZone field's value.
 23362  func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
 23363  	s.AvailabilityZone = &v
 23364  	return s
 23365  }
 23366  
 23367  // SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
 23368  func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
 23369  	s.DbInstanceIdentifier = &v
 23370  	return s
 23371  }
 23372  
 23373  // SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
 23374  func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
 23375  	s.DbSnapshotIdentifier = &v
 23376  	return s
 23377  }
 23378  
 23379  // SetDbiResourceId sets the DbiResourceId field's value.
 23380  func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
 23381  	s.DbiResourceId = &v
 23382  	return s
 23383  }
 23384  
 23385  // SetEncrypted sets the Encrypted field's value.
 23386  func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
 23387  	s.Encrypted = &v
 23388  	return s
 23389  }
 23390  
 23391  // SetEngine sets the Engine field's value.
 23392  func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
 23393  	s.Engine = &v
 23394  	return s
 23395  }
 23396  
 23397  // SetEngineVersion sets the EngineVersion field's value.
 23398  func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
 23399  	s.EngineVersion = &v
 23400  	return s
 23401  }
 23402  
 23403  // SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
 23404  func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
 23405  	s.IamDatabaseAuthenticationEnabled = &v
 23406  	return s
 23407  }
 23408  
 23409  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 23410  func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
 23411  	s.InstanceCreateTime = &v
 23412  	return s
 23413  }
 23414  
 23415  // SetIops sets the Iops field's value.
 23416  func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
 23417  	s.Iops = &v
 23418  	return s
 23419  }
 23420  
 23421  // SetKmsKeyId sets the KmsKeyId field's value.
 23422  func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
 23423  	s.KmsKeyId = &v
 23424  	return s
 23425  }
 23426  
 23427  // SetLicenseModel sets the LicenseModel field's value.
 23428  func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
 23429  	s.LicenseModel = &v
 23430  	return s
 23431  }
 23432  
 23433  // SetMasterUsername sets the MasterUsername field's value.
 23434  func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
 23435  	s.MasterUsername = &v
 23436  	return s
 23437  }
 23438  
 23439  // SetOptionGroupName sets the OptionGroupName field's value.
 23440  func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
 23441  	s.OptionGroupName = &v
 23442  	return s
 23443  }
 23444  
 23445  // SetPercentProgress sets the PercentProgress field's value.
 23446  func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
 23447  	s.PercentProgress = &v
 23448  	return s
 23449  }
 23450  
 23451  // SetPort sets the Port field's value.
 23452  func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
 23453  	s.Port = &v
 23454  	return s
 23455  }
 23456  
 23457  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 23458  func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
 23459  	s.ProcessorFeatures = v
 23460  	return s
 23461  }
 23462  
 23463  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
 23464  func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
 23465  	s.SnapshotCreateTime = &v
 23466  	return s
 23467  }
 23468  
 23469  // SetSnapshotType sets the SnapshotType field's value.
 23470  func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
 23471  	s.SnapshotType = &v
 23472  	return s
 23473  }
 23474  
 23475  // SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
 23476  func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
 23477  	s.SourceDbSnapshotIdentifier = &v
 23478  	return s
 23479  }
 23480  
 23481  // SetSourceRegion sets the SourceRegion field's value.
 23482  func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
 23483  	s.SourceRegion = &v
 23484  	return s
 23485  }
 23486  
 23487  // SetStatus sets the Status field's value.
 23488  func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
 23489  	s.Status = &v
 23490  	return s
 23491  }
 23492  
 23493  // SetStorageType sets the StorageType field's value.
 23494  func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
 23495  	s.StorageType = &v
 23496  	return s
 23497  }
 23498  
 23499  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 23500  func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
 23501  	s.TdeCredentialArn = &v
 23502  	return s
 23503  }
 23504  
 23505  // SetTimezone sets the Timezone field's value.
 23506  func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
 23507  	s.Timezone = &v
 23508  	return s
 23509  }
 23510  
 23511  // SetVpcId sets the VpcId field's value.
 23512  func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
 23513  	s.VpcId = &v
 23514  	return s
 23515  }
 23516  
 23517  // Information about the status of a read replica.
 23518  type AwsRdsDbStatusInfo struct {
 23519  	_ struct{} `type:"structure"`
 23520  
 23521  	// If the read replica is currently in an error state, provides the error details.
 23522  	Message *string `type:"string"`
 23523  
 23524  	// Whether the read replica instance is operating normally.
 23525  	Normal *bool `type:"boolean"`
 23526  
 23527  	// The status of the read replica instance.
 23528  	Status *string `type:"string"`
 23529  
 23530  	// The type of status. For a read replica, the status type is read replication.
 23531  	StatusType *string `type:"string"`
 23532  }
 23533  
 23534  // String returns the string representation.
 23535  //
 23536  // API parameter values that are decorated as "sensitive" in the API will not
 23537  // be included in the string output. The member name will be present, but the
 23538  // value will be replaced with "sensitive".
 23539  func (s AwsRdsDbStatusInfo) String() string {
 23540  	return awsutil.Prettify(s)
 23541  }
 23542  
 23543  // GoString returns the string representation.
 23544  //
 23545  // API parameter values that are decorated as "sensitive" in the API will not
 23546  // be included in the string output. The member name will be present, but the
 23547  // value will be replaced with "sensitive".
 23548  func (s AwsRdsDbStatusInfo) GoString() string {
 23549  	return s.String()
 23550  }
 23551  
 23552  // SetMessage sets the Message field's value.
 23553  func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
 23554  	s.Message = &v
 23555  	return s
 23556  }
 23557  
 23558  // SetNormal sets the Normal field's value.
 23559  func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
 23560  	s.Normal = &v
 23561  	return s
 23562  }
 23563  
 23564  // SetStatus sets the Status field's value.
 23565  func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
 23566  	s.Status = &v
 23567  	return s
 23568  }
 23569  
 23570  // SetStatusType sets the StatusType field's value.
 23571  func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
 23572  	s.StatusType = &v
 23573  	return s
 23574  }
 23575  
 23576  // Information about the subnet group for the database instance.
 23577  type AwsRdsDbSubnetGroup struct {
 23578  	_ struct{} `type:"structure"`
 23579  
 23580  	// The ARN of the subnet group.
 23581  	DbSubnetGroupArn *string `type:"string"`
 23582  
 23583  	// The description of the subnet group.
 23584  	DbSubnetGroupDescription *string `type:"string"`
 23585  
 23586  	// The name of the subnet group.
 23587  	DbSubnetGroupName *string `type:"string"`
 23588  
 23589  	// The status of the subnet group.
 23590  	SubnetGroupStatus *string `type:"string"`
 23591  
 23592  	// A list of subnets in the subnet group.
 23593  	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
 23594  
 23595  	// The VPC ID of the subnet group.
 23596  	VpcId *string `type:"string"`
 23597  }
 23598  
 23599  // String returns the string representation.
 23600  //
 23601  // API parameter values that are decorated as "sensitive" in the API will not
 23602  // be included in the string output. The member name will be present, but the
 23603  // value will be replaced with "sensitive".
 23604  func (s AwsRdsDbSubnetGroup) String() string {
 23605  	return awsutil.Prettify(s)
 23606  }
 23607  
 23608  // GoString returns the string representation.
 23609  //
 23610  // API parameter values that are decorated as "sensitive" in the API will not
 23611  // be included in the string output. The member name will be present, but the
 23612  // value will be replaced with "sensitive".
 23613  func (s AwsRdsDbSubnetGroup) GoString() string {
 23614  	return s.String()
 23615  }
 23616  
 23617  // SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
 23618  func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
 23619  	s.DbSubnetGroupArn = &v
 23620  	return s
 23621  }
 23622  
 23623  // SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
 23624  func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
 23625  	s.DbSubnetGroupDescription = &v
 23626  	return s
 23627  }
 23628  
 23629  // SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
 23630  func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
 23631  	s.DbSubnetGroupName = &v
 23632  	return s
 23633  }
 23634  
 23635  // SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
 23636  func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
 23637  	s.SubnetGroupStatus = &v
 23638  	return s
 23639  }
 23640  
 23641  // SetSubnets sets the Subnets field's value.
 23642  func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
 23643  	s.Subnets = v
 23644  	return s
 23645  }
 23646  
 23647  // SetVpcId sets the VpcId field's value.
 23648  func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
 23649  	s.VpcId = &v
 23650  	return s
 23651  }
 23652  
 23653  // Information about a subnet in a subnet group.
 23654  type AwsRdsDbSubnetGroupSubnet struct {
 23655  	_ struct{} `type:"structure"`
 23656  
 23657  	// Information about the Availability Zone for a subnet in the subnet group.
 23658  	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
 23659  
 23660  	// The identifier of a subnet in the subnet group.
 23661  	SubnetIdentifier *string `type:"string"`
 23662  
 23663  	// The status of a subnet in the subnet group.
 23664  	SubnetStatus *string `type:"string"`
 23665  }
 23666  
 23667  // String returns the string representation.
 23668  //
 23669  // API parameter values that are decorated as "sensitive" in the API will not
 23670  // be included in the string output. The member name will be present, but the
 23671  // value will be replaced with "sensitive".
 23672  func (s AwsRdsDbSubnetGroupSubnet) String() string {
 23673  	return awsutil.Prettify(s)
 23674  }
 23675  
 23676  // GoString returns the string representation.
 23677  //
 23678  // API parameter values that are decorated as "sensitive" in the API will not
 23679  // be included in the string output. The member name will be present, but the
 23680  // value will be replaced with "sensitive".
 23681  func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
 23682  	return s.String()
 23683  }
 23684  
 23685  // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
 23686  func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
 23687  	s.SubnetAvailabilityZone = v
 23688  	return s
 23689  }
 23690  
 23691  // SetSubnetIdentifier sets the SubnetIdentifier field's value.
 23692  func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
 23693  	s.SubnetIdentifier = &v
 23694  	return s
 23695  }
 23696  
 23697  // SetSubnetStatus sets the SubnetStatus field's value.
 23698  func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
 23699  	s.SubnetStatus = &v
 23700  	return s
 23701  }
 23702  
 23703  // An Availability Zone for a subnet in a subnet group.
 23704  type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
 23705  	_ struct{} `type:"structure"`
 23706  
 23707  	// The name of the Availability Zone for a subnet in the subnet group.
 23708  	Name *string `type:"string"`
 23709  }
 23710  
 23711  // String returns the string representation.
 23712  //
 23713  // API parameter values that are decorated as "sensitive" in the API will not
 23714  // be included in the string output. The member name will be present, but the
 23715  // value will be replaced with "sensitive".
 23716  func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
 23717  	return awsutil.Prettify(s)
 23718  }
 23719  
 23720  // GoString returns the string representation.
 23721  //
 23722  // API parameter values that are decorated as "sensitive" in the API will not
 23723  // be included in the string output. The member name will be present, but the
 23724  // value will be replaced with "sensitive".
 23725  func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
 23726  	return s.String()
 23727  }
 23728  
 23729  // SetName sets the Name field's value.
 23730  func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
 23731  	s.Name = &v
 23732  	return s
 23733  }
 23734  
 23735  // Details about an Amazon RDS event notification subscription. The subscription
 23736  // allows Amazon RDS to post events to an SNS topic.
 23737  type AwsRdsEventSubscriptionDetails struct {
 23738  	_ struct{} `type:"structure"`
 23739  
 23740  	// The identifier of the account that is associated with the event notification
 23741  	// subscription.
 23742  	CustSubscriptionId *string `type:"string"`
 23743  
 23744  	// The identifier of the event notification subscription.
 23745  	CustomerAwsId *string `type:"string"`
 23746  
 23747  	// Whether the event notification subscription is enabled.
 23748  	Enabled *bool `type:"boolean"`
 23749  
 23750  	// The list of event categories for the event notification subscription.
 23751  	EventCategoriesList []*string `type:"list"`
 23752  
 23753  	// The ARN of the event notification subscription.
 23754  	EventSubscriptionArn *string `type:"string"`
 23755  
 23756  	// The ARN of the SNS topic to post the event notifications to.
 23757  	SnsTopicArn *string `type:"string"`
 23758  
 23759  	// A list of source identifiers for the event notification subscription.
 23760  	SourceIdsList []*string `type:"list"`
 23761  
 23762  	// The source type for the event notification subscription.
 23763  	SourceType *string `type:"string"`
 23764  
 23765  	// The status of the event notification subscription.
 23766  	//
 23767  	// Valid values: creating | modifying | deleting | active | no-permission |
 23768  	// topic-not-exist
 23769  	Status *string `type:"string"`
 23770  
 23771  	// The datetime when the event notification subscription was created.
 23772  	//
 23773  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 23774  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 23775  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 23776  	SubscriptionCreationTime *string `type:"string"`
 23777  }
 23778  
 23779  // String returns the string representation.
 23780  //
 23781  // API parameter values that are decorated as "sensitive" in the API will not
 23782  // be included in the string output. The member name will be present, but the
 23783  // value will be replaced with "sensitive".
 23784  func (s AwsRdsEventSubscriptionDetails) String() string {
 23785  	return awsutil.Prettify(s)
 23786  }
 23787  
 23788  // GoString returns the string representation.
 23789  //
 23790  // API parameter values that are decorated as "sensitive" in the API will not
 23791  // be included in the string output. The member name will be present, but the
 23792  // value will be replaced with "sensitive".
 23793  func (s AwsRdsEventSubscriptionDetails) GoString() string {
 23794  	return s.String()
 23795  }
 23796  
 23797  // SetCustSubscriptionId sets the CustSubscriptionId field's value.
 23798  func (s *AwsRdsEventSubscriptionDetails) SetCustSubscriptionId(v string) *AwsRdsEventSubscriptionDetails {
 23799  	s.CustSubscriptionId = &v
 23800  	return s
 23801  }
 23802  
 23803  // SetCustomerAwsId sets the CustomerAwsId field's value.
 23804  func (s *AwsRdsEventSubscriptionDetails) SetCustomerAwsId(v string) *AwsRdsEventSubscriptionDetails {
 23805  	s.CustomerAwsId = &v
 23806  	return s
 23807  }
 23808  
 23809  // SetEnabled sets the Enabled field's value.
 23810  func (s *AwsRdsEventSubscriptionDetails) SetEnabled(v bool) *AwsRdsEventSubscriptionDetails {
 23811  	s.Enabled = &v
 23812  	return s
 23813  }
 23814  
 23815  // SetEventCategoriesList sets the EventCategoriesList field's value.
 23816  func (s *AwsRdsEventSubscriptionDetails) SetEventCategoriesList(v []*string) *AwsRdsEventSubscriptionDetails {
 23817  	s.EventCategoriesList = v
 23818  	return s
 23819  }
 23820  
 23821  // SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
 23822  func (s *AwsRdsEventSubscriptionDetails) SetEventSubscriptionArn(v string) *AwsRdsEventSubscriptionDetails {
 23823  	s.EventSubscriptionArn = &v
 23824  	return s
 23825  }
 23826  
 23827  // SetSnsTopicArn sets the SnsTopicArn field's value.
 23828  func (s *AwsRdsEventSubscriptionDetails) SetSnsTopicArn(v string) *AwsRdsEventSubscriptionDetails {
 23829  	s.SnsTopicArn = &v
 23830  	return s
 23831  }
 23832  
 23833  // SetSourceIdsList sets the SourceIdsList field's value.
 23834  func (s *AwsRdsEventSubscriptionDetails) SetSourceIdsList(v []*string) *AwsRdsEventSubscriptionDetails {
 23835  	s.SourceIdsList = v
 23836  	return s
 23837  }
 23838  
 23839  // SetSourceType sets the SourceType field's value.
 23840  func (s *AwsRdsEventSubscriptionDetails) SetSourceType(v string) *AwsRdsEventSubscriptionDetails {
 23841  	s.SourceType = &v
 23842  	return s
 23843  }
 23844  
 23845  // SetStatus sets the Status field's value.
 23846  func (s *AwsRdsEventSubscriptionDetails) SetStatus(v string) *AwsRdsEventSubscriptionDetails {
 23847  	s.Status = &v
 23848  	return s
 23849  }
 23850  
 23851  // SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
 23852  func (s *AwsRdsEventSubscriptionDetails) SetSubscriptionCreationTime(v string) *AwsRdsEventSubscriptionDetails {
 23853  	s.SubscriptionCreationTime = &v
 23854  	return s
 23855  }
 23856  
 23857  // Identifies the log types to enable and disable.
 23858  type AwsRdsPendingCloudWatchLogsExports struct {
 23859  	_ struct{} `type:"structure"`
 23860  
 23861  	// A list of log types that are being disabled.
 23862  	LogTypesToDisable []*string `type:"list"`
 23863  
 23864  	// A list of log types that are being enabled.
 23865  	LogTypesToEnable []*string `type:"list"`
 23866  }
 23867  
 23868  // String returns the string representation.
 23869  //
 23870  // API parameter values that are decorated as "sensitive" in the API will not
 23871  // be included in the string output. The member name will be present, but the
 23872  // value will be replaced with "sensitive".
 23873  func (s AwsRdsPendingCloudWatchLogsExports) String() string {
 23874  	return awsutil.Prettify(s)
 23875  }
 23876  
 23877  // GoString returns the string representation.
 23878  //
 23879  // API parameter values that are decorated as "sensitive" in the API will not
 23880  // be included in the string output. The member name will be present, but the
 23881  // value will be replaced with "sensitive".
 23882  func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
 23883  	return s.String()
 23884  }
 23885  
 23886  // SetLogTypesToDisable sets the LogTypesToDisable field's value.
 23887  func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
 23888  	s.LogTypesToDisable = v
 23889  	return s
 23890  }
 23891  
 23892  // SetLogTypesToEnable sets the LogTypesToEnable field's value.
 23893  func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
 23894  	s.LogTypesToEnable = v
 23895  	return s
 23896  }
 23897  
 23898  // A node in an Amazon Redshift cluster.
 23899  type AwsRedshiftClusterClusterNode struct {
 23900  	_ struct{} `type:"structure"`
 23901  
 23902  	// The role of the node. A node might be a leader node or a compute node.
 23903  	NodeRole *string `type:"string"`
 23904  
 23905  	// The private IP address of the node.
 23906  	PrivateIpAddress *string `type:"string"`
 23907  
 23908  	// The public IP address of the node.
 23909  	PublicIpAddress *string `type:"string"`
 23910  }
 23911  
 23912  // String returns the string representation.
 23913  //
 23914  // API parameter values that are decorated as "sensitive" in the API will not
 23915  // be included in the string output. The member name will be present, but the
 23916  // value will be replaced with "sensitive".
 23917  func (s AwsRedshiftClusterClusterNode) String() string {
 23918  	return awsutil.Prettify(s)
 23919  }
 23920  
 23921  // GoString returns the string representation.
 23922  //
 23923  // API parameter values that are decorated as "sensitive" in the API will not
 23924  // be included in the string output. The member name will be present, but the
 23925  // value will be replaced with "sensitive".
 23926  func (s AwsRedshiftClusterClusterNode) GoString() string {
 23927  	return s.String()
 23928  }
 23929  
 23930  // SetNodeRole sets the NodeRole field's value.
 23931  func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
 23932  	s.NodeRole = &v
 23933  	return s
 23934  }
 23935  
 23936  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 23937  func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
 23938  	s.PrivateIpAddress = &v
 23939  	return s
 23940  }
 23941  
 23942  // SetPublicIpAddress sets the PublicIpAddress field's value.
 23943  func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
 23944  	s.PublicIpAddress = &v
 23945  	return s
 23946  }
 23947  
 23948  // A cluster parameter group that is associated with an Amazon Redshift cluster.
 23949  type AwsRedshiftClusterClusterParameterGroup struct {
 23950  	_ struct{} `type:"structure"`
 23951  
 23952  	// The list of parameter statuses.
 23953  	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
 23954  
 23955  	// The status of updates to the parameters.
 23956  	ParameterApplyStatus *string `type:"string"`
 23957  
 23958  	// The name of the parameter group.
 23959  	ParameterGroupName *string `type:"string"`
 23960  }
 23961  
 23962  // String returns the string representation.
 23963  //
 23964  // API parameter values that are decorated as "sensitive" in the API will not
 23965  // be included in the string output. The member name will be present, but the
 23966  // value will be replaced with "sensitive".
 23967  func (s AwsRedshiftClusterClusterParameterGroup) String() string {
 23968  	return awsutil.Prettify(s)
 23969  }
 23970  
 23971  // GoString returns the string representation.
 23972  //
 23973  // API parameter values that are decorated as "sensitive" in the API will not
 23974  // be included in the string output. The member name will be present, but the
 23975  // value will be replaced with "sensitive".
 23976  func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
 23977  	return s.String()
 23978  }
 23979  
 23980  // SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
 23981  func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
 23982  	s.ClusterParameterStatusList = v
 23983  	return s
 23984  }
 23985  
 23986  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 23987  func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
 23988  	s.ParameterApplyStatus = &v
 23989  	return s
 23990  }
 23991  
 23992  // SetParameterGroupName sets the ParameterGroupName field's value.
 23993  func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
 23994  	s.ParameterGroupName = &v
 23995  	return s
 23996  }
 23997  
 23998  // The status of a parameter in a cluster parameter group for an Amazon Redshift
 23999  // cluster.
 24000  type AwsRedshiftClusterClusterParameterStatus struct {
 24001  	_ struct{} `type:"structure"`
 24002  
 24003  	// The error that prevented the parameter from being applied to the database.
 24004  	ParameterApplyErrorDescription *string `type:"string"`
 24005  
 24006  	// The status of the parameter. Indicates whether the parameter is in sync with
 24007  	// the database, waiting for a cluster reboot, or encountered an error when
 24008  	// it was applied.
 24009  	//
 24010  	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
 24011  	// | apply-error | unknown-error
 24012  	ParameterApplyStatus *string `type:"string"`
 24013  
 24014  	// The name of the parameter.
 24015  	ParameterName *string `type:"string"`
 24016  }
 24017  
 24018  // String returns the string representation.
 24019  //
 24020  // API parameter values that are decorated as "sensitive" in the API will not
 24021  // be included in the string output. The member name will be present, but the
 24022  // value will be replaced with "sensitive".
 24023  func (s AwsRedshiftClusterClusterParameterStatus) String() string {
 24024  	return awsutil.Prettify(s)
 24025  }
 24026  
 24027  // GoString returns the string representation.
 24028  //
 24029  // API parameter values that are decorated as "sensitive" in the API will not
 24030  // be included in the string output. The member name will be present, but the
 24031  // value will be replaced with "sensitive".
 24032  func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
 24033  	return s.String()
 24034  }
 24035  
 24036  // SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
 24037  func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
 24038  	s.ParameterApplyErrorDescription = &v
 24039  	return s
 24040  }
 24041  
 24042  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 24043  func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
 24044  	s.ParameterApplyStatus = &v
 24045  	return s
 24046  }
 24047  
 24048  // SetParameterName sets the ParameterName field's value.
 24049  func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
 24050  	s.ParameterName = &v
 24051  	return s
 24052  }
 24053  
 24054  // A security group that is associated with the cluster.
 24055  type AwsRedshiftClusterClusterSecurityGroup struct {
 24056  	_ struct{} `type:"structure"`
 24057  
 24058  	// The name of the cluster security group.
 24059  	ClusterSecurityGroupName *string `type:"string"`
 24060  
 24061  	// The status of the cluster security group.
 24062  	Status *string `type:"string"`
 24063  }
 24064  
 24065  // String returns the string representation.
 24066  //
 24067  // API parameter values that are decorated as "sensitive" in the API will not
 24068  // be included in the string output. The member name will be present, but the
 24069  // value will be replaced with "sensitive".
 24070  func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
 24071  	return awsutil.Prettify(s)
 24072  }
 24073  
 24074  // GoString returns the string representation.
 24075  //
 24076  // API parameter values that are decorated as "sensitive" in the API will not
 24077  // be included in the string output. The member name will be present, but the
 24078  // value will be replaced with "sensitive".
 24079  func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
 24080  	return s.String()
 24081  }
 24082  
 24083  // SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
 24084  func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
 24085  	s.ClusterSecurityGroupName = &v
 24086  	return s
 24087  }
 24088  
 24089  // SetStatus sets the Status field's value.
 24090  func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
 24091  	s.Status = &v
 24092  	return s
 24093  }
 24094  
 24095  // Information about a cross-Region snapshot copy.
 24096  type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
 24097  	_ struct{} `type:"structure"`
 24098  
 24099  	// The destination Region that snapshots are automatically copied to when cross-Region
 24100  	// snapshot copy is enabled.
 24101  	DestinationRegion *string `type:"string"`
 24102  
 24103  	// The number of days that manual snapshots are retained in the destination
 24104  	// region after they are copied from a source region.
 24105  	//
 24106  	// If the value is -1, then the manual snapshot is retained indefinitely.
 24107  	//
 24108  	// Valid values: Either -1 or an integer between 1 and 3,653
 24109  	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
 24110  
 24111  	// The number of days to retain automated snapshots in the destination Region
 24112  	// after they are copied from a source Region.
 24113  	RetentionPeriod *int64 `type:"integer"`
 24114  
 24115  	// The name of the snapshot copy grant.
 24116  	SnapshotCopyGrantName *string `type:"string"`
 24117  }
 24118  
 24119  // String returns the string representation.
 24120  //
 24121  // API parameter values that are decorated as "sensitive" in the API will not
 24122  // be included in the string output. The member name will be present, but the
 24123  // value will be replaced with "sensitive".
 24124  func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
 24125  	return awsutil.Prettify(s)
 24126  }
 24127  
 24128  // GoString returns the string representation.
 24129  //
 24130  // API parameter values that are decorated as "sensitive" in the API will not
 24131  // be included in the string output. The member name will be present, but the
 24132  // value will be replaced with "sensitive".
 24133  func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
 24134  	return s.String()
 24135  }
 24136  
 24137  // SetDestinationRegion sets the DestinationRegion field's value.
 24138  func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
 24139  	s.DestinationRegion = &v
 24140  	return s
 24141  }
 24142  
 24143  // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
 24144  func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
 24145  	s.ManualSnapshotRetentionPeriod = &v
 24146  	return s
 24147  }
 24148  
 24149  // SetRetentionPeriod sets the RetentionPeriod field's value.
 24150  func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
 24151  	s.RetentionPeriod = &v
 24152  	return s
 24153  }
 24154  
 24155  // SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
 24156  func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
 24157  	s.SnapshotCopyGrantName = &v
 24158  	return s
 24159  }
 24160  
 24161  // A time windows during which maintenance was deferred for an Amazon Redshift
 24162  // cluster.
 24163  type AwsRedshiftClusterDeferredMaintenanceWindow struct {
 24164  	_ struct{} `type:"structure"`
 24165  
 24166  	// The end of the time window for which maintenance was deferred.
 24167  	//
 24168  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 24169  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 24170  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 24171  	DeferMaintenanceEndTime *string `type:"string"`
 24172  
 24173  	// The identifier of the maintenance window.
 24174  	DeferMaintenanceIdentifier *string `type:"string"`
 24175  
 24176  	// The start of the time window for which maintenance was deferred.
 24177  	//
 24178  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 24179  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 24180  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 24181  	DeferMaintenanceStartTime *string `type:"string"`
 24182  }
 24183  
 24184  // String returns the string representation.
 24185  //
 24186  // API parameter values that are decorated as "sensitive" in the API will not
 24187  // be included in the string output. The member name will be present, but the
 24188  // value will be replaced with "sensitive".
 24189  func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
 24190  	return awsutil.Prettify(s)
 24191  }
 24192  
 24193  // GoString returns the string representation.
 24194  //
 24195  // API parameter values that are decorated as "sensitive" in the API will not
 24196  // be included in the string output. The member name will be present, but the
 24197  // value will be replaced with "sensitive".
 24198  func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
 24199  	return s.String()
 24200  }
 24201  
 24202  // SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
 24203  func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
 24204  	s.DeferMaintenanceEndTime = &v
 24205  	return s
 24206  }
 24207  
 24208  // SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
 24209  func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
 24210  	s.DeferMaintenanceIdentifier = &v
 24211  	return s
 24212  }
 24213  
 24214  // SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
 24215  func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
 24216  	s.DeferMaintenanceStartTime = &v
 24217  	return s
 24218  }
 24219  
 24220  // Details about an Amazon Redshift cluster.
 24221  type AwsRedshiftClusterDetails struct {
 24222  	_ struct{} `type:"structure"`
 24223  
 24224  	// Indicates whether major version upgrades are applied automatically to the
 24225  	// cluster during the maintenance window.
 24226  	AllowVersionUpgrade *bool `type:"boolean"`
 24227  
 24228  	// The number of days that automatic cluster snapshots are retained.
 24229  	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
 24230  
 24231  	// The name of the Availability Zone in which the cluster is located.
 24232  	AvailabilityZone *string `type:"string"`
 24233  
 24234  	// The availability status of the cluster for queries. Possible values are the
 24235  	// following:
 24236  	//
 24237  	//    * Available - The cluster is available for queries.
 24238  	//
 24239  	//    * Unavailable - The cluster is not available for queries.
 24240  	//
 24241  	//    * Maintenance - The cluster is intermittently available for queries due
 24242  	//    to maintenance activities.
 24243  	//
 24244  	//    * Modifying -The cluster is intermittently available for queries due to
 24245  	//    changes that modify the cluster.
 24246  	//
 24247  	//    * Failed - The cluster failed and is not available for queries.
 24248  	ClusterAvailabilityStatus *string `type:"string"`
 24249  
 24250  	// Indicates when the cluster was created.
 24251  	//
 24252  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 24253  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 24254  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 24255  	ClusterCreateTime *string `type:"string"`
 24256  
 24257  	// The unique identifier of the cluster.
 24258  	ClusterIdentifier *string `type:"string"`
 24259  
 24260  	// The nodes in the cluster.
 24261  	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
 24262  
 24263  	// The list of cluster parameter groups that are associated with this cluster.
 24264  	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
 24265  
 24266  	// The public key for the cluster.
 24267  	ClusterPublicKey *string `type:"string"`
 24268  
 24269  	// The specific revision number of the database in the cluster.
 24270  	ClusterRevisionNumber *string `type:"string"`
 24271  
 24272  	// A list of cluster security groups that are associated with the cluster.
 24273  	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
 24274  
 24275  	// Information about the destination Region and retention period for the cross-Region
 24276  	// snapshot copy.
 24277  	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
 24278  
 24279  	// The current status of the cluster.
 24280  	//
 24281  	// Valid values: available | available, prep-for-resize | available, resize-cleanup
 24282  	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
 24283  	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
 24284  	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
 24285  	// storage-full | updating-hsm
 24286  	ClusterStatus *string `type:"string"`
 24287  
 24288  	// The name of the subnet group that is associated with the cluster. This parameter
 24289  	// is valid only when the cluster is in a VPC.
 24290  	ClusterSubnetGroupName *string `type:"string"`
 24291  
 24292  	// The version ID of the Amazon Redshift engine that runs on the cluster.
 24293  	ClusterVersion *string `type:"string"`
 24294  
 24295  	// The name of the initial database that was created when the cluster was created.
 24296  	//
 24297  	// The same name is returned for the life of the cluster.
 24298  	//
 24299  	// If an initial database is not specified, a database named devdev is created
 24300  	// by default.
 24301  	DBName *string `type:"string"`
 24302  
 24303  	// List of time windows during which maintenance was deferred.
 24304  	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
 24305  
 24306  	// Information about the status of the Elastic IP (EIP) address.
 24307  	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
 24308  
 24309  	// The number of nodes that you can use the elastic resize method to resize
 24310  	// the cluster to.
 24311  	ElasticResizeNumberOfNodeOptions *string `type:"string"`
 24312  
 24313  	// Indicates whether the data in the cluster is encrypted at rest.
 24314  	Encrypted *bool `type:"boolean"`
 24315  
 24316  	// The connection endpoint.
 24317  	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
 24318  
 24319  	// Indicates whether to create the cluster with enhanced VPC routing enabled.
 24320  	EnhancedVpcRouting *bool `type:"boolean"`
 24321  
 24322  	// Indicates when the next snapshot is expected to be taken. The cluster must
 24323  	// have a valid snapshot schedule and have backups enabled.
 24324  	//
 24325  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 24326  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 24327  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 24328  	ExpectedNextSnapshotScheduleTime *string `type:"string"`
 24329  
 24330  	// The status of the next expected snapshot.
 24331  	//
 24332  	// Valid values: OnTrack | Pending
 24333  	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
 24334  
 24335  	// Information about whether the Amazon Redshift cluster finished applying any
 24336  	// changes to hardware security module (HSM) settings that were specified in
 24337  	// a modify cluster command.
 24338  	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
 24339  
 24340  	// A list of IAM roles that the cluster can use to access other Amazon Web Services
 24341  	// services.
 24342  	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
 24343  
 24344  	// The identifier of the KMS encryption key that is used to encrypt data in
 24345  	// the cluster.
 24346  	KmsKeyId *string `type:"string"`
 24347  
 24348  	// The name of the maintenance track for the cluster.
 24349  	MaintenanceTrackName *string `type:"string"`
 24350  
 24351  	// The default number of days to retain a manual snapshot.
 24352  	//
 24353  	// If the value is -1, the snapshot is retained indefinitely.
 24354  	//
 24355  	// This setting doesn't change the retention period of existing snapshots.
 24356  	//
 24357  	// Valid values: Either -1 or an integer between 1 and 3,653
 24358  	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
 24359  
 24360  	// The master user name for the cluster. This name is used to connect to the
 24361  	// database that is specified in as the value of DBName.
 24362  	MasterUsername *string `type:"string"`
 24363  
 24364  	// Indicates the start of the next maintenance window.
 24365  	//
 24366  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 24367  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 24368  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 24369  	NextMaintenanceWindowStartTime *string `type:"string"`
 24370  
 24371  	// The node type for the nodes in the cluster.
 24372  	NodeType *string `type:"string"`
 24373  
 24374  	// The number of compute nodes in the cluster.
 24375  	NumberOfNodes *int64 `type:"integer"`
 24376  
 24377  	// A list of cluster operations that are waiting to start.
 24378  	PendingActions []*string `type:"list"`
 24379  
 24380  	// A list of changes to the cluster that are currently pending.
 24381  	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
 24382  
 24383  	// The weekly time range, in Universal Coordinated Time (UTC), during which
 24384  	// system maintenance can occur.
 24385  	//
 24386  	// Format: <day>:HH:MM-<day>:HH:MM
 24387  	//
 24388  	// For the day values, use mon | tue | wed | thu | fri | sat | sun
 24389  	//
 24390  	// For example, sun:09:32-sun:10:02
 24391  	PreferredMaintenanceWindow *string `type:"string"`
 24392  
 24393  	// Whether the cluster can be accessed from a public network.
 24394  	PubliclyAccessible *bool `type:"boolean"`
 24395  
 24396  	// Information about the resize operation for the cluster.
 24397  	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
 24398  
 24399  	// Information about the status of a cluster restore action. Only applies to
 24400  	// a cluster that was created by restoring a snapshot.
 24401  	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
 24402  
 24403  	// A unique identifier for the cluster snapshot schedule.
 24404  	SnapshotScheduleIdentifier *string `type:"string"`
 24405  
 24406  	// The current state of the cluster snapshot schedule.
 24407  	//
 24408  	// Valid values: MODIFYING | ACTIVE | FAILED
 24409  	SnapshotScheduleState *string `type:"string"`
 24410  
 24411  	// The identifier of the VPC that the cluster is in, if the cluster is in a
 24412  	// VPC.
 24413  	VpcId *string `type:"string"`
 24414  
 24415  	// The list of VPC security groups that the cluster belongs to, if the cluster
 24416  	// is in a VPC.
 24417  	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
 24418  }
 24419  
 24420  // String returns the string representation.
 24421  //
 24422  // API parameter values that are decorated as "sensitive" in the API will not
 24423  // be included in the string output. The member name will be present, but the
 24424  // value will be replaced with "sensitive".
 24425  func (s AwsRedshiftClusterDetails) String() string {
 24426  	return awsutil.Prettify(s)
 24427  }
 24428  
 24429  // GoString returns the string representation.
 24430  //
 24431  // API parameter values that are decorated as "sensitive" in the API will not
 24432  // be included in the string output. The member name will be present, but the
 24433  // value will be replaced with "sensitive".
 24434  func (s AwsRedshiftClusterDetails) GoString() string {
 24435  	return s.String()
 24436  }
 24437  
 24438  // SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
 24439  func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
 24440  	s.AllowVersionUpgrade = &v
 24441  	return s
 24442  }
 24443  
 24444  // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
 24445  func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
 24446  	s.AutomatedSnapshotRetentionPeriod = &v
 24447  	return s
 24448  }
 24449  
 24450  // SetAvailabilityZone sets the AvailabilityZone field's value.
 24451  func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
 24452  	s.AvailabilityZone = &v
 24453  	return s
 24454  }
 24455  
 24456  // SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
 24457  func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
 24458  	s.ClusterAvailabilityStatus = &v
 24459  	return s
 24460  }
 24461  
 24462  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 24463  func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
 24464  	s.ClusterCreateTime = &v
 24465  	return s
 24466  }
 24467  
 24468  // SetClusterIdentifier sets the ClusterIdentifier field's value.
 24469  func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
 24470  	s.ClusterIdentifier = &v
 24471  	return s
 24472  }
 24473  
 24474  // SetClusterNodes sets the ClusterNodes field's value.
 24475  func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
 24476  	s.ClusterNodes = v
 24477  	return s
 24478  }
 24479  
 24480  // SetClusterParameterGroups sets the ClusterParameterGroups field's value.
 24481  func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
 24482  	s.ClusterParameterGroups = v
 24483  	return s
 24484  }
 24485  
 24486  // SetClusterPublicKey sets the ClusterPublicKey field's value.
 24487  func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
 24488  	s.ClusterPublicKey = &v
 24489  	return s
 24490  }
 24491  
 24492  // SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
 24493  func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
 24494  	s.ClusterRevisionNumber = &v
 24495  	return s
 24496  }
 24497  
 24498  // SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
 24499  func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
 24500  	s.ClusterSecurityGroups = v
 24501  	return s
 24502  }
 24503  
 24504  // SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
 24505  func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
 24506  	s.ClusterSnapshotCopyStatus = v
 24507  	return s
 24508  }
 24509  
 24510  // SetClusterStatus sets the ClusterStatus field's value.
 24511  func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
 24512  	s.ClusterStatus = &v
 24513  	return s
 24514  }
 24515  
 24516  // SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
 24517  func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
 24518  	s.ClusterSubnetGroupName = &v
 24519  	return s
 24520  }
 24521  
 24522  // SetClusterVersion sets the ClusterVersion field's value.
 24523  func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
 24524  	s.ClusterVersion = &v
 24525  	return s
 24526  }
 24527  
 24528  // SetDBName sets the DBName field's value.
 24529  func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
 24530  	s.DBName = &v
 24531  	return s
 24532  }
 24533  
 24534  // SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
 24535  func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
 24536  	s.DeferredMaintenanceWindows = v
 24537  	return s
 24538  }
 24539  
 24540  // SetElasticIpStatus sets the ElasticIpStatus field's value.
 24541  func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
 24542  	s.ElasticIpStatus = v
 24543  	return s
 24544  }
 24545  
 24546  // SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
 24547  func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
 24548  	s.ElasticResizeNumberOfNodeOptions = &v
 24549  	return s
 24550  }
 24551  
 24552  // SetEncrypted sets the Encrypted field's value.
 24553  func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
 24554  	s.Encrypted = &v
 24555  	return s
 24556  }
 24557  
 24558  // SetEndpoint sets the Endpoint field's value.
 24559  func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
 24560  	s.Endpoint = v
 24561  	return s
 24562  }
 24563  
 24564  // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
 24565  func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
 24566  	s.EnhancedVpcRouting = &v
 24567  	return s
 24568  }
 24569  
 24570  // SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
 24571  func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
 24572  	s.ExpectedNextSnapshotScheduleTime = &v
 24573  	return s
 24574  }
 24575  
 24576  // SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
 24577  func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
 24578  	s.ExpectedNextSnapshotScheduleTimeStatus = &v
 24579  	return s
 24580  }
 24581  
 24582  // SetHsmStatus sets the HsmStatus field's value.
 24583  func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
 24584  	s.HsmStatus = v
 24585  	return s
 24586  }
 24587  
 24588  // SetIamRoles sets the IamRoles field's value.
 24589  func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
 24590  	s.IamRoles = v
 24591  	return s
 24592  }
 24593  
 24594  // SetKmsKeyId sets the KmsKeyId field's value.
 24595  func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
 24596  	s.KmsKeyId = &v
 24597  	return s
 24598  }
 24599  
 24600  // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
 24601  func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
 24602  	s.MaintenanceTrackName = &v
 24603  	return s
 24604  }
 24605  
 24606  // SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
 24607  func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
 24608  	s.ManualSnapshotRetentionPeriod = &v
 24609  	return s
 24610  }
 24611  
 24612  // SetMasterUsername sets the MasterUsername field's value.
 24613  func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
 24614  	s.MasterUsername = &v
 24615  	return s
 24616  }
 24617  
 24618  // SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
 24619  func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
 24620  	s.NextMaintenanceWindowStartTime = &v
 24621  	return s
 24622  }
 24623  
 24624  // SetNodeType sets the NodeType field's value.
 24625  func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
 24626  	s.NodeType = &v
 24627  	return s
 24628  }
 24629  
 24630  // SetNumberOfNodes sets the NumberOfNodes field's value.
 24631  func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
 24632  	s.NumberOfNodes = &v
 24633  	return s
 24634  }
 24635  
 24636  // SetPendingActions sets the PendingActions field's value.
 24637  func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
 24638  	s.PendingActions = v
 24639  	return s
 24640  }
 24641  
 24642  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 24643  func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
 24644  	s.PendingModifiedValues = v
 24645  	return s
 24646  }
 24647  
 24648  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 24649  func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
 24650  	s.PreferredMaintenanceWindow = &v
 24651  	return s
 24652  }
 24653  
 24654  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 24655  func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
 24656  	s.PubliclyAccessible = &v
 24657  	return s
 24658  }
 24659  
 24660  // SetResizeInfo sets the ResizeInfo field's value.
 24661  func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
 24662  	s.ResizeInfo = v
 24663  	return s
 24664  }
 24665  
 24666  // SetRestoreStatus sets the RestoreStatus field's value.
 24667  func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
 24668  	s.RestoreStatus = v
 24669  	return s
 24670  }
 24671  
 24672  // SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
 24673  func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
 24674  	s.SnapshotScheduleIdentifier = &v
 24675  	return s
 24676  }
 24677  
 24678  // SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
 24679  func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
 24680  	s.SnapshotScheduleState = &v
 24681  	return s
 24682  }
 24683  
 24684  // SetVpcId sets the VpcId field's value.
 24685  func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
 24686  	s.VpcId = &v
 24687  	return s
 24688  }
 24689  
 24690  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 24691  func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
 24692  	s.VpcSecurityGroups = v
 24693  	return s
 24694  }
 24695  
 24696  // The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
 24697  type AwsRedshiftClusterElasticIpStatus struct {
 24698  	_ struct{} `type:"structure"`
 24699  
 24700  	// The elastic IP address for the cluster.
 24701  	ElasticIp *string `type:"string"`
 24702  
 24703  	// The status of the elastic IP address.
 24704  	Status *string `type:"string"`
 24705  }
 24706  
 24707  // String returns the string representation.
 24708  //
 24709  // API parameter values that are decorated as "sensitive" in the API will not
 24710  // be included in the string output. The member name will be present, but the
 24711  // value will be replaced with "sensitive".
 24712  func (s AwsRedshiftClusterElasticIpStatus) String() string {
 24713  	return awsutil.Prettify(s)
 24714  }
 24715  
 24716  // GoString returns the string representation.
 24717  //
 24718  // API parameter values that are decorated as "sensitive" in the API will not
 24719  // be included in the string output. The member name will be present, but the
 24720  // value will be replaced with "sensitive".
 24721  func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
 24722  	return s.String()
 24723  }
 24724  
 24725  // SetElasticIp sets the ElasticIp field's value.
 24726  func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
 24727  	s.ElasticIp = &v
 24728  	return s
 24729  }
 24730  
 24731  // SetStatus sets the Status field's value.
 24732  func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
 24733  	s.Status = &v
 24734  	return s
 24735  }
 24736  
 24737  // The connection endpoint for an Amazon Redshift cluster.
 24738  type AwsRedshiftClusterEndpoint struct {
 24739  	_ struct{} `type:"structure"`
 24740  
 24741  	// The DNS address of the cluster.
 24742  	Address *string `type:"string"`
 24743  
 24744  	// The port that the database engine listens on.
 24745  	Port *int64 `type:"integer"`
 24746  }
 24747  
 24748  // String returns the string representation.
 24749  //
 24750  // API parameter values that are decorated as "sensitive" in the API will not
 24751  // be included in the string output. The member name will be present, but the
 24752  // value will be replaced with "sensitive".
 24753  func (s AwsRedshiftClusterEndpoint) String() string {
 24754  	return awsutil.Prettify(s)
 24755  }
 24756  
 24757  // GoString returns the string representation.
 24758  //
 24759  // API parameter values that are decorated as "sensitive" in the API will not
 24760  // be included in the string output. The member name will be present, but the
 24761  // value will be replaced with "sensitive".
 24762  func (s AwsRedshiftClusterEndpoint) GoString() string {
 24763  	return s.String()
 24764  }
 24765  
 24766  // SetAddress sets the Address field's value.
 24767  func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
 24768  	s.Address = &v
 24769  	return s
 24770  }
 24771  
 24772  // SetPort sets the Port field's value.
 24773  func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
 24774  	s.Port = &v
 24775  	return s
 24776  }
 24777  
 24778  // Information about whether an Amazon Redshift cluster finished applying any
 24779  // hardware changes to security module (HSM) settings that were specified in
 24780  // a modify cluster command.
 24781  type AwsRedshiftClusterHsmStatus struct {
 24782  	_ struct{} `type:"structure"`
 24783  
 24784  	// The name of the HSM client certificate that the Amazon Redshift cluster uses
 24785  	// to retrieve the data encryption keys that are stored in an HSM.
 24786  	HsmClientCertificateIdentifier *string `type:"string"`
 24787  
 24788  	// The name of the HSM configuration that contains the information that the
 24789  	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
 24790  	HsmConfigurationIdentifier *string `type:"string"`
 24791  
 24792  	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
 24793  	// settings changes specified in a modify cluster command.
 24794  	//
 24795  	// Type: String
 24796  	//
 24797  	// Valid values: active | applying
 24798  	Status *string `type:"string"`
 24799  }
 24800  
 24801  // String returns the string representation.
 24802  //
 24803  // API parameter values that are decorated as "sensitive" in the API will not
 24804  // be included in the string output. The member name will be present, but the
 24805  // value will be replaced with "sensitive".
 24806  func (s AwsRedshiftClusterHsmStatus) String() string {
 24807  	return awsutil.Prettify(s)
 24808  }
 24809  
 24810  // GoString returns the string representation.
 24811  //
 24812  // API parameter values that are decorated as "sensitive" in the API will not
 24813  // be included in the string output. The member name will be present, but the
 24814  // value will be replaced with "sensitive".
 24815  func (s AwsRedshiftClusterHsmStatus) GoString() string {
 24816  	return s.String()
 24817  }
 24818  
 24819  // SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
 24820  func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
 24821  	s.HsmClientCertificateIdentifier = &v
 24822  	return s
 24823  }
 24824  
 24825  // SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
 24826  func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
 24827  	s.HsmConfigurationIdentifier = &v
 24828  	return s
 24829  }
 24830  
 24831  // SetStatus sets the Status field's value.
 24832  func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
 24833  	s.Status = &v
 24834  	return s
 24835  }
 24836  
 24837  // An IAM role that the cluster can use to access other Amazon Web Services
 24838  // services.
 24839  type AwsRedshiftClusterIamRole struct {
 24840  	_ struct{} `type:"structure"`
 24841  
 24842  	// The status of the IAM role's association with the cluster.
 24843  	//
 24844  	// Valid values: in-sync | adding | removing
 24845  	ApplyStatus *string `type:"string"`
 24846  
 24847  	// The ARN of the IAM role.
 24848  	IamRoleArn *string `type:"string"`
 24849  }
 24850  
 24851  // String returns the string representation.
 24852  //
 24853  // API parameter values that are decorated as "sensitive" in the API will not
 24854  // be included in the string output. The member name will be present, but the
 24855  // value will be replaced with "sensitive".
 24856  func (s AwsRedshiftClusterIamRole) String() string {
 24857  	return awsutil.Prettify(s)
 24858  }
 24859  
 24860  // GoString returns the string representation.
 24861  //
 24862  // API parameter values that are decorated as "sensitive" in the API will not
 24863  // be included in the string output. The member name will be present, but the
 24864  // value will be replaced with "sensitive".
 24865  func (s AwsRedshiftClusterIamRole) GoString() string {
 24866  	return s.String()
 24867  }
 24868  
 24869  // SetApplyStatus sets the ApplyStatus field's value.
 24870  func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
 24871  	s.ApplyStatus = &v
 24872  	return s
 24873  }
 24874  
 24875  // SetIamRoleArn sets the IamRoleArn field's value.
 24876  func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
 24877  	s.IamRoleArn = &v
 24878  	return s
 24879  }
 24880  
 24881  // Changes to the Amazon Redshift cluster that are currently pending.
 24882  type AwsRedshiftClusterPendingModifiedValues struct {
 24883  	_ struct{} `type:"structure"`
 24884  
 24885  	// The pending or in-progress change to the automated snapshot retention period.
 24886  	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
 24887  
 24888  	// The pending or in-progress change to the identifier for the cluster.
 24889  	ClusterIdentifier *string `type:"string"`
 24890  
 24891  	// The pending or in-progress change to the cluster type.
 24892  	ClusterType *string `type:"string"`
 24893  
 24894  	// The pending or in-progress change to the service version.
 24895  	ClusterVersion *string `type:"string"`
 24896  
 24897  	// The encryption type for a cluster.
 24898  	EncryptionType *string `type:"string"`
 24899  
 24900  	// Indicates whether to create the cluster with enhanced VPC routing enabled.
 24901  	EnhancedVpcRouting *bool `type:"boolean"`
 24902  
 24903  	// The name of the maintenance track that the cluster changes to during the
 24904  	// next maintenance window.
 24905  	MaintenanceTrackName *string `type:"string"`
 24906  
 24907  	// The pending or in-progress change to the master user password for the cluster.
 24908  	MasterUserPassword *string `type:"string"`
 24909  
 24910  	// The pending or in-progress change to the cluster's node type.
 24911  	NodeType *string `type:"string"`
 24912  
 24913  	// The pending or in-progress change to the number of nodes in the cluster.
 24914  	NumberOfNodes *int64 `type:"integer"`
 24915  
 24916  	// The pending or in-progress change to whether the cluster can be connected
 24917  	// to from the public network.
 24918  	PubliclyAccessible *bool `type:"boolean"`
 24919  }
 24920  
 24921  // String returns the string representation.
 24922  //
 24923  // API parameter values that are decorated as "sensitive" in the API will not
 24924  // be included in the string output. The member name will be present, but the
 24925  // value will be replaced with "sensitive".
 24926  func (s AwsRedshiftClusterPendingModifiedValues) String() string {
 24927  	return awsutil.Prettify(s)
 24928  }
 24929  
 24930  // GoString returns the string representation.
 24931  //
 24932  // API parameter values that are decorated as "sensitive" in the API will not
 24933  // be included in the string output. The member name will be present, but the
 24934  // value will be replaced with "sensitive".
 24935  func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
 24936  	return s.String()
 24937  }
 24938  
 24939  // SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
 24940  func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
 24941  	s.AutomatedSnapshotRetentionPeriod = &v
 24942  	return s
 24943  }
 24944  
 24945  // SetClusterIdentifier sets the ClusterIdentifier field's value.
 24946  func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
 24947  	s.ClusterIdentifier = &v
 24948  	return s
 24949  }
 24950  
 24951  // SetClusterType sets the ClusterType field's value.
 24952  func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
 24953  	s.ClusterType = &v
 24954  	return s
 24955  }
 24956  
 24957  // SetClusterVersion sets the ClusterVersion field's value.
 24958  func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
 24959  	s.ClusterVersion = &v
 24960  	return s
 24961  }
 24962  
 24963  // SetEncryptionType sets the EncryptionType field's value.
 24964  func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
 24965  	s.EncryptionType = &v
 24966  	return s
 24967  }
 24968  
 24969  // SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
 24970  func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
 24971  	s.EnhancedVpcRouting = &v
 24972  	return s
 24973  }
 24974  
 24975  // SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
 24976  func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
 24977  	s.MaintenanceTrackName = &v
 24978  	return s
 24979  }
 24980  
 24981  // SetMasterUserPassword sets the MasterUserPassword field's value.
 24982  func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
 24983  	s.MasterUserPassword = &v
 24984  	return s
 24985  }
 24986  
 24987  // SetNodeType sets the NodeType field's value.
 24988  func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
 24989  	s.NodeType = &v
 24990  	return s
 24991  }
 24992  
 24993  // SetNumberOfNodes sets the NumberOfNodes field's value.
 24994  func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
 24995  	s.NumberOfNodes = &v
 24996  	return s
 24997  }
 24998  
 24999  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 25000  func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
 25001  	s.PubliclyAccessible = &v
 25002  	return s
 25003  }
 25004  
 25005  // Information about the resize operation for the cluster.
 25006  type AwsRedshiftClusterResizeInfo struct {
 25007  	_ struct{} `type:"structure"`
 25008  
 25009  	// Indicates whether the resize operation can be canceled.
 25010  	AllowCancelResize *bool `type:"boolean"`
 25011  
 25012  	// The type of resize operation.
 25013  	//
 25014  	// Valid values: ClassicResize
 25015  	ResizeType *string `type:"string"`
 25016  }
 25017  
 25018  // String returns the string representation.
 25019  //
 25020  // API parameter values that are decorated as "sensitive" in the API will not
 25021  // be included in the string output. The member name will be present, but the
 25022  // value will be replaced with "sensitive".
 25023  func (s AwsRedshiftClusterResizeInfo) String() string {
 25024  	return awsutil.Prettify(s)
 25025  }
 25026  
 25027  // GoString returns the string representation.
 25028  //
 25029  // API parameter values that are decorated as "sensitive" in the API will not
 25030  // be included in the string output. The member name will be present, but the
 25031  // value will be replaced with "sensitive".
 25032  func (s AwsRedshiftClusterResizeInfo) GoString() string {
 25033  	return s.String()
 25034  }
 25035  
 25036  // SetAllowCancelResize sets the AllowCancelResize field's value.
 25037  func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
 25038  	s.AllowCancelResize = &v
 25039  	return s
 25040  }
 25041  
 25042  // SetResizeType sets the ResizeType field's value.
 25043  func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
 25044  	s.ResizeType = &v
 25045  	return s
 25046  }
 25047  
 25048  // Information about the status of a cluster restore action. It only applies
 25049  // if the cluster was created by restoring a snapshot.
 25050  type AwsRedshiftClusterRestoreStatus struct {
 25051  	_ struct{} `type:"structure"`
 25052  
 25053  	// The number of megabytes per second being transferred from the backup storage.
 25054  	// Returns the average rate for a completed backup.
 25055  	//
 25056  	// This field is only updated when you restore to DC2 and DS2 node types.
 25057  	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
 25058  
 25059  	// The amount of time an in-progress restore has been running, or the amount
 25060  	// of time it took a completed restore to finish.
 25061  	//
 25062  	// This field is only updated when you restore to DC2 and DS2 node types.
 25063  	ElapsedTimeInSeconds *int64 `type:"long"`
 25064  
 25065  	// The estimate of the time remaining before the restore is complete. Returns
 25066  	// 0 for a completed restore.
 25067  	//
 25068  	// This field is only updated when you restore to DC2 and DS2 node types.
 25069  	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
 25070  
 25071  	// The number of megabytes that were transferred from snapshot storage.
 25072  	//
 25073  	// This field is only updated when you restore to DC2 and DS2 node types.
 25074  	ProgressInMegaBytes *int64 `type:"long"`
 25075  
 25076  	// The size of the set of snapshot data that was used to restore the cluster.
 25077  	//
 25078  	// This field is only updated when you restore to DC2 and DS2 node types.
 25079  	SnapshotSizeInMegaBytes *int64 `type:"long"`
 25080  
 25081  	// The status of the restore action.
 25082  	//
 25083  	// Valid values: starting | restoring | completed | failed
 25084  	Status *string `type:"string"`
 25085  }
 25086  
 25087  // String returns the string representation.
 25088  //
 25089  // API parameter values that are decorated as "sensitive" in the API will not
 25090  // be included in the string output. The member name will be present, but the
 25091  // value will be replaced with "sensitive".
 25092  func (s AwsRedshiftClusterRestoreStatus) String() string {
 25093  	return awsutil.Prettify(s)
 25094  }
 25095  
 25096  // GoString returns the string representation.
 25097  //
 25098  // API parameter values that are decorated as "sensitive" in the API will not
 25099  // be included in the string output. The member name will be present, but the
 25100  // value will be replaced with "sensitive".
 25101  func (s AwsRedshiftClusterRestoreStatus) GoString() string {
 25102  	return s.String()
 25103  }
 25104  
 25105  // SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
 25106  func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
 25107  	s.CurrentRestoreRateInMegaBytesPerSecond = &v
 25108  	return s
 25109  }
 25110  
 25111  // SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
 25112  func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
 25113  	s.ElapsedTimeInSeconds = &v
 25114  	return s
 25115  }
 25116  
 25117  // SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
 25118  func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
 25119  	s.EstimatedTimeToCompletionInSeconds = &v
 25120  	return s
 25121  }
 25122  
 25123  // SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
 25124  func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
 25125  	s.ProgressInMegaBytes = &v
 25126  	return s
 25127  }
 25128  
 25129  // SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
 25130  func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
 25131  	s.SnapshotSizeInMegaBytes = &v
 25132  	return s
 25133  }
 25134  
 25135  // SetStatus sets the Status field's value.
 25136  func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
 25137  	s.Status = &v
 25138  	return s
 25139  }
 25140  
 25141  // A VPC security group that the cluster belongs to, if the cluster is in a
 25142  // VPC.
 25143  type AwsRedshiftClusterVpcSecurityGroup struct {
 25144  	_ struct{} `type:"structure"`
 25145  
 25146  	// The status of the VPC security group.
 25147  	Status *string `type:"string"`
 25148  
 25149  	// The identifier of the VPC security group.
 25150  	VpcSecurityGroupId *string `type:"string"`
 25151  }
 25152  
 25153  // String returns the string representation.
 25154  //
 25155  // API parameter values that are decorated as "sensitive" in the API will not
 25156  // be included in the string output. The member name will be present, but the
 25157  // value will be replaced with "sensitive".
 25158  func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
 25159  	return awsutil.Prettify(s)
 25160  }
 25161  
 25162  // GoString returns the string representation.
 25163  //
 25164  // API parameter values that are decorated as "sensitive" in the API will not
 25165  // be included in the string output. The member name will be present, but the
 25166  // value will be replaced with "sensitive".
 25167  func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
 25168  	return s.String()
 25169  }
 25170  
 25171  // SetStatus sets the Status field's value.
 25172  func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
 25173  	s.Status = &v
 25174  	return s
 25175  }
 25176  
 25177  // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
 25178  func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
 25179  	s.VpcSecurityGroupId = &v
 25180  	return s
 25181  }
 25182  
 25183  // provides information about the Amazon S3 Public Access Block configuration
 25184  // for accounts.
 25185  type AwsS3AccountPublicAccessBlockDetails struct {
 25186  	_ struct{} `type:"structure"`
 25187  
 25188  	// Indicates whether to reject calls to update an S3 bucket if the calls include
 25189  	// a public access control list (ACL).
 25190  	BlockPublicAcls *bool `type:"boolean"`
 25191  
 25192  	// Indicates whether to reject calls to update the access policy for an S3 bucket
 25193  	// or access point if the policy allows public access.
 25194  	BlockPublicPolicy *bool `type:"boolean"`
 25195  
 25196  	// Indicates whether Amazon S3 ignores public ACLs that are associated with
 25197  	// an S3 bucket.
 25198  	IgnorePublicAcls *bool `type:"boolean"`
 25199  
 25200  	// Indicates whether to restrict access to an access point or S3 bucket that
 25201  	// has a public policy to only Amazon Web Services service principals and authorized
 25202  	// users within the S3 bucket owner's account.
 25203  	RestrictPublicBuckets *bool `type:"boolean"`
 25204  }
 25205  
 25206  // String returns the string representation.
 25207  //
 25208  // API parameter values that are decorated as "sensitive" in the API will not
 25209  // be included in the string output. The member name will be present, but the
 25210  // value will be replaced with "sensitive".
 25211  func (s AwsS3AccountPublicAccessBlockDetails) String() string {
 25212  	return awsutil.Prettify(s)
 25213  }
 25214  
 25215  // GoString returns the string representation.
 25216  //
 25217  // API parameter values that are decorated as "sensitive" in the API will not
 25218  // be included in the string output. The member name will be present, but the
 25219  // value will be replaced with "sensitive".
 25220  func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
 25221  	return s.String()
 25222  }
 25223  
 25224  // SetBlockPublicAcls sets the BlockPublicAcls field's value.
 25225  func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
 25226  	s.BlockPublicAcls = &v
 25227  	return s
 25228  }
 25229  
 25230  // SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
 25231  func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
 25232  	s.BlockPublicPolicy = &v
 25233  	return s
 25234  }
 25235  
 25236  // SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
 25237  func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
 25238  	s.IgnorePublicAcls = &v
 25239  	return s
 25240  }
 25241  
 25242  // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
 25243  func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
 25244  	s.RestrictPublicBuckets = &v
 25245  	return s
 25246  }
 25247  
 25248  // The lifecycle configuration for the objects in the S3 bucket.
 25249  type AwsS3BucketBucketLifecycleConfigurationDetails struct {
 25250  	_ struct{} `type:"structure"`
 25251  
 25252  	// The lifecycle rules.
 25253  	Rules []*AwsS3BucketBucketLifecycleConfigurationRulesDetails `type:"list"`
 25254  }
 25255  
 25256  // String returns the string representation.
 25257  //
 25258  // API parameter values that are decorated as "sensitive" in the API will not
 25259  // be included in the string output. The member name will be present, but the
 25260  // value will be replaced with "sensitive".
 25261  func (s AwsS3BucketBucketLifecycleConfigurationDetails) String() string {
 25262  	return awsutil.Prettify(s)
 25263  }
 25264  
 25265  // GoString returns the string representation.
 25266  //
 25267  // API parameter values that are decorated as "sensitive" in the API will not
 25268  // be included in the string output. The member name will be present, but the
 25269  // value will be replaced with "sensitive".
 25270  func (s AwsS3BucketBucketLifecycleConfigurationDetails) GoString() string {
 25271  	return s.String()
 25272  }
 25273  
 25274  // SetRules sets the Rules field's value.
 25275  func (s *AwsS3BucketBucketLifecycleConfigurationDetails) SetRules(v []*AwsS3BucketBucketLifecycleConfigurationRulesDetails) *AwsS3BucketBucketLifecycleConfigurationDetails {
 25276  	s.Rules = v
 25277  	return s
 25278  }
 25279  
 25280  // Information about what Amazon S3 does when a multipart upload is incomplete.
 25281  type AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails struct {
 25282  	_ struct{} `type:"structure"`
 25283  
 25284  	// The number of days after which Amazon S3 cancels an incomplete multipart
 25285  	// upload.
 25286  	DaysAfterInitiation *int64 `type:"integer"`
 25287  }
 25288  
 25289  // String returns the string representation.
 25290  //
 25291  // API parameter values that are decorated as "sensitive" in the API will not
 25292  // be included in the string output. The member name will be present, but the
 25293  // value will be replaced with "sensitive".
 25294  func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) String() string {
 25295  	return awsutil.Prettify(s)
 25296  }
 25297  
 25298  // GoString returns the string representation.
 25299  //
 25300  // API parameter values that are decorated as "sensitive" in the API will not
 25301  // be included in the string output. The member name will be present, but the
 25302  // value will be replaced with "sensitive".
 25303  func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) GoString() string {
 25304  	return s.String()
 25305  }
 25306  
 25307  // SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
 25308  func (s *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) SetDaysAfterInitiation(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
 25309  	s.DaysAfterInitiation = &v
 25310  	return s
 25311  }
 25312  
 25313  // Configuration for a lifecycle rule.
 25314  type AwsS3BucketBucketLifecycleConfigurationRulesDetails struct {
 25315  	_ struct{} `type:"structure"`
 25316  
 25317  	// How Amazon S3 responds when a multipart upload is incomplete. Specifically,
 25318  	// provides a number of days before Amazon S3 cancels the entire upload.
 25319  	AbortIncompleteMultipartUpload *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails `type:"structure"`
 25320  
 25321  	// The date when objects are moved or deleted.
 25322  	//
 25323  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 25324  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 25325  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 25326  	ExpirationDate *string `type:"string"`
 25327  
 25328  	// The length in days of the lifetime for objects that are subject to the rule.
 25329  	ExpirationInDays *int64 `type:"integer"`
 25330  
 25331  	// Whether Amazon S3 removes a delete marker that has no noncurrent versions.
 25332  	// If set to true, the delete marker is expired. If set to false, the policy
 25333  	// takes no action.
 25334  	//
 25335  	// If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays
 25336  	// or ExpirationDate.
 25337  	ExpiredObjectDeleteMarker *bool `type:"boolean"`
 25338  
 25339  	// Identifies the objects that a rule applies to.
 25340  	Filter *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails `type:"structure"`
 25341  
 25342  	// The unique identifier of the rule.
 25343  	ID *string `type:"string"`
 25344  
 25345  	// The number of days that an object is noncurrent before Amazon S3 can perform
 25346  	// the associated action.
 25347  	NoncurrentVersionExpirationInDays *int64 `type:"integer"`
 25348  
 25349  	// Transition rules that describe when noncurrent objects transition to a specified
 25350  	// storage class.
 25351  	NoncurrentVersionTransitions []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails `type:"list"`
 25352  
 25353  	// A prefix that identifies one or more objects that the rule applies to.
 25354  	Prefix *string `type:"string"`
 25355  
 25356  	// The current status of the rule. Indicates whether the rule is currently being
 25357  	// applied.
 25358  	Status *string `type:"string"`
 25359  
 25360  	// Transition rules that indicate when objects transition to a specified storage
 25361  	// class.
 25362  	Transitions []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails `type:"list"`
 25363  }
 25364  
 25365  // String returns the string representation.
 25366  //
 25367  // API parameter values that are decorated as "sensitive" in the API will not
 25368  // be included in the string output. The member name will be present, but the
 25369  // value will be replaced with "sensitive".
 25370  func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) String() string {
 25371  	return awsutil.Prettify(s)
 25372  }
 25373  
 25374  // GoString returns the string representation.
 25375  //
 25376  // API parameter values that are decorated as "sensitive" in the API will not
 25377  // be included in the string output. The member name will be present, but the
 25378  // value will be replaced with "sensitive".
 25379  func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) GoString() string {
 25380  	return s.String()
 25381  }
 25382  
 25383  // SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
 25384  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetAbortIncompleteMultipartUpload(v *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25385  	s.AbortIncompleteMultipartUpload = v
 25386  	return s
 25387  }
 25388  
 25389  // SetExpirationDate sets the ExpirationDate field's value.
 25390  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25391  	s.ExpirationDate = &v
 25392  	return s
 25393  }
 25394  
 25395  // SetExpirationInDays sets the ExpirationInDays field's value.
 25396  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25397  	s.ExpirationInDays = &v
 25398  	return s
 25399  }
 25400  
 25401  // SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
 25402  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpiredObjectDeleteMarker(v bool) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25403  	s.ExpiredObjectDeleteMarker = &v
 25404  	return s
 25405  }
 25406  
 25407  // SetFilter sets the Filter field's value.
 25408  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetFilter(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25409  	s.Filter = v
 25410  	return s
 25411  }
 25412  
 25413  // SetID sets the ID field's value.
 25414  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetID(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25415  	s.ID = &v
 25416  	return s
 25417  }
 25418  
 25419  // SetNoncurrentVersionExpirationInDays sets the NoncurrentVersionExpirationInDays field's value.
 25420  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25421  	s.NoncurrentVersionExpirationInDays = &v
 25422  	return s
 25423  }
 25424  
 25425  // SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
 25426  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25427  	s.NoncurrentVersionTransitions = v
 25428  	return s
 25429  }
 25430  
 25431  // SetPrefix sets the Prefix field's value.
 25432  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25433  	s.Prefix = &v
 25434  	return s
 25435  }
 25436  
 25437  // SetStatus sets the Status field's value.
 25438  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetStatus(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25439  	s.Status = &v
 25440  	return s
 25441  }
 25442  
 25443  // SetTransitions sets the Transitions field's value.
 25444  func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
 25445  	s.Transitions = v
 25446  	return s
 25447  }
 25448  
 25449  // Identifies the objects that a rule applies to.
 25450  type AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails struct {
 25451  	_ struct{} `type:"structure"`
 25452  
 25453  	// The configuration for the filter.
 25454  	Predicate *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails `type:"structure"`
 25455  }
 25456  
 25457  // String returns the string representation.
 25458  //
 25459  // API parameter values that are decorated as "sensitive" in the API will not
 25460  // be included in the string output. The member name will be present, but the
 25461  // value will be replaced with "sensitive".
 25462  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) String() string {
 25463  	return awsutil.Prettify(s)
 25464  }
 25465  
 25466  // GoString returns the string representation.
 25467  //
 25468  // API parameter values that are decorated as "sensitive" in the API will not
 25469  // be included in the string output. The member name will be present, but the
 25470  // value will be replaced with "sensitive".
 25471  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) GoString() string {
 25472  	return s.String()
 25473  }
 25474  
 25475  // SetPredicate sets the Predicate field's value.
 25476  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) SetPredicate(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
 25477  	s.Predicate = v
 25478  	return s
 25479  }
 25480  
 25481  // The configuration for the filter.
 25482  type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails struct {
 25483  	_ struct{} `type:"structure"`
 25484  
 25485  	// The values to use for the filter.
 25486  	Operands []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails `type:"list"`
 25487  
 25488  	// A prefix filter.
 25489  	Prefix *string `type:"string"`
 25490  
 25491  	// A tag filter.
 25492  	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails `type:"structure"`
 25493  
 25494  	// Whether to use AND or OR to join the operands.
 25495  	Type *string `type:"string"`
 25496  }
 25497  
 25498  // String returns the string representation.
 25499  //
 25500  // API parameter values that are decorated as "sensitive" in the API will not
 25501  // be included in the string output. The member name will be present, but the
 25502  // value will be replaced with "sensitive".
 25503  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) String() string {
 25504  	return awsutil.Prettify(s)
 25505  }
 25506  
 25507  // GoString returns the string representation.
 25508  //
 25509  // API parameter values that are decorated as "sensitive" in the API will not
 25510  // be included in the string output. The member name will be present, but the
 25511  // value will be replaced with "sensitive".
 25512  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) GoString() string {
 25513  	return s.String()
 25514  }
 25515  
 25516  // SetOperands sets the Operands field's value.
 25517  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetOperands(v []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
 25518  	s.Operands = v
 25519  	return s
 25520  }
 25521  
 25522  // SetPrefix sets the Prefix field's value.
 25523  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
 25524  	s.Prefix = &v
 25525  	return s
 25526  }
 25527  
 25528  // SetTag sets the Tag field's value.
 25529  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
 25530  	s.Tag = v
 25531  	return s
 25532  }
 25533  
 25534  // SetType sets the Type field's value.
 25535  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
 25536  	s.Type = &v
 25537  	return s
 25538  }
 25539  
 25540  // A value to use for the filter.
 25541  type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails struct {
 25542  	_ struct{} `type:"structure"`
 25543  
 25544  	// Prefix text for matching objects.
 25545  	Prefix *string `type:"string"`
 25546  
 25547  	// A tag that is assigned to matching objects.
 25548  	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails `type:"structure"`
 25549  
 25550  	// The type of filter value.
 25551  	Type *string `type:"string"`
 25552  }
 25553  
 25554  // String returns the string representation.
 25555  //
 25556  // API parameter values that are decorated as "sensitive" in the API will not
 25557  // be included in the string output. The member name will be present, but the
 25558  // value will be replaced with "sensitive".
 25559  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) String() string {
 25560  	return awsutil.Prettify(s)
 25561  }
 25562  
 25563  // GoString returns the string representation.
 25564  //
 25565  // API parameter values that are decorated as "sensitive" in the API will not
 25566  // be included in the string output. The member name will be present, but the
 25567  // value will be replaced with "sensitive".
 25568  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) GoString() string {
 25569  	return s.String()
 25570  }
 25571  
 25572  // SetPrefix sets the Prefix field's value.
 25573  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
 25574  	s.Prefix = &v
 25575  	return s
 25576  }
 25577  
 25578  // SetTag sets the Tag field's value.
 25579  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
 25580  	s.Tag = v
 25581  	return s
 25582  }
 25583  
 25584  // SetType sets the Type field's value.
 25585  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
 25586  	s.Type = &v
 25587  	return s
 25588  }
 25589  
 25590  // A tag that is assigned to matching objects.
 25591  type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails struct {
 25592  	_ struct{} `type:"structure"`
 25593  
 25594  	// The tag key.
 25595  	Key *string `type:"string"`
 25596  
 25597  	// The tag value.
 25598  	Value *string `type:"string"`
 25599  }
 25600  
 25601  // String returns the string representation.
 25602  //
 25603  // API parameter values that are decorated as "sensitive" in the API will not
 25604  // be included in the string output. The member name will be present, but the
 25605  // value will be replaced with "sensitive".
 25606  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) String() string {
 25607  	return awsutil.Prettify(s)
 25608  }
 25609  
 25610  // GoString returns the string representation.
 25611  //
 25612  // API parameter values that are decorated as "sensitive" in the API will not
 25613  // be included in the string output. The member name will be present, but the
 25614  // value will be replaced with "sensitive".
 25615  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) GoString() string {
 25616  	return s.String()
 25617  }
 25618  
 25619  // SetKey sets the Key field's value.
 25620  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
 25621  	s.Key = &v
 25622  	return s
 25623  }
 25624  
 25625  // SetValue sets the Value field's value.
 25626  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
 25627  	s.Value = &v
 25628  	return s
 25629  }
 25630  
 25631  // A tag filter.
 25632  type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails struct {
 25633  	_ struct{} `type:"structure"`
 25634  
 25635  	// The tag key.
 25636  	Key *string `type:"string"`
 25637  
 25638  	// The tag value
 25639  	Value *string `type:"string"`
 25640  }
 25641  
 25642  // String returns the string representation.
 25643  //
 25644  // API parameter values that are decorated as "sensitive" in the API will not
 25645  // be included in the string output. The member name will be present, but the
 25646  // value will be replaced with "sensitive".
 25647  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) String() string {
 25648  	return awsutil.Prettify(s)
 25649  }
 25650  
 25651  // GoString returns the string representation.
 25652  //
 25653  // API parameter values that are decorated as "sensitive" in the API will not
 25654  // be included in the string output. The member name will be present, but the
 25655  // value will be replaced with "sensitive".
 25656  func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) GoString() string {
 25657  	return s.String()
 25658  }
 25659  
 25660  // SetKey sets the Key field's value.
 25661  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
 25662  	s.Key = &v
 25663  	return s
 25664  }
 25665  
 25666  // SetValue sets the Value field's value.
 25667  func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
 25668  	s.Value = &v
 25669  	return s
 25670  }
 25671  
 25672  // A transition rule that describes when noncurrent objects transition to a
 25673  // specified storage class.
 25674  type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails struct {
 25675  	_ struct{} `type:"structure"`
 25676  
 25677  	// The number of days that an object is noncurrent before Amazon S3 can perform
 25678  	// the associated action.
 25679  	Days *int64 `type:"integer"`
 25680  
 25681  	// The class of storage to change the object to after the object is noncurrent
 25682  	// for the specified number of days.
 25683  	StorageClass *string `type:"string"`
 25684  }
 25685  
 25686  // String returns the string representation.
 25687  //
 25688  // API parameter values that are decorated as "sensitive" in the API will not
 25689  // be included in the string output. The member name will be present, but the
 25690  // value will be replaced with "sensitive".
 25691  func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) String() string {
 25692  	return awsutil.Prettify(s)
 25693  }
 25694  
 25695  // GoString returns the string representation.
 25696  //
 25697  // API parameter values that are decorated as "sensitive" in the API will not
 25698  // be included in the string output. The member name will be present, but the
 25699  // value will be replaced with "sensitive".
 25700  func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) GoString() string {
 25701  	return s.String()
 25702  }
 25703  
 25704  // SetDays sets the Days field's value.
 25705  func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
 25706  	s.Days = &v
 25707  	return s
 25708  }
 25709  
 25710  // SetStorageClass sets the StorageClass field's value.
 25711  func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
 25712  	s.StorageClass = &v
 25713  	return s
 25714  }
 25715  
 25716  // A rule for when objects transition to specific storage classes.
 25717  type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails struct {
 25718  	_ struct{} `type:"structure"`
 25719  
 25720  	// A date on which to transition objects to the specified storage class. If
 25721  	// you provide Date, you cannot provide Days.
 25722  	//
 25723  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 25724  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 25725  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 25726  	Date *string `type:"string"`
 25727  
 25728  	// The number of days after which to transition the object to the specified
 25729  	// storage class. If you provide Days, you cannot provide Date.
 25730  	Days *int64 `type:"integer"`
 25731  
 25732  	// The storage class to transition the object to.
 25733  	StorageClass *string `type:"string"`
 25734  }
 25735  
 25736  // String returns the string representation.
 25737  //
 25738  // API parameter values that are decorated as "sensitive" in the API will not
 25739  // be included in the string output. The member name will be present, but the
 25740  // value will be replaced with "sensitive".
 25741  func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) String() string {
 25742  	return awsutil.Prettify(s)
 25743  }
 25744  
 25745  // GoString returns the string representation.
 25746  //
 25747  // API parameter values that are decorated as "sensitive" in the API will not
 25748  // be included in the string output. The member name will be present, but the
 25749  // value will be replaced with "sensitive".
 25750  func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) GoString() string {
 25751  	return s.String()
 25752  }
 25753  
 25754  // SetDate sets the Date field's value.
 25755  func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
 25756  	s.Date = &v
 25757  	return s
 25758  }
 25759  
 25760  // SetDays sets the Days field's value.
 25761  func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
 25762  	s.Days = &v
 25763  	return s
 25764  }
 25765  
 25766  // SetStorageClass sets the StorageClass field's value.
 25767  func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
 25768  	s.StorageClass = &v
 25769  	return s
 25770  }
 25771  
 25772  // The details of an Amazon S3 bucket.
 25773  type AwsS3BucketDetails struct {
 25774  	_ struct{} `type:"structure"`
 25775  
 25776  	// The access control list for the S3 bucket.
 25777  	AccessControlList *string `type:"string"`
 25778  
 25779  	// The lifecycle configuration for objects in the S3 bucket.
 25780  	BucketLifecycleConfiguration *AwsS3BucketBucketLifecycleConfigurationDetails `type:"structure"`
 25781  
 25782  	// The logging configuration for the S3 bucket.
 25783  	BucketLoggingConfiguration *AwsS3BucketLoggingConfiguration `type:"structure"`
 25784  
 25785  	// The notification configuration for the S3 bucket.
 25786  	BucketNotificationConfiguration *AwsS3BucketNotificationConfiguration `type:"structure"`
 25787  
 25788  	// The website configuration parameters for the S3 bucket.
 25789  	BucketWebsiteConfiguration *AwsS3BucketWebsiteConfiguration `type:"structure"`
 25790  
 25791  	// Indicates when the S3 bucket was created.
 25792  	//
 25793  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 25794  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 25795  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 25796  	CreatedAt *string `type:"string"`
 25797  
 25798  	// The Amazon Web Services account identifier of the account that owns the S3
 25799  	// bucket.
 25800  	OwnerAccountId *string `type:"string"`
 25801  
 25802  	// The canonical user ID of the owner of the S3 bucket.
 25803  	OwnerId *string `type:"string"`
 25804  
 25805  	// The display name of the owner of the S3 bucket.
 25806  	OwnerName *string `type:"string"`
 25807  
 25808  	// Provides information about the Amazon S3 Public Access Block configuration
 25809  	// for the S3 bucket.
 25810  	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
 25811  
 25812  	// The encryption rules that are applied to the S3 bucket.
 25813  	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
 25814  }
 25815  
 25816  // String returns the string representation.
 25817  //
 25818  // API parameter values that are decorated as "sensitive" in the API will not
 25819  // be included in the string output. The member name will be present, but the
 25820  // value will be replaced with "sensitive".
 25821  func (s AwsS3BucketDetails) String() string {
 25822  	return awsutil.Prettify(s)
 25823  }
 25824  
 25825  // GoString returns the string representation.
 25826  //
 25827  // API parameter values that are decorated as "sensitive" in the API will not
 25828  // be included in the string output. The member name will be present, but the
 25829  // value will be replaced with "sensitive".
 25830  func (s AwsS3BucketDetails) GoString() string {
 25831  	return s.String()
 25832  }
 25833  
 25834  // SetAccessControlList sets the AccessControlList field's value.
 25835  func (s *AwsS3BucketDetails) SetAccessControlList(v string) *AwsS3BucketDetails {
 25836  	s.AccessControlList = &v
 25837  	return s
 25838  }
 25839  
 25840  // SetBucketLifecycleConfiguration sets the BucketLifecycleConfiguration field's value.
 25841  func (s *AwsS3BucketDetails) SetBucketLifecycleConfiguration(v *AwsS3BucketBucketLifecycleConfigurationDetails) *AwsS3BucketDetails {
 25842  	s.BucketLifecycleConfiguration = v
 25843  	return s
 25844  }
 25845  
 25846  // SetBucketLoggingConfiguration sets the BucketLoggingConfiguration field's value.
 25847  func (s *AwsS3BucketDetails) SetBucketLoggingConfiguration(v *AwsS3BucketLoggingConfiguration) *AwsS3BucketDetails {
 25848  	s.BucketLoggingConfiguration = v
 25849  	return s
 25850  }
 25851  
 25852  // SetBucketNotificationConfiguration sets the BucketNotificationConfiguration field's value.
 25853  func (s *AwsS3BucketDetails) SetBucketNotificationConfiguration(v *AwsS3BucketNotificationConfiguration) *AwsS3BucketDetails {
 25854  	s.BucketNotificationConfiguration = v
 25855  	return s
 25856  }
 25857  
 25858  // SetBucketWebsiteConfiguration sets the BucketWebsiteConfiguration field's value.
 25859  func (s *AwsS3BucketDetails) SetBucketWebsiteConfiguration(v *AwsS3BucketWebsiteConfiguration) *AwsS3BucketDetails {
 25860  	s.BucketWebsiteConfiguration = v
 25861  	return s
 25862  }
 25863  
 25864  // SetCreatedAt sets the CreatedAt field's value.
 25865  func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
 25866  	s.CreatedAt = &v
 25867  	return s
 25868  }
 25869  
 25870  // SetOwnerAccountId sets the OwnerAccountId field's value.
 25871  func (s *AwsS3BucketDetails) SetOwnerAccountId(v string) *AwsS3BucketDetails {
 25872  	s.OwnerAccountId = &v
 25873  	return s
 25874  }
 25875  
 25876  // SetOwnerId sets the OwnerId field's value.
 25877  func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
 25878  	s.OwnerId = &v
 25879  	return s
 25880  }
 25881  
 25882  // SetOwnerName sets the OwnerName field's value.
 25883  func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
 25884  	s.OwnerName = &v
 25885  	return s
 25886  }
 25887  
 25888  // SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
 25889  func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
 25890  	s.PublicAccessBlockConfiguration = v
 25891  	return s
 25892  }
 25893  
 25894  // SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
 25895  func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
 25896  	s.ServerSideEncryptionConfiguration = v
 25897  	return s
 25898  }
 25899  
 25900  // Information about logging for the S3 bucket
 25901  type AwsS3BucketLoggingConfiguration struct {
 25902  	_ struct{} `type:"structure"`
 25903  
 25904  	// The name of the S3 bucket where log files for the S3 bucket are stored.
 25905  	DestinationBucketName *string `type:"string"`
 25906  
 25907  	// The prefix added to log files for the S3 bucket.
 25908  	LogFilePrefix *string `type:"string"`
 25909  }
 25910  
 25911  // String returns the string representation.
 25912  //
 25913  // API parameter values that are decorated as "sensitive" in the API will not
 25914  // be included in the string output. The member name will be present, but the
 25915  // value will be replaced with "sensitive".
 25916  func (s AwsS3BucketLoggingConfiguration) String() string {
 25917  	return awsutil.Prettify(s)
 25918  }
 25919  
 25920  // GoString returns the string representation.
 25921  //
 25922  // API parameter values that are decorated as "sensitive" in the API will not
 25923  // be included in the string output. The member name will be present, but the
 25924  // value will be replaced with "sensitive".
 25925  func (s AwsS3BucketLoggingConfiguration) GoString() string {
 25926  	return s.String()
 25927  }
 25928  
 25929  // SetDestinationBucketName sets the DestinationBucketName field's value.
 25930  func (s *AwsS3BucketLoggingConfiguration) SetDestinationBucketName(v string) *AwsS3BucketLoggingConfiguration {
 25931  	s.DestinationBucketName = &v
 25932  	return s
 25933  }
 25934  
 25935  // SetLogFilePrefix sets the LogFilePrefix field's value.
 25936  func (s *AwsS3BucketLoggingConfiguration) SetLogFilePrefix(v string) *AwsS3BucketLoggingConfiguration {
 25937  	s.LogFilePrefix = &v
 25938  	return s
 25939  }
 25940  
 25941  // The notification configuration for the S3 bucket.
 25942  type AwsS3BucketNotificationConfiguration struct {
 25943  	_ struct{} `type:"structure"`
 25944  
 25945  	// Configurations for S3 bucket notifications.
 25946  	Configurations []*AwsS3BucketNotificationConfigurationDetail `type:"list"`
 25947  }
 25948  
 25949  // String returns the string representation.
 25950  //
 25951  // API parameter values that are decorated as "sensitive" in the API will not
 25952  // be included in the string output. The member name will be present, but the
 25953  // value will be replaced with "sensitive".
 25954  func (s AwsS3BucketNotificationConfiguration) String() string {
 25955  	return awsutil.Prettify(s)
 25956  }
 25957  
 25958  // GoString returns the string representation.
 25959  //
 25960  // API parameter values that are decorated as "sensitive" in the API will not
 25961  // be included in the string output. The member name will be present, but the
 25962  // value will be replaced with "sensitive".
 25963  func (s AwsS3BucketNotificationConfiguration) GoString() string {
 25964  	return s.String()
 25965  }
 25966  
 25967  // SetConfigurations sets the Configurations field's value.
 25968  func (s *AwsS3BucketNotificationConfiguration) SetConfigurations(v []*AwsS3BucketNotificationConfigurationDetail) *AwsS3BucketNotificationConfiguration {
 25969  	s.Configurations = v
 25970  	return s
 25971  }
 25972  
 25973  // Details for an S3 bucket notification configuration.
 25974  type AwsS3BucketNotificationConfigurationDetail struct {
 25975  	_ struct{} `type:"structure"`
 25976  
 25977  	// The ARN of the Lambda function, Amazon SQS queue, or Amazon SNS topic that
 25978  	// generates the notification.
 25979  	Destination *string `type:"string"`
 25980  
 25981  	// The list of events that trigger a notification.
 25982  	Events []*string `type:"list"`
 25983  
 25984  	// The filters that determine which S3 buckets generate notifications.
 25985  	Filter *AwsS3BucketNotificationConfigurationFilter `type:"structure"`
 25986  
 25987  	// Indicates the type of notification. Notifications can be generated using
 25988  	// Lambda functions, Amazon SQS queues or Amazon SNS topics.
 25989  	Type *string `type:"string"`
 25990  }
 25991  
 25992  // String returns the string representation.
 25993  //
 25994  // API parameter values that are decorated as "sensitive" in the API will not
 25995  // be included in the string output. The member name will be present, but the
 25996  // value will be replaced with "sensitive".
 25997  func (s AwsS3BucketNotificationConfigurationDetail) String() string {
 25998  	return awsutil.Prettify(s)
 25999  }
 26000  
 26001  // GoString returns the string representation.
 26002  //
 26003  // API parameter values that are decorated as "sensitive" in the API will not
 26004  // be included in the string output. The member name will be present, but the
 26005  // value will be replaced with "sensitive".
 26006  func (s AwsS3BucketNotificationConfigurationDetail) GoString() string {
 26007  	return s.String()
 26008  }
 26009  
 26010  // SetDestination sets the Destination field's value.
 26011  func (s *AwsS3BucketNotificationConfigurationDetail) SetDestination(v string) *AwsS3BucketNotificationConfigurationDetail {
 26012  	s.Destination = &v
 26013  	return s
 26014  }
 26015  
 26016  // SetEvents sets the Events field's value.
 26017  func (s *AwsS3BucketNotificationConfigurationDetail) SetEvents(v []*string) *AwsS3BucketNotificationConfigurationDetail {
 26018  	s.Events = v
 26019  	return s
 26020  }
 26021  
 26022  // SetFilter sets the Filter field's value.
 26023  func (s *AwsS3BucketNotificationConfigurationDetail) SetFilter(v *AwsS3BucketNotificationConfigurationFilter) *AwsS3BucketNotificationConfigurationDetail {
 26024  	s.Filter = v
 26025  	return s
 26026  }
 26027  
 26028  // SetType sets the Type field's value.
 26029  func (s *AwsS3BucketNotificationConfigurationDetail) SetType(v string) *AwsS3BucketNotificationConfigurationDetail {
 26030  	s.Type = &v
 26031  	return s
 26032  }
 26033  
 26034  // Filtering information for the notifications. The filtering is based on Amazon
 26035  // S3 key names.
 26036  type AwsS3BucketNotificationConfigurationFilter struct {
 26037  	_ struct{} `type:"structure"`
 26038  
 26039  	// Details for an Amazon S3 filter.
 26040  	S3KeyFilter *AwsS3BucketNotificationConfigurationS3KeyFilter `type:"structure"`
 26041  }
 26042  
 26043  // String returns the string representation.
 26044  //
 26045  // API parameter values that are decorated as "sensitive" in the API will not
 26046  // be included in the string output. The member name will be present, but the
 26047  // value will be replaced with "sensitive".
 26048  func (s AwsS3BucketNotificationConfigurationFilter) String() string {
 26049  	return awsutil.Prettify(s)
 26050  }
 26051  
 26052  // GoString returns the string representation.
 26053  //
 26054  // API parameter values that are decorated as "sensitive" in the API will not
 26055  // be included in the string output. The member name will be present, but the
 26056  // value will be replaced with "sensitive".
 26057  func (s AwsS3BucketNotificationConfigurationFilter) GoString() string {
 26058  	return s.String()
 26059  }
 26060  
 26061  // SetS3KeyFilter sets the S3KeyFilter field's value.
 26062  func (s *AwsS3BucketNotificationConfigurationFilter) SetS3KeyFilter(v *AwsS3BucketNotificationConfigurationS3KeyFilter) *AwsS3BucketNotificationConfigurationFilter {
 26063  	s.S3KeyFilter = v
 26064  	return s
 26065  }
 26066  
 26067  // Details for an Amazon S3 filter.
 26068  type AwsS3BucketNotificationConfigurationS3KeyFilter struct {
 26069  	_ struct{} `type:"structure"`
 26070  
 26071  	// The filter rules for the filter.
 26072  	FilterRules []*AwsS3BucketNotificationConfigurationS3KeyFilterRule `type:"list"`
 26073  }
 26074  
 26075  // String returns the string representation.
 26076  //
 26077  // API parameter values that are decorated as "sensitive" in the API will not
 26078  // be included in the string output. The member name will be present, but the
 26079  // value will be replaced with "sensitive".
 26080  func (s AwsS3BucketNotificationConfigurationS3KeyFilter) String() string {
 26081  	return awsutil.Prettify(s)
 26082  }
 26083  
 26084  // GoString returns the string representation.
 26085  //
 26086  // API parameter values that are decorated as "sensitive" in the API will not
 26087  // be included in the string output. The member name will be present, but the
 26088  // value will be replaced with "sensitive".
 26089  func (s AwsS3BucketNotificationConfigurationS3KeyFilter) GoString() string {
 26090  	return s.String()
 26091  }
 26092  
 26093  // SetFilterRules sets the FilterRules field's value.
 26094  func (s *AwsS3BucketNotificationConfigurationS3KeyFilter) SetFilterRules(v []*AwsS3BucketNotificationConfigurationS3KeyFilterRule) *AwsS3BucketNotificationConfigurationS3KeyFilter {
 26095  	s.FilterRules = v
 26096  	return s
 26097  }
 26098  
 26099  // Details for a filter rule.
 26100  type AwsS3BucketNotificationConfigurationS3KeyFilterRule struct {
 26101  	_ struct{} `type:"structure"`
 26102  
 26103  	// Indicates whether the filter is based on the prefix or suffix of the Amazon
 26104  	// S3 key.
 26105  	Name *string `type:"string" enum:"AwsS3BucketNotificationConfigurationS3KeyFilterRuleName"`
 26106  
 26107  	// The filter value.
 26108  	Value *string `type:"string"`
 26109  }
 26110  
 26111  // String returns the string representation.
 26112  //
 26113  // API parameter values that are decorated as "sensitive" in the API will not
 26114  // be included in the string output. The member name will be present, but the
 26115  // value will be replaced with "sensitive".
 26116  func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) String() string {
 26117  	return awsutil.Prettify(s)
 26118  }
 26119  
 26120  // GoString returns the string representation.
 26121  //
 26122  // API parameter values that are decorated as "sensitive" in the API will not
 26123  // be included in the string output. The member name will be present, but the
 26124  // value will be replaced with "sensitive".
 26125  func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) GoString() string {
 26126  	return s.String()
 26127  }
 26128  
 26129  // SetName sets the Name field's value.
 26130  func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetName(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
 26131  	s.Name = &v
 26132  	return s
 26133  }
 26134  
 26135  // SetValue sets the Value field's value.
 26136  func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetValue(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
 26137  	s.Value = &v
 26138  	return s
 26139  }
 26140  
 26141  // Specifies the default server-side encryption to apply to new objects in the
 26142  // bucket.
 26143  type AwsS3BucketServerSideEncryptionByDefault struct {
 26144  	_ struct{} `type:"structure"`
 26145  
 26146  	// KMS key ID to use for the default encryption.
 26147  	KMSMasterKeyID *string `type:"string"`
 26148  
 26149  	// Server-side encryption algorithm to use for the default encryption.
 26150  	SSEAlgorithm *string `type:"string"`
 26151  }
 26152  
 26153  // String returns the string representation.
 26154  //
 26155  // API parameter values that are decorated as "sensitive" in the API will not
 26156  // be included in the string output. The member name will be present, but the
 26157  // value will be replaced with "sensitive".
 26158  func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
 26159  	return awsutil.Prettify(s)
 26160  }
 26161  
 26162  // GoString returns the string representation.
 26163  //
 26164  // API parameter values that are decorated as "sensitive" in the API will not
 26165  // be included in the string output. The member name will be present, but the
 26166  // value will be replaced with "sensitive".
 26167  func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
 26168  	return s.String()
 26169  }
 26170  
 26171  // SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
 26172  func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
 26173  	s.KMSMasterKeyID = &v
 26174  	return s
 26175  }
 26176  
 26177  // SetSSEAlgorithm sets the SSEAlgorithm field's value.
 26178  func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
 26179  	s.SSEAlgorithm = &v
 26180  	return s
 26181  }
 26182  
 26183  // The encryption configuration for the S3 bucket.
 26184  type AwsS3BucketServerSideEncryptionConfiguration struct {
 26185  	_ struct{} `type:"structure"`
 26186  
 26187  	// The encryption rules that are applied to the S3 bucket.
 26188  	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
 26189  }
 26190  
 26191  // String returns the string representation.
 26192  //
 26193  // API parameter values that are decorated as "sensitive" in the API will not
 26194  // be included in the string output. The member name will be present, but the
 26195  // value will be replaced with "sensitive".
 26196  func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
 26197  	return awsutil.Prettify(s)
 26198  }
 26199  
 26200  // GoString returns the string representation.
 26201  //
 26202  // API parameter values that are decorated as "sensitive" in the API will not
 26203  // be included in the string output. The member name will be present, but the
 26204  // value will be replaced with "sensitive".
 26205  func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
 26206  	return s.String()
 26207  }
 26208  
 26209  // SetRules sets the Rules field's value.
 26210  func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
 26211  	s.Rules = v
 26212  	return s
 26213  }
 26214  
 26215  // An encryption rule to apply to the S3 bucket.
 26216  type AwsS3BucketServerSideEncryptionRule struct {
 26217  	_ struct{} `type:"structure"`
 26218  
 26219  	// Specifies the default server-side encryption to apply to new objects in the
 26220  	// bucket. If a PUT object request doesn't specify any server-side encryption,
 26221  	// this default encryption is applied.
 26222  	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
 26223  }
 26224  
 26225  // String returns the string representation.
 26226  //
 26227  // API parameter values that are decorated as "sensitive" in the API will not
 26228  // be included in the string output. The member name will be present, but the
 26229  // value will be replaced with "sensitive".
 26230  func (s AwsS3BucketServerSideEncryptionRule) String() string {
 26231  	return awsutil.Prettify(s)
 26232  }
 26233  
 26234  // GoString returns the string representation.
 26235  //
 26236  // API parameter values that are decorated as "sensitive" in the API will not
 26237  // be included in the string output. The member name will be present, but the
 26238  // value will be replaced with "sensitive".
 26239  func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
 26240  	return s.String()
 26241  }
 26242  
 26243  // SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
 26244  func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
 26245  	s.ApplyServerSideEncryptionByDefault = v
 26246  	return s
 26247  }
 26248  
 26249  // Website parameters for the S3 bucket.
 26250  type AwsS3BucketWebsiteConfiguration struct {
 26251  	_ struct{} `type:"structure"`
 26252  
 26253  	// The name of the error document for the website.
 26254  	ErrorDocument *string `type:"string"`
 26255  
 26256  	// The name of the index document for the website.
 26257  	IndexDocumentSuffix *string `type:"string"`
 26258  
 26259  	// The redirect behavior for requests to the website.
 26260  	RedirectAllRequestsTo *AwsS3BucketWebsiteConfigurationRedirectTo `type:"structure"`
 26261  
 26262  	// The rules for applying redirects for requests to the website.
 26263  	RoutingRules []*AwsS3BucketWebsiteConfigurationRoutingRule `type:"list"`
 26264  }
 26265  
 26266  // String returns the string representation.
 26267  //
 26268  // API parameter values that are decorated as "sensitive" in the API will not
 26269  // be included in the string output. The member name will be present, but the
 26270  // value will be replaced with "sensitive".
 26271  func (s AwsS3BucketWebsiteConfiguration) String() string {
 26272  	return awsutil.Prettify(s)
 26273  }
 26274  
 26275  // GoString returns the string representation.
 26276  //
 26277  // API parameter values that are decorated as "sensitive" in the API will not
 26278  // be included in the string output. The member name will be present, but the
 26279  // value will be replaced with "sensitive".
 26280  func (s AwsS3BucketWebsiteConfiguration) GoString() string {
 26281  	return s.String()
 26282  }
 26283  
 26284  // SetErrorDocument sets the ErrorDocument field's value.
 26285  func (s *AwsS3BucketWebsiteConfiguration) SetErrorDocument(v string) *AwsS3BucketWebsiteConfiguration {
 26286  	s.ErrorDocument = &v
 26287  	return s
 26288  }
 26289  
 26290  // SetIndexDocumentSuffix sets the IndexDocumentSuffix field's value.
 26291  func (s *AwsS3BucketWebsiteConfiguration) SetIndexDocumentSuffix(v string) *AwsS3BucketWebsiteConfiguration {
 26292  	s.IndexDocumentSuffix = &v
 26293  	return s
 26294  }
 26295  
 26296  // SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
 26297  func (s *AwsS3BucketWebsiteConfiguration) SetRedirectAllRequestsTo(v *AwsS3BucketWebsiteConfigurationRedirectTo) *AwsS3BucketWebsiteConfiguration {
 26298  	s.RedirectAllRequestsTo = v
 26299  	return s
 26300  }
 26301  
 26302  // SetRoutingRules sets the RoutingRules field's value.
 26303  func (s *AwsS3BucketWebsiteConfiguration) SetRoutingRules(v []*AwsS3BucketWebsiteConfigurationRoutingRule) *AwsS3BucketWebsiteConfiguration {
 26304  	s.RoutingRules = v
 26305  	return s
 26306  }
 26307  
 26308  // The redirect behavior for requests to the website.
 26309  type AwsS3BucketWebsiteConfigurationRedirectTo struct {
 26310  	_ struct{} `type:"structure"`
 26311  
 26312  	// The name of the host to redirect requests to.
 26313  	Hostname *string `type:"string"`
 26314  
 26315  	// The protocol to use when redirecting requests. By default, uses the same
 26316  	// protocol as the original request.
 26317  	Protocol *string `type:"string"`
 26318  }
 26319  
 26320  // String returns the string representation.
 26321  //
 26322  // API parameter values that are decorated as "sensitive" in the API will not
 26323  // be included in the string output. The member name will be present, but the
 26324  // value will be replaced with "sensitive".
 26325  func (s AwsS3BucketWebsiteConfigurationRedirectTo) String() string {
 26326  	return awsutil.Prettify(s)
 26327  }
 26328  
 26329  // GoString returns the string representation.
 26330  //
 26331  // API parameter values that are decorated as "sensitive" in the API will not
 26332  // be included in the string output. The member name will be present, but the
 26333  // value will be replaced with "sensitive".
 26334  func (s AwsS3BucketWebsiteConfigurationRedirectTo) GoString() string {
 26335  	return s.String()
 26336  }
 26337  
 26338  // SetHostname sets the Hostname field's value.
 26339  func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
 26340  	s.Hostname = &v
 26341  	return s
 26342  }
 26343  
 26344  // SetProtocol sets the Protocol field's value.
 26345  func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
 26346  	s.Protocol = &v
 26347  	return s
 26348  }
 26349  
 26350  // A rule for redirecting requests to the website.
 26351  type AwsS3BucketWebsiteConfigurationRoutingRule struct {
 26352  	_ struct{} `type:"structure"`
 26353  
 26354  	// Provides the condition that must be met in order to apply the routing rule.
 26355  	Condition *AwsS3BucketWebsiteConfigurationRoutingRuleCondition `type:"structure"`
 26356  
 26357  	// Provides the rules to redirect the request if the condition in Condition
 26358  	// is met.
 26359  	Redirect *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect `type:"structure"`
 26360  }
 26361  
 26362  // String returns the string representation.
 26363  //
 26364  // API parameter values that are decorated as "sensitive" in the API will not
 26365  // be included in the string output. The member name will be present, but the
 26366  // value will be replaced with "sensitive".
 26367  func (s AwsS3BucketWebsiteConfigurationRoutingRule) String() string {
 26368  	return awsutil.Prettify(s)
 26369  }
 26370  
 26371  // GoString returns the string representation.
 26372  //
 26373  // API parameter values that are decorated as "sensitive" in the API will not
 26374  // be included in the string output. The member name will be present, but the
 26375  // value will be replaced with "sensitive".
 26376  func (s AwsS3BucketWebsiteConfigurationRoutingRule) GoString() string {
 26377  	return s.String()
 26378  }
 26379  
 26380  // SetCondition sets the Condition field's value.
 26381  func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetCondition(v *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) *AwsS3BucketWebsiteConfigurationRoutingRule {
 26382  	s.Condition = v
 26383  	return s
 26384  }
 26385  
 26386  // SetRedirect sets the Redirect field's value.
 26387  func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetRedirect(v *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) *AwsS3BucketWebsiteConfigurationRoutingRule {
 26388  	s.Redirect = v
 26389  	return s
 26390  }
 26391  
 26392  // The condition that must be met in order to apply the routing rule.
 26393  type AwsS3BucketWebsiteConfigurationRoutingRuleCondition struct {
 26394  	_ struct{} `type:"structure"`
 26395  
 26396  	// Indicates to redirect the request if the HTTP error code matches this value.
 26397  	HttpErrorCodeReturnedEquals *string `type:"string"`
 26398  
 26399  	// Indicates to redirect the request if the key prefix matches this value.
 26400  	KeyPrefixEquals *string `type:"string"`
 26401  }
 26402  
 26403  // String returns the string representation.
 26404  //
 26405  // API parameter values that are decorated as "sensitive" in the API will not
 26406  // be included in the string output. The member name will be present, but the
 26407  // value will be replaced with "sensitive".
 26408  func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) String() string {
 26409  	return awsutil.Prettify(s)
 26410  }
 26411  
 26412  // GoString returns the string representation.
 26413  //
 26414  // API parameter values that are decorated as "sensitive" in the API will not
 26415  // be included in the string output. The member name will be present, but the
 26416  // value will be replaced with "sensitive".
 26417  func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) GoString() string {
 26418  	return s.String()
 26419  }
 26420  
 26421  // SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
 26422  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetHttpErrorCodeReturnedEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
 26423  	s.HttpErrorCodeReturnedEquals = &v
 26424  	return s
 26425  }
 26426  
 26427  // SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
 26428  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetKeyPrefixEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
 26429  	s.KeyPrefixEquals = &v
 26430  	return s
 26431  }
 26432  
 26433  // The rules to redirect the request if the condition in Condition is met.
 26434  type AwsS3BucketWebsiteConfigurationRoutingRuleRedirect struct {
 26435  	_ struct{} `type:"structure"`
 26436  
 26437  	// The host name to use in the redirect request.
 26438  	Hostname *string `type:"string"`
 26439  
 26440  	// The HTTP redirect code to use in the response.
 26441  	HttpRedirectCode *string `type:"string"`
 26442  
 26443  	// The protocol to use to redirect the request. By default, uses the protocol
 26444  	// from the original request.
 26445  	Protocol *string `type:"string"`
 26446  
 26447  	// The object key prefix to use in the redirect request.
 26448  	//
 26449  	// Cannot be provided if ReplaceKeyWith is present.
 26450  	ReplaceKeyPrefixWith *string `type:"string"`
 26451  
 26452  	// The specific object key to use in the redirect request.
 26453  	//
 26454  	// Cannot be provided if ReplaceKeyPrefixWith is present.
 26455  	ReplaceKeyWith *string `type:"string"`
 26456  }
 26457  
 26458  // String returns the string representation.
 26459  //
 26460  // API parameter values that are decorated as "sensitive" in the API will not
 26461  // be included in the string output. The member name will be present, but the
 26462  // value will be replaced with "sensitive".
 26463  func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) String() string {
 26464  	return awsutil.Prettify(s)
 26465  }
 26466  
 26467  // GoString returns the string representation.
 26468  //
 26469  // API parameter values that are decorated as "sensitive" in the API will not
 26470  // be included in the string output. The member name will be present, but the
 26471  // value will be replaced with "sensitive".
 26472  func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) GoString() string {
 26473  	return s.String()
 26474  }
 26475  
 26476  // SetHostname sets the Hostname field's value.
 26477  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
 26478  	s.Hostname = &v
 26479  	return s
 26480  }
 26481  
 26482  // SetHttpRedirectCode sets the HttpRedirectCode field's value.
 26483  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHttpRedirectCode(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
 26484  	s.HttpRedirectCode = &v
 26485  	return s
 26486  }
 26487  
 26488  // SetProtocol sets the Protocol field's value.
 26489  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
 26490  	s.Protocol = &v
 26491  	return s
 26492  }
 26493  
 26494  // SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
 26495  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyPrefixWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
 26496  	s.ReplaceKeyPrefixWith = &v
 26497  	return s
 26498  }
 26499  
 26500  // SetReplaceKeyWith sets the ReplaceKeyWith field's value.
 26501  func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
 26502  	s.ReplaceKeyWith = &v
 26503  	return s
 26504  }
 26505  
 26506  // Details about an Amazon S3 object.
 26507  type AwsS3ObjectDetails struct {
 26508  	_ struct{} `type:"structure"`
 26509  
 26510  	// A standard MIME type describing the format of the object data.
 26511  	ContentType *string `type:"string"`
 26512  
 26513  	// The opaque identifier assigned by a web server to a specific version of a
 26514  	// resource found at a URL.
 26515  	ETag *string `type:"string"`
 26516  
 26517  	// Indicates when the object was last modified.
 26518  	//
 26519  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 26520  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 26521  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 26522  	LastModified *string `type:"string"`
 26523  
 26524  	// The identifier of the KMS symmetric customer managed key that was used for
 26525  	// the object.
 26526  	SSEKMSKeyId *string `type:"string"`
 26527  
 26528  	// If the object is stored using server-side encryption, the value of the server-side
 26529  	// encryption algorithm used when storing this object in Amazon S3.
 26530  	ServerSideEncryption *string `type:"string"`
 26531  
 26532  	// The version of the object.
 26533  	VersionId *string `type:"string"`
 26534  }
 26535  
 26536  // String returns the string representation.
 26537  //
 26538  // API parameter values that are decorated as "sensitive" in the API will not
 26539  // be included in the string output. The member name will be present, but the
 26540  // value will be replaced with "sensitive".
 26541  func (s AwsS3ObjectDetails) String() string {
 26542  	return awsutil.Prettify(s)
 26543  }
 26544  
 26545  // GoString returns the string representation.
 26546  //
 26547  // API parameter values that are decorated as "sensitive" in the API will not
 26548  // be included in the string output. The member name will be present, but the
 26549  // value will be replaced with "sensitive".
 26550  func (s AwsS3ObjectDetails) GoString() string {
 26551  	return s.String()
 26552  }
 26553  
 26554  // SetContentType sets the ContentType field's value.
 26555  func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
 26556  	s.ContentType = &v
 26557  	return s
 26558  }
 26559  
 26560  // SetETag sets the ETag field's value.
 26561  func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
 26562  	s.ETag = &v
 26563  	return s
 26564  }
 26565  
 26566  // SetLastModified sets the LastModified field's value.
 26567  func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
 26568  	s.LastModified = &v
 26569  	return s
 26570  }
 26571  
 26572  // SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
 26573  func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
 26574  	s.SSEKMSKeyId = &v
 26575  	return s
 26576  }
 26577  
 26578  // SetServerSideEncryption sets the ServerSideEncryption field's value.
 26579  func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
 26580  	s.ServerSideEncryption = &v
 26581  	return s
 26582  }
 26583  
 26584  // SetVersionId sets the VersionId field's value.
 26585  func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
 26586  	s.VersionId = &v
 26587  	return s
 26588  }
 26589  
 26590  // Details about an Secrets Manager secret.
 26591  type AwsSecretsManagerSecretDetails struct {
 26592  	_ struct{} `type:"structure"`
 26593  
 26594  	// Whether the secret is deleted.
 26595  	Deleted *bool `type:"boolean"`
 26596  
 26597  	// The user-provided description of the secret.
 26598  	Description *string `type:"string"`
 26599  
 26600  	// The ARN, Key ID, or alias of the KMS key used to encrypt the SecretString
 26601  	// or SecretBinary values for versions of this secret.
 26602  	KmsKeyId *string `type:"string"`
 26603  
 26604  	// The name of the secret.
 26605  	Name *string `type:"string"`
 26606  
 26607  	// Whether rotation is enabled.
 26608  	RotationEnabled *bool `type:"boolean"`
 26609  
 26610  	// The ARN of the Lambda function that rotates the secret.
 26611  	RotationLambdaArn *string `type:"string"`
 26612  
 26613  	// Whether the rotation occurred within the specified rotation frequency.
 26614  	RotationOccurredWithinFrequency *bool `type:"boolean"`
 26615  
 26616  	// Defines the rotation schedule for the secret.
 26617  	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
 26618  }
 26619  
 26620  // String returns the string representation.
 26621  //
 26622  // API parameter values that are decorated as "sensitive" in the API will not
 26623  // be included in the string output. The member name will be present, but the
 26624  // value will be replaced with "sensitive".
 26625  func (s AwsSecretsManagerSecretDetails) String() string {
 26626  	return awsutil.Prettify(s)
 26627  }
 26628  
 26629  // GoString returns the string representation.
 26630  //
 26631  // API parameter values that are decorated as "sensitive" in the API will not
 26632  // be included in the string output. The member name will be present, but the
 26633  // value will be replaced with "sensitive".
 26634  func (s AwsSecretsManagerSecretDetails) GoString() string {
 26635  	return s.String()
 26636  }
 26637  
 26638  // SetDeleted sets the Deleted field's value.
 26639  func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
 26640  	s.Deleted = &v
 26641  	return s
 26642  }
 26643  
 26644  // SetDescription sets the Description field's value.
 26645  func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
 26646  	s.Description = &v
 26647  	return s
 26648  }
 26649  
 26650  // SetKmsKeyId sets the KmsKeyId field's value.
 26651  func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
 26652  	s.KmsKeyId = &v
 26653  	return s
 26654  }
 26655  
 26656  // SetName sets the Name field's value.
 26657  func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
 26658  	s.Name = &v
 26659  	return s
 26660  }
 26661  
 26662  // SetRotationEnabled sets the RotationEnabled field's value.
 26663  func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
 26664  	s.RotationEnabled = &v
 26665  	return s
 26666  }
 26667  
 26668  // SetRotationLambdaArn sets the RotationLambdaArn field's value.
 26669  func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
 26670  	s.RotationLambdaArn = &v
 26671  	return s
 26672  }
 26673  
 26674  // SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
 26675  func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
 26676  	s.RotationOccurredWithinFrequency = &v
 26677  	return s
 26678  }
 26679  
 26680  // SetRotationRules sets the RotationRules field's value.
 26681  func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
 26682  	s.RotationRules = v
 26683  	return s
 26684  }
 26685  
 26686  // Defines the rotation schedule for the secret.
 26687  type AwsSecretsManagerSecretRotationRules struct {
 26688  	_ struct{} `type:"structure"`
 26689  
 26690  	// The number of days after the previous rotation to rotate the secret.
 26691  	AutomaticallyAfterDays *int64 `type:"integer"`
 26692  }
 26693  
 26694  // String returns the string representation.
 26695  //
 26696  // API parameter values that are decorated as "sensitive" in the API will not
 26697  // be included in the string output. The member name will be present, but the
 26698  // value will be replaced with "sensitive".
 26699  func (s AwsSecretsManagerSecretRotationRules) String() string {
 26700  	return awsutil.Prettify(s)
 26701  }
 26702  
 26703  // GoString returns the string representation.
 26704  //
 26705  // API parameter values that are decorated as "sensitive" in the API will not
 26706  // be included in the string output. The member name will be present, but the
 26707  // value will be replaced with "sensitive".
 26708  func (s AwsSecretsManagerSecretRotationRules) GoString() string {
 26709  	return s.String()
 26710  }
 26711  
 26712  // SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
 26713  func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
 26714  	s.AutomaticallyAfterDays = &v
 26715  	return s
 26716  }
 26717  
 26718  // Provides consistent format for the contents of the Security Hub-aggregated
 26719  // findings. AwsSecurityFinding format enables you to share findings between
 26720  // Amazon Web Services security services and third-party solutions, and security
 26721  // standards checks.
 26722  //
 26723  // A finding is a potential security issue generated either by Amazon Web Services
 26724  // services or by the integrated third-party solutions and standards checks.
 26725  type AwsSecurityFinding struct {
 26726  	_ struct{} `type:"structure"`
 26727  
 26728  	// Provides details about an action that affects or that was taken on a resource.
 26729  	Action *Action `type:"structure"`
 26730  
 26731  	// The Amazon Web Services account ID that a finding is generated in.
 26732  	//
 26733  	// AwsAccountId is a required field
 26734  	AwsAccountId *string `type:"string" required:"true"`
 26735  
 26736  	// The name of the company for the product that generated the finding.
 26737  	//
 26738  	// Security Hub populates this attribute automatically for each finding. You
 26739  	// cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception
 26740  	// to this is when you use a custom integration.
 26741  	//
 26742  	// When you use the Security Hub console to filter findings by company name,
 26743  	// you use this attribute.
 26744  	//
 26745  	// When you use the Security Hub API to filter findings by company name, you
 26746  	// use the aws/securityhub/CompanyName attribute under ProductFields.
 26747  	//
 26748  	// Security Hub does not synchronize those two attributes.
 26749  	CompanyName *string `type:"string"`
 26750  
 26751  	// This data type is exclusive to findings that are generated as the result
 26752  	// of a check run against a specific rule in a supported security standard,
 26753  	// such as CIS Amazon Web Services Foundations. Contains security standard-related
 26754  	// finding details.
 26755  	Compliance *Compliance `type:"structure"`
 26756  
 26757  	// A finding's confidence. Confidence is defined as the likelihood that a finding
 26758  	// accurately identifies the behavior or issue that it was intended to identify.
 26759  	//
 26760  	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
 26761  	// zero percent confidence and 100 means 100 percent confidence.
 26762  	Confidence *int64 `type:"integer"`
 26763  
 26764  	// Indicates when the security-findings provider created the potential security
 26765  	// issue that a finding captured.
 26766  	//
 26767  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 26768  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 26769  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 26770  	//
 26771  	// CreatedAt is a required field
 26772  	CreatedAt *string `type:"string" required:"true"`
 26773  
 26774  	// The level of importance assigned to the resources associated with the finding.
 26775  	//
 26776  	// A score of 0 means that the underlying resources have no criticality, and
 26777  	// a score of 100 is reserved for the most critical resources.
 26778  	Criticality *int64 `type:"integer"`
 26779  
 26780  	// A finding's description.
 26781  	//
 26782  	// In this release, Description is a required property.
 26783  	//
 26784  	// Description is a required field
 26785  	Description *string `type:"string" required:"true"`
 26786  
 26787  	// In a BatchImportFindings request, finding providers use FindingProviderFields
 26788  	// to provide and update their own values for confidence, criticality, related
 26789  	// findings, severity, and types.
 26790  	FindingProviderFields *FindingProviderFields `type:"structure"`
 26791  
 26792  	// Indicates when the security-findings provider first observed the potential
 26793  	// security issue that a finding captured.
 26794  	//
 26795  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 26796  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 26797  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 26798  	FirstObservedAt *string `type:"string"`
 26799  
 26800  	// The identifier for the solution-specific component (a discrete unit of logic)
 26801  	// that generated a finding. In various security-findings providers' solutions,
 26802  	// this generator can be called a rule, a check, a detector, a plugin, etc.
 26803  	//
 26804  	// GeneratorId is a required field
 26805  	GeneratorId *string `type:"string" required:"true"`
 26806  
 26807  	// The security findings provider-specific identifier for a finding.
 26808  	//
 26809  	// Id is a required field
 26810  	Id *string `type:"string" required:"true"`
 26811  
 26812  	// Indicates when the security-findings provider most recently observed the
 26813  	// potential security issue that a finding captured.
 26814  	//
 26815  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 26816  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 26817  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 26818  	LastObservedAt *string `type:"string"`
 26819  
 26820  	// A list of malware related to a finding.
 26821  	Malware []*Malware `type:"list"`
 26822  
 26823  	// The details of network-related information about a finding.
 26824  	Network *Network `type:"structure"`
 26825  
 26826  	// Provides information about a network path that is relevant to a finding.
 26827  	// Each entry under NetworkPath represents a component of that path.
 26828  	NetworkPath []*NetworkPathComponent `type:"list"`
 26829  
 26830  	// A user-defined note added to a finding.
 26831  	Note *Note `type:"structure"`
 26832  
 26833  	// Provides an overview of the patch compliance status for an instance against
 26834  	// a selected compliance standard.
 26835  	PatchSummary *PatchSummary `type:"structure"`
 26836  
 26837  	// The details of process-related information about a finding.
 26838  	Process *ProcessDetails `type:"structure"`
 26839  
 26840  	// The ARN generated by Security Hub that uniquely identifies a product that
 26841  	// generates findings. This can be the ARN for a third-party product that is
 26842  	// integrated with Security Hub, or the ARN for a custom integration.
 26843  	//
 26844  	// ProductArn is a required field
 26845  	ProductArn *string `type:"string" required:"true"`
 26846  
 26847  	// A data type where security-findings providers can include additional solution-specific
 26848  	// details that aren't part of the defined AwsSecurityFinding format.
 26849  	//
 26850  	// Can contain up to 50 key-value pairs. For each key-value pair, the key can
 26851  	// contain up to 128 characters, and the value can contain up to 2048 characters.
 26852  	ProductFields map[string]*string `type:"map"`
 26853  
 26854  	// The name of the product that generated the finding.
 26855  	//
 26856  	// Security Hub populates this attribute automatically for each finding. You
 26857  	// cannot update it using BatchImportFindings or BatchUpdateFindings. The exception
 26858  	// to this is when you use a custom integration.
 26859  	//
 26860  	// When you use the Security Hub console to filter findings by product name,
 26861  	// you use this attribute.
 26862  	//
 26863  	// When you use the Security Hub API to filter findings by product name, you
 26864  	// use the aws/securityhub/ProductName attribute under ProductFields.
 26865  	//
 26866  	// Security Hub does not synchronize those two attributes.
 26867  	ProductName *string `type:"string"`
 26868  
 26869  	// The record state of a finding.
 26870  	RecordState *string `type:"string" enum:"RecordState"`
 26871  
 26872  	// The Region from which the finding was generated.
 26873  	//
 26874  	// Security Hub populates this attribute automatically for each finding. You
 26875  	// cannot update it using BatchImportFindings or BatchUpdateFindings.
 26876  	Region *string `type:"string"`
 26877  
 26878  	// A list of related findings.
 26879  	RelatedFindings []*RelatedFinding `type:"list"`
 26880  
 26881  	// A data type that describes the remediation options for a finding.
 26882  	Remediation *Remediation `type:"structure"`
 26883  
 26884  	// A set of resource data types that describe the resources that the finding
 26885  	// refers to.
 26886  	//
 26887  	// Resources is a required field
 26888  	Resources []*Resource `type:"list" required:"true"`
 26889  
 26890  	// The schema version that a finding is formatted for.
 26891  	//
 26892  	// SchemaVersion is a required field
 26893  	SchemaVersion *string `type:"string" required:"true"`
 26894  
 26895  	// A finding's severity.
 26896  	Severity *Severity `type:"structure"`
 26897  
 26898  	// A URL that links to a page about the current finding in the security-findings
 26899  	// provider's solution.
 26900  	SourceUrl *string `type:"string"`
 26901  
 26902  	// Threat intelligence details related to a finding.
 26903  	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
 26904  
 26905  	// A finding's title.
 26906  	//
 26907  	// In this release, Title is a required property.
 26908  	//
 26909  	// Title is a required field
 26910  	Title *string `type:"string" required:"true"`
 26911  
 26912  	// One or more finding types in the format of namespace/category/classifier
 26913  	// that classify a finding.
 26914  	//
 26915  	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
 26916  	// | Unusual Behaviors | Sensitive Data Identifications
 26917  	Types []*string `type:"list"`
 26918  
 26919  	// Indicates when the security-findings provider last updated the finding record.
 26920  	//
 26921  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 26922  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 26923  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 26924  	//
 26925  	// UpdatedAt is a required field
 26926  	UpdatedAt *string `type:"string" required:"true"`
 26927  
 26928  	// A list of name/value string pairs associated with the finding. These are
 26929  	// custom, user-defined fields added to a finding.
 26930  	UserDefinedFields map[string]*string `type:"map"`
 26931  
 26932  	// Indicates the veracity of a finding.
 26933  	VerificationState *string `type:"string" enum:"VerificationState"`
 26934  
 26935  	// Provides a list of vulnerabilities associated with the findings.
 26936  	Vulnerabilities []*Vulnerability `type:"list"`
 26937  
 26938  	// Provides information about the status of the investigation into a finding.
 26939  	Workflow *Workflow `type:"structure"`
 26940  
 26941  	// The workflow state of a finding.
 26942  	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
 26943  }
 26944  
 26945  // String returns the string representation.
 26946  //
 26947  // API parameter values that are decorated as "sensitive" in the API will not
 26948  // be included in the string output. The member name will be present, but the
 26949  // value will be replaced with "sensitive".
 26950  func (s AwsSecurityFinding) String() string {
 26951  	return awsutil.Prettify(s)
 26952  }
 26953  
 26954  // GoString returns the string representation.
 26955  //
 26956  // API parameter values that are decorated as "sensitive" in the API will not
 26957  // be included in the string output. The member name will be present, but the
 26958  // value will be replaced with "sensitive".
 26959  func (s AwsSecurityFinding) GoString() string {
 26960  	return s.String()
 26961  }
 26962  
 26963  // Validate inspects the fields of the type to determine if they are valid.
 26964  func (s *AwsSecurityFinding) Validate() error {
 26965  	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
 26966  	if s.AwsAccountId == nil {
 26967  		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
 26968  	}
 26969  	if s.CreatedAt == nil {
 26970  		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
 26971  	}
 26972  	if s.Description == nil {
 26973  		invalidParams.Add(request.NewErrParamRequired("Description"))
 26974  	}
 26975  	if s.GeneratorId == nil {
 26976  		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
 26977  	}
 26978  	if s.Id == nil {
 26979  		invalidParams.Add(request.NewErrParamRequired("Id"))
 26980  	}
 26981  	if s.ProductArn == nil {
 26982  		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
 26983  	}
 26984  	if s.Resources == nil {
 26985  		invalidParams.Add(request.NewErrParamRequired("Resources"))
 26986  	}
 26987  	if s.SchemaVersion == nil {
 26988  		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
 26989  	}
 26990  	if s.Title == nil {
 26991  		invalidParams.Add(request.NewErrParamRequired("Title"))
 26992  	}
 26993  	if s.UpdatedAt == nil {
 26994  		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
 26995  	}
 26996  	if s.Compliance != nil {
 26997  		if err := s.Compliance.Validate(); err != nil {
 26998  			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
 26999  		}
 27000  	}
 27001  	if s.FindingProviderFields != nil {
 27002  		if err := s.FindingProviderFields.Validate(); err != nil {
 27003  			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
 27004  		}
 27005  	}
 27006  	if s.Malware != nil {
 27007  		for i, v := range s.Malware {
 27008  			if v == nil {
 27009  				continue
 27010  			}
 27011  			if err := v.Validate(); err != nil {
 27012  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
 27013  			}
 27014  		}
 27015  	}
 27016  	if s.Note != nil {
 27017  		if err := s.Note.Validate(); err != nil {
 27018  			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
 27019  		}
 27020  	}
 27021  	if s.PatchSummary != nil {
 27022  		if err := s.PatchSummary.Validate(); err != nil {
 27023  			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
 27024  		}
 27025  	}
 27026  	if s.RelatedFindings != nil {
 27027  		for i, v := range s.RelatedFindings {
 27028  			if v == nil {
 27029  				continue
 27030  			}
 27031  			if err := v.Validate(); err != nil {
 27032  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
 27033  			}
 27034  		}
 27035  	}
 27036  	if s.Resources != nil {
 27037  		for i, v := range s.Resources {
 27038  			if v == nil {
 27039  				continue
 27040  			}
 27041  			if err := v.Validate(); err != nil {
 27042  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
 27043  			}
 27044  		}
 27045  	}
 27046  	if s.Vulnerabilities != nil {
 27047  		for i, v := range s.Vulnerabilities {
 27048  			if v == nil {
 27049  				continue
 27050  			}
 27051  			if err := v.Validate(); err != nil {
 27052  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
 27053  			}
 27054  		}
 27055  	}
 27056  
 27057  	if invalidParams.Len() > 0 {
 27058  		return invalidParams
 27059  	}
 27060  	return nil
 27061  }
 27062  
 27063  // SetAction sets the Action field's value.
 27064  func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
 27065  	s.Action = v
 27066  	return s
 27067  }
 27068  
 27069  // SetAwsAccountId sets the AwsAccountId field's value.
 27070  func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
 27071  	s.AwsAccountId = &v
 27072  	return s
 27073  }
 27074  
 27075  // SetCompanyName sets the CompanyName field's value.
 27076  func (s *AwsSecurityFinding) SetCompanyName(v string) *AwsSecurityFinding {
 27077  	s.CompanyName = &v
 27078  	return s
 27079  }
 27080  
 27081  // SetCompliance sets the Compliance field's value.
 27082  func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
 27083  	s.Compliance = v
 27084  	return s
 27085  }
 27086  
 27087  // SetConfidence sets the Confidence field's value.
 27088  func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
 27089  	s.Confidence = &v
 27090  	return s
 27091  }
 27092  
 27093  // SetCreatedAt sets the CreatedAt field's value.
 27094  func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
 27095  	s.CreatedAt = &v
 27096  	return s
 27097  }
 27098  
 27099  // SetCriticality sets the Criticality field's value.
 27100  func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
 27101  	s.Criticality = &v
 27102  	return s
 27103  }
 27104  
 27105  // SetDescription sets the Description field's value.
 27106  func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
 27107  	s.Description = &v
 27108  	return s
 27109  }
 27110  
 27111  // SetFindingProviderFields sets the FindingProviderFields field's value.
 27112  func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
 27113  	s.FindingProviderFields = v
 27114  	return s
 27115  }
 27116  
 27117  // SetFirstObservedAt sets the FirstObservedAt field's value.
 27118  func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
 27119  	s.FirstObservedAt = &v
 27120  	return s
 27121  }
 27122  
 27123  // SetGeneratorId sets the GeneratorId field's value.
 27124  func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
 27125  	s.GeneratorId = &v
 27126  	return s
 27127  }
 27128  
 27129  // SetId sets the Id field's value.
 27130  func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
 27131  	s.Id = &v
 27132  	return s
 27133  }
 27134  
 27135  // SetLastObservedAt sets the LastObservedAt field's value.
 27136  func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
 27137  	s.LastObservedAt = &v
 27138  	return s
 27139  }
 27140  
 27141  // SetMalware sets the Malware field's value.
 27142  func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
 27143  	s.Malware = v
 27144  	return s
 27145  }
 27146  
 27147  // SetNetwork sets the Network field's value.
 27148  func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
 27149  	s.Network = v
 27150  	return s
 27151  }
 27152  
 27153  // SetNetworkPath sets the NetworkPath field's value.
 27154  func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
 27155  	s.NetworkPath = v
 27156  	return s
 27157  }
 27158  
 27159  // SetNote sets the Note field's value.
 27160  func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
 27161  	s.Note = v
 27162  	return s
 27163  }
 27164  
 27165  // SetPatchSummary sets the PatchSummary field's value.
 27166  func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
 27167  	s.PatchSummary = v
 27168  	return s
 27169  }
 27170  
 27171  // SetProcess sets the Process field's value.
 27172  func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
 27173  	s.Process = v
 27174  	return s
 27175  }
 27176  
 27177  // SetProductArn sets the ProductArn field's value.
 27178  func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
 27179  	s.ProductArn = &v
 27180  	return s
 27181  }
 27182  
 27183  // SetProductFields sets the ProductFields field's value.
 27184  func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
 27185  	s.ProductFields = v
 27186  	return s
 27187  }
 27188  
 27189  // SetProductName sets the ProductName field's value.
 27190  func (s *AwsSecurityFinding) SetProductName(v string) *AwsSecurityFinding {
 27191  	s.ProductName = &v
 27192  	return s
 27193  }
 27194  
 27195  // SetRecordState sets the RecordState field's value.
 27196  func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
 27197  	s.RecordState = &v
 27198  	return s
 27199  }
 27200  
 27201  // SetRegion sets the Region field's value.
 27202  func (s *AwsSecurityFinding) SetRegion(v string) *AwsSecurityFinding {
 27203  	s.Region = &v
 27204  	return s
 27205  }
 27206  
 27207  // SetRelatedFindings sets the RelatedFindings field's value.
 27208  func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
 27209  	s.RelatedFindings = v
 27210  	return s
 27211  }
 27212  
 27213  // SetRemediation sets the Remediation field's value.
 27214  func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
 27215  	s.Remediation = v
 27216  	return s
 27217  }
 27218  
 27219  // SetResources sets the Resources field's value.
 27220  func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
 27221  	s.Resources = v
 27222  	return s
 27223  }
 27224  
 27225  // SetSchemaVersion sets the SchemaVersion field's value.
 27226  func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
 27227  	s.SchemaVersion = &v
 27228  	return s
 27229  }
 27230  
 27231  // SetSeverity sets the Severity field's value.
 27232  func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
 27233  	s.Severity = v
 27234  	return s
 27235  }
 27236  
 27237  // SetSourceUrl sets the SourceUrl field's value.
 27238  func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
 27239  	s.SourceUrl = &v
 27240  	return s
 27241  }
 27242  
 27243  // SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
 27244  func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
 27245  	s.ThreatIntelIndicators = v
 27246  	return s
 27247  }
 27248  
 27249  // SetTitle sets the Title field's value.
 27250  func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
 27251  	s.Title = &v
 27252  	return s
 27253  }
 27254  
 27255  // SetTypes sets the Types field's value.
 27256  func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
 27257  	s.Types = v
 27258  	return s
 27259  }
 27260  
 27261  // SetUpdatedAt sets the UpdatedAt field's value.
 27262  func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
 27263  	s.UpdatedAt = &v
 27264  	return s
 27265  }
 27266  
 27267  // SetUserDefinedFields sets the UserDefinedFields field's value.
 27268  func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
 27269  	s.UserDefinedFields = v
 27270  	return s
 27271  }
 27272  
 27273  // SetVerificationState sets the VerificationState field's value.
 27274  func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
 27275  	s.VerificationState = &v
 27276  	return s
 27277  }
 27278  
 27279  // SetVulnerabilities sets the Vulnerabilities field's value.
 27280  func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
 27281  	s.Vulnerabilities = v
 27282  	return s
 27283  }
 27284  
 27285  // SetWorkflow sets the Workflow field's value.
 27286  func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
 27287  	s.Workflow = v
 27288  	return s
 27289  }
 27290  
 27291  // SetWorkflowState sets the WorkflowState field's value.
 27292  func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
 27293  	s.WorkflowState = &v
 27294  	return s
 27295  }
 27296  
 27297  // A collection of attributes that are applied to all active Security Hub-aggregated
 27298  // findings and that result in a subset of findings that are included in this
 27299  // insight.
 27300  //
 27301  // You can filter by up to 10 finding attributes. For each attribute, you can
 27302  // provide up to 20 filter values.
 27303  type AwsSecurityFindingFilters struct {
 27304  	_ struct{} `type:"structure"`
 27305  
 27306  	// The Amazon Web Services account ID that a finding is generated in.
 27307  	AwsAccountId []*StringFilter `type:"list"`
 27308  
 27309  	// The name of the findings provider (company) that owns the solution (product)
 27310  	// that generates findings.
 27311  	//
 27312  	// Note that this is a filter against the aws/securityhub/CompanyName field
 27313  	// in ProductFields. It is not a filter for the top-level CompanyName field.
 27314  	CompanyName []*StringFilter `type:"list"`
 27315  
 27316  	// Exclusive to findings that are generated as the result of a check run against
 27317  	// a specific rule in a supported standard, such as CIS Amazon Web Services
 27318  	// Foundations. Contains security standard-related finding details.
 27319  	ComplianceStatus []*StringFilter `type:"list"`
 27320  
 27321  	// A finding's confidence. Confidence is defined as the likelihood that a finding
 27322  	// accurately identifies the behavior or issue that it was intended to identify.
 27323  	//
 27324  	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
 27325  	// zero percent confidence and 100 means 100 percent confidence.
 27326  	Confidence []*NumberFilter `type:"list"`
 27327  
 27328  	// An ISO8601-formatted timestamp that indicates when the security-findings
 27329  	// provider captured the potential security issue that a finding captured.
 27330  	CreatedAt []*DateFilter `type:"list"`
 27331  
 27332  	// The level of importance assigned to the resources associated with the finding.
 27333  	//
 27334  	// A score of 0 means that the underlying resources have no criticality, and
 27335  	// a score of 100 is reserved for the most critical resources.
 27336  	Criticality []*NumberFilter `type:"list"`
 27337  
 27338  	// A finding's description.
 27339  	Description []*StringFilter `type:"list"`
 27340  
 27341  	// The finding provider value for the finding confidence. Confidence is defined
 27342  	// as the likelihood that a finding accurately identifies the behavior or issue
 27343  	// that it was intended to identify.
 27344  	//
 27345  	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
 27346  	// zero percent confidence and 100 means 100 percent confidence.
 27347  	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
 27348  
 27349  	// The finding provider value for the level of importance assigned to the resources
 27350  	// associated with the findings.
 27351  	//
 27352  	// A score of 0 means that the underlying resources have no criticality, and
 27353  	// a score of 100 is reserved for the most critical resources.
 27354  	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
 27355  
 27356  	// The finding identifier of a related finding that is identified by the finding
 27357  	// provider.
 27358  	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
 27359  
 27360  	// The ARN of the solution that generated a related finding that is identified
 27361  	// by the finding provider.
 27362  	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
 27363  
 27364  	// The finding provider value for the severity label.
 27365  	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
 27366  
 27367  	// The finding provider's original value for the severity.
 27368  	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
 27369  
 27370  	// One or more finding types that the finding provider assigned to the finding.
 27371  	// Uses the format of namespace/category/classifier that classify a finding.
 27372  	//
 27373  	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
 27374  	// | Unusual Behaviors | Sensitive Data Identifications
 27375  	FindingProviderFieldsTypes []*StringFilter `type:"list"`
 27376  
 27377  	// An ISO8601-formatted timestamp that indicates when the security-findings
 27378  	// provider first observed the potential security issue that a finding captured.
 27379  	FirstObservedAt []*DateFilter `type:"list"`
 27380  
 27381  	// The identifier for the solution-specific component (a discrete unit of logic)
 27382  	// that generated a finding. In various security-findings providers' solutions,
 27383  	// this generator can be called a rule, a check, a detector, a plugin, etc.
 27384  	GeneratorId []*StringFilter `type:"list"`
 27385  
 27386  	// The security findings provider-specific identifier for a finding.
 27387  	Id []*StringFilter `type:"list"`
 27388  
 27389  	// A keyword for a finding.
 27390  	//
 27391  	// Deprecated: The Keyword property is deprecated.
 27392  	Keyword []*KeywordFilter `deprecated:"true" type:"list"`
 27393  
 27394  	// An ISO8601-formatted timestamp that indicates when the security-findings
 27395  	// provider most recently observed the potential security issue that a finding
 27396  	// captured.
 27397  	LastObservedAt []*DateFilter `type:"list"`
 27398  
 27399  	// The name of the malware that was observed.
 27400  	MalwareName []*StringFilter `type:"list"`
 27401  
 27402  	// The filesystem path of the malware that was observed.
 27403  	MalwarePath []*StringFilter `type:"list"`
 27404  
 27405  	// The state of the malware that was observed.
 27406  	MalwareState []*StringFilter `type:"list"`
 27407  
 27408  	// The type of the malware that was observed.
 27409  	MalwareType []*StringFilter `type:"list"`
 27410  
 27411  	// The destination domain of network-related information about a finding.
 27412  	NetworkDestinationDomain []*StringFilter `type:"list"`
 27413  
 27414  	// The destination IPv4 address of network-related information about a finding.
 27415  	NetworkDestinationIpV4 []*IpFilter `type:"list"`
 27416  
 27417  	// The destination IPv6 address of network-related information about a finding.
 27418  	NetworkDestinationIpV6 []*IpFilter `type:"list"`
 27419  
 27420  	// The destination port of network-related information about a finding.
 27421  	NetworkDestinationPort []*NumberFilter `type:"list"`
 27422  
 27423  	// Indicates the direction of network traffic associated with a finding.
 27424  	NetworkDirection []*StringFilter `type:"list"`
 27425  
 27426  	// The protocol of network-related information about a finding.
 27427  	NetworkProtocol []*StringFilter `type:"list"`
 27428  
 27429  	// The source domain of network-related information about a finding.
 27430  	NetworkSourceDomain []*StringFilter `type:"list"`
 27431  
 27432  	// The source IPv4 address of network-related information about a finding.
 27433  	NetworkSourceIpV4 []*IpFilter `type:"list"`
 27434  
 27435  	// The source IPv6 address of network-related information about a finding.
 27436  	NetworkSourceIpV6 []*IpFilter `type:"list"`
 27437  
 27438  	// The source media access control (MAC) address of network-related information
 27439  	// about a finding.
 27440  	NetworkSourceMac []*StringFilter `type:"list"`
 27441  
 27442  	// The source port of network-related information about a finding.
 27443  	NetworkSourcePort []*NumberFilter `type:"list"`
 27444  
 27445  	// The text of a note.
 27446  	NoteText []*StringFilter `type:"list"`
 27447  
 27448  	// The timestamp of when the note was updated.
 27449  	NoteUpdatedAt []*DateFilter `type:"list"`
 27450  
 27451  	// The principal that created a note.
 27452  	NoteUpdatedBy []*StringFilter `type:"list"`
 27453  
 27454  	// The date/time that the process was launched.
 27455  	ProcessLaunchedAt []*DateFilter `type:"list"`
 27456  
 27457  	// The name of the process.
 27458  	ProcessName []*StringFilter `type:"list"`
 27459  
 27460  	// The parent process ID.
 27461  	ProcessParentPid []*NumberFilter `type:"list"`
 27462  
 27463  	// The path to the process executable.
 27464  	ProcessPath []*StringFilter `type:"list"`
 27465  
 27466  	// The process ID.
 27467  	ProcessPid []*NumberFilter `type:"list"`
 27468  
 27469  	// The date/time that the process was terminated.
 27470  	ProcessTerminatedAt []*DateFilter `type:"list"`
 27471  
 27472  	// The ARN generated by Security Hub that uniquely identifies a third-party
 27473  	// company (security findings provider) after this provider's product (solution
 27474  	// that generates findings) is registered with Security Hub.
 27475  	ProductArn []*StringFilter `type:"list"`
 27476  
 27477  	// A data type where security-findings providers can include additional solution-specific
 27478  	// details that aren't part of the defined AwsSecurityFinding format.
 27479  	ProductFields []*MapFilter `type:"list"`
 27480  
 27481  	// The name of the solution (product) that generates findings.
 27482  	//
 27483  	// Note that this is a filter against the aws/securityhub/ProductName field
 27484  	// in ProductFields. It is not a filter for the top-level ProductName field.
 27485  	ProductName []*StringFilter `type:"list"`
 27486  
 27487  	// The recommendation of what to do about the issue described in a finding.
 27488  	RecommendationText []*StringFilter `type:"list"`
 27489  
 27490  	// The updated record state for the finding.
 27491  	RecordState []*StringFilter `type:"list"`
 27492  
 27493  	// The Region from which the finding was generated.
 27494  	Region []*StringFilter `type:"list"`
 27495  
 27496  	// The solution-generated identifier for a related finding.
 27497  	RelatedFindingsId []*StringFilter `type:"list"`
 27498  
 27499  	// The ARN of the solution that generated a related finding.
 27500  	RelatedFindingsProductArn []*StringFilter `type:"list"`
 27501  
 27502  	// The IAM profile ARN of the instance.
 27503  	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
 27504  
 27505  	// The Amazon Machine Image (AMI) ID of the instance.
 27506  	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
 27507  
 27508  	// The IPv4 addresses associated with the instance.
 27509  	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
 27510  
 27511  	// The IPv6 addresses associated with the instance.
 27512  	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
 27513  
 27514  	// The key name associated with the instance.
 27515  	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
 27516  
 27517  	// The date and time the instance was launched.
 27518  	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
 27519  
 27520  	// The identifier of the subnet that the instance was launched in.
 27521  	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
 27522  
 27523  	// The instance type of the instance.
 27524  	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
 27525  
 27526  	// The identifier of the VPC that the instance was launched in.
 27527  	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
 27528  
 27529  	// The creation date/time of the IAM access key related to a finding.
 27530  	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
 27531  
 27532  	// The name of the principal that is associated with an IAM access key.
 27533  	ResourceAwsIamAccessKeyPrincipalName []*StringFilter `type:"list"`
 27534  
 27535  	// The status of the IAM access key related to a finding.
 27536  	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
 27537  
 27538  	// The user associated with the IAM access key related to a finding.
 27539  	//
 27540  	// Deprecated: This filter is deprecated. Instead, use ResourceAwsIamAccessKeyPrincipalName.
 27541  	ResourceAwsIamAccessKeyUserName []*StringFilter `deprecated:"true" type:"list"`
 27542  
 27543  	// The name of an IAM user.
 27544  	ResourceAwsIamUserUserName []*StringFilter `type:"list"`
 27545  
 27546  	// The canonical user ID of the owner of the S3 bucket.
 27547  	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
 27548  
 27549  	// The display name of the owner of the S3 bucket.
 27550  	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
 27551  
 27552  	// The identifier of the image related to a finding.
 27553  	ResourceContainerImageId []*StringFilter `type:"list"`
 27554  
 27555  	// The name of the image related to a finding.
 27556  	ResourceContainerImageName []*StringFilter `type:"list"`
 27557  
 27558  	// The date/time that the container was started.
 27559  	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
 27560  
 27561  	// The name of the container related to a finding.
 27562  	ResourceContainerName []*StringFilter `type:"list"`
 27563  
 27564  	// The details of a resource that doesn't have a specific subfield for the resource
 27565  	// type defined.
 27566  	ResourceDetailsOther []*MapFilter `type:"list"`
 27567  
 27568  	// The canonical identifier for the given resource type.
 27569  	ResourceId []*StringFilter `type:"list"`
 27570  
 27571  	// The canonical Amazon Web Services partition name that the Region is assigned
 27572  	// to.
 27573  	ResourcePartition []*StringFilter `type:"list"`
 27574  
 27575  	// The canonical Amazon Web Services external Region name where this resource
 27576  	// is located.
 27577  	ResourceRegion []*StringFilter `type:"list"`
 27578  
 27579  	// A list of Amazon Web Services tags associated with a resource at the time
 27580  	// the finding was processed.
 27581  	ResourceTags []*MapFilter `type:"list"`
 27582  
 27583  	// Specifies the type of the resource that details are provided for.
 27584  	ResourceType []*StringFilter `type:"list"`
 27585  
 27586  	// The label of a finding's severity.
 27587  	SeverityLabel []*StringFilter `type:"list"`
 27588  
 27589  	// The normalized severity of a finding.
 27590  	//
 27591  	// Deprecated: This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel.
 27592  	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
 27593  
 27594  	// The native severity as defined by the security-findings provider's solution
 27595  	// that generated the finding.
 27596  	//
 27597  	// Deprecated: This filter is deprecated. Instead, use FindingProviderSeverityOriginal.
 27598  	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
 27599  
 27600  	// A URL that links to a page about the current finding in the security-findings
 27601  	// provider's solution.
 27602  	SourceUrl []*StringFilter `type:"list"`
 27603  
 27604  	// The category of a threat intelligence indicator.
 27605  	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
 27606  
 27607  	// The date/time of the last observation of a threat intelligence indicator.
 27608  	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
 27609  
 27610  	// The source of the threat intelligence.
 27611  	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
 27612  
 27613  	// The URL for more details from the source of the threat intelligence.
 27614  	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
 27615  
 27616  	// The type of a threat intelligence indicator.
 27617  	ThreatIntelIndicatorType []*StringFilter `type:"list"`
 27618  
 27619  	// The value of a threat intelligence indicator.
 27620  	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
 27621  
 27622  	// A finding's title.
 27623  	Title []*StringFilter `type:"list"`
 27624  
 27625  	// A finding type in the format of namespace/category/classifier that classifies
 27626  	// a finding.
 27627  	Type []*StringFilter `type:"list"`
 27628  
 27629  	// An ISO8601-formatted timestamp that indicates when the security-findings
 27630  	// provider last updated the finding record.
 27631  	UpdatedAt []*DateFilter `type:"list"`
 27632  
 27633  	// A list of name/value string pairs associated with the finding. These are
 27634  	// custom, user-defined fields added to a finding.
 27635  	UserDefinedFields []*MapFilter `type:"list"`
 27636  
 27637  	// The veracity of a finding.
 27638  	VerificationState []*StringFilter `type:"list"`
 27639  
 27640  	// The workflow state of a finding.
 27641  	//
 27642  	// Note that this field is deprecated. To search for a finding based on its
 27643  	// workflow status, use WorkflowStatus.
 27644  	WorkflowState []*StringFilter `type:"list"`
 27645  
 27646  	// The status of the investigation into a finding. Allowed values are the following.
 27647  	//
 27648  	//    * NEW - The initial state of a finding, before it is reviewed. Security
 27649  	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
 27650  	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
 27651  	//    The compliance status changes from PASSED to either WARNING, FAILED, or
 27652  	//    NOT_AVAILABLE.
 27653  	//
 27654  	//    * NOTIFIED - Indicates that the resource owner has been notified about
 27655  	//    the security issue. Used when the initial reviewer is not the resource
 27656  	//    owner, and needs intervention from the resource owner.
 27657  	//
 27658  	//    * SUPPRESSED - The finding will not be reviewed again and will not be
 27659  	//    acted upon.
 27660  	//
 27661  	//    * RESOLVED - The finding was reviewed and remediated and is now considered
 27662  	//    resolved.
 27663  	WorkflowStatus []*StringFilter `type:"list"`
 27664  }
 27665  
 27666  // String returns the string representation.
 27667  //
 27668  // API parameter values that are decorated as "sensitive" in the API will not
 27669  // be included in the string output. The member name will be present, but the
 27670  // value will be replaced with "sensitive".
 27671  func (s AwsSecurityFindingFilters) String() string {
 27672  	return awsutil.Prettify(s)
 27673  }
 27674  
 27675  // GoString returns the string representation.
 27676  //
 27677  // API parameter values that are decorated as "sensitive" in the API will not
 27678  // be included in the string output. The member name will be present, but the
 27679  // value will be replaced with "sensitive".
 27680  func (s AwsSecurityFindingFilters) GoString() string {
 27681  	return s.String()
 27682  }
 27683  
 27684  // SetAwsAccountId sets the AwsAccountId field's value.
 27685  func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
 27686  	s.AwsAccountId = v
 27687  	return s
 27688  }
 27689  
 27690  // SetCompanyName sets the CompanyName field's value.
 27691  func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
 27692  	s.CompanyName = v
 27693  	return s
 27694  }
 27695  
 27696  // SetComplianceStatus sets the ComplianceStatus field's value.
 27697  func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
 27698  	s.ComplianceStatus = v
 27699  	return s
 27700  }
 27701  
 27702  // SetConfidence sets the Confidence field's value.
 27703  func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
 27704  	s.Confidence = v
 27705  	return s
 27706  }
 27707  
 27708  // SetCreatedAt sets the CreatedAt field's value.
 27709  func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27710  	s.CreatedAt = v
 27711  	return s
 27712  }
 27713  
 27714  // SetCriticality sets the Criticality field's value.
 27715  func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
 27716  	s.Criticality = v
 27717  	return s
 27718  }
 27719  
 27720  // SetDescription sets the Description field's value.
 27721  func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
 27722  	s.Description = v
 27723  	return s
 27724  }
 27725  
 27726  // SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
 27727  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
 27728  	s.FindingProviderFieldsConfidence = v
 27729  	return s
 27730  }
 27731  
 27732  // SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
 27733  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
 27734  	s.FindingProviderFieldsCriticality = v
 27735  	return s
 27736  }
 27737  
 27738  // SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
 27739  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
 27740  	s.FindingProviderFieldsRelatedFindingsId = v
 27741  	return s
 27742  }
 27743  
 27744  // SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
 27745  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
 27746  	s.FindingProviderFieldsRelatedFindingsProductArn = v
 27747  	return s
 27748  }
 27749  
 27750  // SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
 27751  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
 27752  	s.FindingProviderFieldsSeverityLabel = v
 27753  	return s
 27754  }
 27755  
 27756  // SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
 27757  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
 27758  	s.FindingProviderFieldsSeverityOriginal = v
 27759  	return s
 27760  }
 27761  
 27762  // SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
 27763  func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
 27764  	s.FindingProviderFieldsTypes = v
 27765  	return s
 27766  }
 27767  
 27768  // SetFirstObservedAt sets the FirstObservedAt field's value.
 27769  func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27770  	s.FirstObservedAt = v
 27771  	return s
 27772  }
 27773  
 27774  // SetGeneratorId sets the GeneratorId field's value.
 27775  func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
 27776  	s.GeneratorId = v
 27777  	return s
 27778  }
 27779  
 27780  // SetId sets the Id field's value.
 27781  func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
 27782  	s.Id = v
 27783  	return s
 27784  }
 27785  
 27786  // SetKeyword sets the Keyword field's value.
 27787  func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
 27788  	s.Keyword = v
 27789  	return s
 27790  }
 27791  
 27792  // SetLastObservedAt sets the LastObservedAt field's value.
 27793  func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27794  	s.LastObservedAt = v
 27795  	return s
 27796  }
 27797  
 27798  // SetMalwareName sets the MalwareName field's value.
 27799  func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
 27800  	s.MalwareName = v
 27801  	return s
 27802  }
 27803  
 27804  // SetMalwarePath sets the MalwarePath field's value.
 27805  func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
 27806  	s.MalwarePath = v
 27807  	return s
 27808  }
 27809  
 27810  // SetMalwareState sets the MalwareState field's value.
 27811  func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
 27812  	s.MalwareState = v
 27813  	return s
 27814  }
 27815  
 27816  // SetMalwareType sets the MalwareType field's value.
 27817  func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
 27818  	s.MalwareType = v
 27819  	return s
 27820  }
 27821  
 27822  // SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
 27823  func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
 27824  	s.NetworkDestinationDomain = v
 27825  	return s
 27826  }
 27827  
 27828  // SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
 27829  func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
 27830  	s.NetworkDestinationIpV4 = v
 27831  	return s
 27832  }
 27833  
 27834  // SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
 27835  func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
 27836  	s.NetworkDestinationIpV6 = v
 27837  	return s
 27838  }
 27839  
 27840  // SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
 27841  func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
 27842  	s.NetworkDestinationPort = v
 27843  	return s
 27844  }
 27845  
 27846  // SetNetworkDirection sets the NetworkDirection field's value.
 27847  func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
 27848  	s.NetworkDirection = v
 27849  	return s
 27850  }
 27851  
 27852  // SetNetworkProtocol sets the NetworkProtocol field's value.
 27853  func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
 27854  	s.NetworkProtocol = v
 27855  	return s
 27856  }
 27857  
 27858  // SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
 27859  func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
 27860  	s.NetworkSourceDomain = v
 27861  	return s
 27862  }
 27863  
 27864  // SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
 27865  func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
 27866  	s.NetworkSourceIpV4 = v
 27867  	return s
 27868  }
 27869  
 27870  // SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
 27871  func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
 27872  	s.NetworkSourceIpV6 = v
 27873  	return s
 27874  }
 27875  
 27876  // SetNetworkSourceMac sets the NetworkSourceMac field's value.
 27877  func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
 27878  	s.NetworkSourceMac = v
 27879  	return s
 27880  }
 27881  
 27882  // SetNetworkSourcePort sets the NetworkSourcePort field's value.
 27883  func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
 27884  	s.NetworkSourcePort = v
 27885  	return s
 27886  }
 27887  
 27888  // SetNoteText sets the NoteText field's value.
 27889  func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
 27890  	s.NoteText = v
 27891  	return s
 27892  }
 27893  
 27894  // SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
 27895  func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27896  	s.NoteUpdatedAt = v
 27897  	return s
 27898  }
 27899  
 27900  // SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
 27901  func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
 27902  	s.NoteUpdatedBy = v
 27903  	return s
 27904  }
 27905  
 27906  // SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
 27907  func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27908  	s.ProcessLaunchedAt = v
 27909  	return s
 27910  }
 27911  
 27912  // SetProcessName sets the ProcessName field's value.
 27913  func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
 27914  	s.ProcessName = v
 27915  	return s
 27916  }
 27917  
 27918  // SetProcessParentPid sets the ProcessParentPid field's value.
 27919  func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
 27920  	s.ProcessParentPid = v
 27921  	return s
 27922  }
 27923  
 27924  // SetProcessPath sets the ProcessPath field's value.
 27925  func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
 27926  	s.ProcessPath = v
 27927  	return s
 27928  }
 27929  
 27930  // SetProcessPid sets the ProcessPid field's value.
 27931  func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
 27932  	s.ProcessPid = v
 27933  	return s
 27934  }
 27935  
 27936  // SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
 27937  func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 27938  	s.ProcessTerminatedAt = v
 27939  	return s
 27940  }
 27941  
 27942  // SetProductArn sets the ProductArn field's value.
 27943  func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
 27944  	s.ProductArn = v
 27945  	return s
 27946  }
 27947  
 27948  // SetProductFields sets the ProductFields field's value.
 27949  func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
 27950  	s.ProductFields = v
 27951  	return s
 27952  }
 27953  
 27954  // SetProductName sets the ProductName field's value.
 27955  func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
 27956  	s.ProductName = v
 27957  	return s
 27958  }
 27959  
 27960  // SetRecommendationText sets the RecommendationText field's value.
 27961  func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
 27962  	s.RecommendationText = v
 27963  	return s
 27964  }
 27965  
 27966  // SetRecordState sets the RecordState field's value.
 27967  func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
 27968  	s.RecordState = v
 27969  	return s
 27970  }
 27971  
 27972  // SetRegion sets the Region field's value.
 27973  func (s *AwsSecurityFindingFilters) SetRegion(v []*StringFilter) *AwsSecurityFindingFilters {
 27974  	s.Region = v
 27975  	return s
 27976  }
 27977  
 27978  // SetRelatedFindingsId sets the RelatedFindingsId field's value.
 27979  func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
 27980  	s.RelatedFindingsId = v
 27981  	return s
 27982  }
 27983  
 27984  // SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
 27985  func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
 27986  	s.RelatedFindingsProductArn = v
 27987  	return s
 27988  }
 27989  
 27990  // SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
 27991  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
 27992  	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
 27993  	return s
 27994  }
 27995  
 27996  // SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
 27997  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
 27998  	s.ResourceAwsEc2InstanceImageId = v
 27999  	return s
 28000  }
 28001  
 28002  // SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
 28003  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
 28004  	s.ResourceAwsEc2InstanceIpV4Addresses = v
 28005  	return s
 28006  }
 28007  
 28008  // SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
 28009  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
 28010  	s.ResourceAwsEc2InstanceIpV6Addresses = v
 28011  	return s
 28012  }
 28013  
 28014  // SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
 28015  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
 28016  	s.ResourceAwsEc2InstanceKeyName = v
 28017  	return s
 28018  }
 28019  
 28020  // SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
 28021  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 28022  	s.ResourceAwsEc2InstanceLaunchedAt = v
 28023  	return s
 28024  }
 28025  
 28026  // SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
 28027  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
 28028  	s.ResourceAwsEc2InstanceSubnetId = v
 28029  	return s
 28030  }
 28031  
 28032  // SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
 28033  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
 28034  	s.ResourceAwsEc2InstanceType = v
 28035  	return s
 28036  }
 28037  
 28038  // SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
 28039  func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
 28040  	s.ResourceAwsEc2InstanceVpcId = v
 28041  	return s
 28042  }
 28043  
 28044  // SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
 28045  func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 28046  	s.ResourceAwsIamAccessKeyCreatedAt = v
 28047  	return s
 28048  }
 28049  
 28050  // SetResourceAwsIamAccessKeyPrincipalName sets the ResourceAwsIamAccessKeyPrincipalName field's value.
 28051  func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyPrincipalName(v []*StringFilter) *AwsSecurityFindingFilters {
 28052  	s.ResourceAwsIamAccessKeyPrincipalName = v
 28053  	return s
 28054  }
 28055  
 28056  // SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
 28057  func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
 28058  	s.ResourceAwsIamAccessKeyStatus = v
 28059  	return s
 28060  }
 28061  
 28062  // SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
 28063  func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
 28064  	s.ResourceAwsIamAccessKeyUserName = v
 28065  	return s
 28066  }
 28067  
 28068  // SetResourceAwsIamUserUserName sets the ResourceAwsIamUserUserName field's value.
 28069  func (s *AwsSecurityFindingFilters) SetResourceAwsIamUserUserName(v []*StringFilter) *AwsSecurityFindingFilters {
 28070  	s.ResourceAwsIamUserUserName = v
 28071  	return s
 28072  }
 28073  
 28074  // SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
 28075  func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
 28076  	s.ResourceAwsS3BucketOwnerId = v
 28077  	return s
 28078  }
 28079  
 28080  // SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
 28081  func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
 28082  	s.ResourceAwsS3BucketOwnerName = v
 28083  	return s
 28084  }
 28085  
 28086  // SetResourceContainerImageId sets the ResourceContainerImageId field's value.
 28087  func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
 28088  	s.ResourceContainerImageId = v
 28089  	return s
 28090  }
 28091  
 28092  // SetResourceContainerImageName sets the ResourceContainerImageName field's value.
 28093  func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
 28094  	s.ResourceContainerImageName = v
 28095  	return s
 28096  }
 28097  
 28098  // SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
 28099  func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 28100  	s.ResourceContainerLaunchedAt = v
 28101  	return s
 28102  }
 28103  
 28104  // SetResourceContainerName sets the ResourceContainerName field's value.
 28105  func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
 28106  	s.ResourceContainerName = v
 28107  	return s
 28108  }
 28109  
 28110  // SetResourceDetailsOther sets the ResourceDetailsOther field's value.
 28111  func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
 28112  	s.ResourceDetailsOther = v
 28113  	return s
 28114  }
 28115  
 28116  // SetResourceId sets the ResourceId field's value.
 28117  func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
 28118  	s.ResourceId = v
 28119  	return s
 28120  }
 28121  
 28122  // SetResourcePartition sets the ResourcePartition field's value.
 28123  func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
 28124  	s.ResourcePartition = v
 28125  	return s
 28126  }
 28127  
 28128  // SetResourceRegion sets the ResourceRegion field's value.
 28129  func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
 28130  	s.ResourceRegion = v
 28131  	return s
 28132  }
 28133  
 28134  // SetResourceTags sets the ResourceTags field's value.
 28135  func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
 28136  	s.ResourceTags = v
 28137  	return s
 28138  }
 28139  
 28140  // SetResourceType sets the ResourceType field's value.
 28141  func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
 28142  	s.ResourceType = v
 28143  	return s
 28144  }
 28145  
 28146  // SetSeverityLabel sets the SeverityLabel field's value.
 28147  func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
 28148  	s.SeverityLabel = v
 28149  	return s
 28150  }
 28151  
 28152  // SetSeverityNormalized sets the SeverityNormalized field's value.
 28153  func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
 28154  	s.SeverityNormalized = v
 28155  	return s
 28156  }
 28157  
 28158  // SetSeverityProduct sets the SeverityProduct field's value.
 28159  func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
 28160  	s.SeverityProduct = v
 28161  	return s
 28162  }
 28163  
 28164  // SetSourceUrl sets the SourceUrl field's value.
 28165  func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
 28166  	s.SourceUrl = v
 28167  	return s
 28168  }
 28169  
 28170  // SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
 28171  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
 28172  	s.ThreatIntelIndicatorCategory = v
 28173  	return s
 28174  }
 28175  
 28176  // SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
 28177  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 28178  	s.ThreatIntelIndicatorLastObservedAt = v
 28179  	return s
 28180  }
 28181  
 28182  // SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
 28183  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
 28184  	s.ThreatIntelIndicatorSource = v
 28185  	return s
 28186  }
 28187  
 28188  // SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
 28189  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
 28190  	s.ThreatIntelIndicatorSourceUrl = v
 28191  	return s
 28192  }
 28193  
 28194  // SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
 28195  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
 28196  	s.ThreatIntelIndicatorType = v
 28197  	return s
 28198  }
 28199  
 28200  // SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
 28201  func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
 28202  	s.ThreatIntelIndicatorValue = v
 28203  	return s
 28204  }
 28205  
 28206  // SetTitle sets the Title field's value.
 28207  func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
 28208  	s.Title = v
 28209  	return s
 28210  }
 28211  
 28212  // SetType sets the Type field's value.
 28213  func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
 28214  	s.Type = v
 28215  	return s
 28216  }
 28217  
 28218  // SetUpdatedAt sets the UpdatedAt field's value.
 28219  func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
 28220  	s.UpdatedAt = v
 28221  	return s
 28222  }
 28223  
 28224  // SetUserDefinedFields sets the UserDefinedFields field's value.
 28225  func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
 28226  	s.UserDefinedFields = v
 28227  	return s
 28228  }
 28229  
 28230  // SetVerificationState sets the VerificationState field's value.
 28231  func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
 28232  	s.VerificationState = v
 28233  	return s
 28234  }
 28235  
 28236  // SetWorkflowState sets the WorkflowState field's value.
 28237  func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
 28238  	s.WorkflowState = v
 28239  	return s
 28240  }
 28241  
 28242  // SetWorkflowStatus sets the WorkflowStatus field's value.
 28243  func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
 28244  	s.WorkflowStatus = v
 28245  	return s
 28246  }
 28247  
 28248  // Identifies a finding to update using BatchUpdateFindings.
 28249  type AwsSecurityFindingIdentifier struct {
 28250  	_ struct{} `type:"structure"`
 28251  
 28252  	// The identifier of the finding that was specified by the finding provider.
 28253  	//
 28254  	// Id is a required field
 28255  	Id *string `type:"string" required:"true"`
 28256  
 28257  	// The ARN generated by Security Hub that uniquely identifies a product that
 28258  	// generates findings. This can be the ARN for a third-party product that is
 28259  	// integrated with Security Hub, or the ARN for a custom integration.
 28260  	//
 28261  	// ProductArn is a required field
 28262  	ProductArn *string `type:"string" required:"true"`
 28263  }
 28264  
 28265  // String returns the string representation.
 28266  //
 28267  // API parameter values that are decorated as "sensitive" in the API will not
 28268  // be included in the string output. The member name will be present, but the
 28269  // value will be replaced with "sensitive".
 28270  func (s AwsSecurityFindingIdentifier) String() string {
 28271  	return awsutil.Prettify(s)
 28272  }
 28273  
 28274  // GoString returns the string representation.
 28275  //
 28276  // API parameter values that are decorated as "sensitive" in the API will not
 28277  // be included in the string output. The member name will be present, but the
 28278  // value will be replaced with "sensitive".
 28279  func (s AwsSecurityFindingIdentifier) GoString() string {
 28280  	return s.String()
 28281  }
 28282  
 28283  // Validate inspects the fields of the type to determine if they are valid.
 28284  func (s *AwsSecurityFindingIdentifier) Validate() error {
 28285  	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
 28286  	if s.Id == nil {
 28287  		invalidParams.Add(request.NewErrParamRequired("Id"))
 28288  	}
 28289  	if s.ProductArn == nil {
 28290  		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
 28291  	}
 28292  
 28293  	if invalidParams.Len() > 0 {
 28294  		return invalidParams
 28295  	}
 28296  	return nil
 28297  }
 28298  
 28299  // SetId sets the Id field's value.
 28300  func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
 28301  	s.Id = &v
 28302  	return s
 28303  }
 28304  
 28305  // SetProductArn sets the ProductArn field's value.
 28306  func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
 28307  	s.ProductArn = &v
 28308  	return s
 28309  }
 28310  
 28311  // A wrapper type for the topic's ARN.
 28312  type AwsSnsTopicDetails struct {
 28313  	_ struct{} `type:"structure"`
 28314  
 28315  	// The ID of an Amazon Web Services managed key for Amazon SNS or a customer
 28316  	// managed key.
 28317  	KmsMasterKeyId *string `type:"string"`
 28318  
 28319  	// The subscription's owner.
 28320  	Owner *string `type:"string"`
 28321  
 28322  	// Subscription is an embedded property that describes the subscription endpoints
 28323  	// of an SNS topic.
 28324  	Subscription []*AwsSnsTopicSubscription `type:"list"`
 28325  
 28326  	// The name of the topic.
 28327  	TopicName *string `type:"string"`
 28328  }
 28329  
 28330  // String returns the string representation.
 28331  //
 28332  // API parameter values that are decorated as "sensitive" in the API will not
 28333  // be included in the string output. The member name will be present, but the
 28334  // value will be replaced with "sensitive".
 28335  func (s AwsSnsTopicDetails) String() string {
 28336  	return awsutil.Prettify(s)
 28337  }
 28338  
 28339  // GoString returns the string representation.
 28340  //
 28341  // API parameter values that are decorated as "sensitive" in the API will not
 28342  // be included in the string output. The member name will be present, but the
 28343  // value will be replaced with "sensitive".
 28344  func (s AwsSnsTopicDetails) GoString() string {
 28345  	return s.String()
 28346  }
 28347  
 28348  // SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
 28349  func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
 28350  	s.KmsMasterKeyId = &v
 28351  	return s
 28352  }
 28353  
 28354  // SetOwner sets the Owner field's value.
 28355  func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
 28356  	s.Owner = &v
 28357  	return s
 28358  }
 28359  
 28360  // SetSubscription sets the Subscription field's value.
 28361  func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
 28362  	s.Subscription = v
 28363  	return s
 28364  }
 28365  
 28366  // SetTopicName sets the TopicName field's value.
 28367  func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
 28368  	s.TopicName = &v
 28369  	return s
 28370  }
 28371  
 28372  // A wrapper type for the attributes of an Amazon SNS subscription.
 28373  type AwsSnsTopicSubscription struct {
 28374  	_ struct{} `type:"structure"`
 28375  
 28376  	// The subscription's endpoint (format depends on the protocol).
 28377  	Endpoint *string `type:"string"`
 28378  
 28379  	// The subscription's protocol.
 28380  	Protocol *string `type:"string"`
 28381  }
 28382  
 28383  // String returns the string representation.
 28384  //
 28385  // API parameter values that are decorated as "sensitive" in the API will not
 28386  // be included in the string output. The member name will be present, but the
 28387  // value will be replaced with "sensitive".
 28388  func (s AwsSnsTopicSubscription) String() string {
 28389  	return awsutil.Prettify(s)
 28390  }
 28391  
 28392  // GoString returns the string representation.
 28393  //
 28394  // API parameter values that are decorated as "sensitive" in the API will not
 28395  // be included in the string output. The member name will be present, but the
 28396  // value will be replaced with "sensitive".
 28397  func (s AwsSnsTopicSubscription) GoString() string {
 28398  	return s.String()
 28399  }
 28400  
 28401  // SetEndpoint sets the Endpoint field's value.
 28402  func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
 28403  	s.Endpoint = &v
 28404  	return s
 28405  }
 28406  
 28407  // SetProtocol sets the Protocol field's value.
 28408  func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
 28409  	s.Protocol = &v
 28410  	return s
 28411  }
 28412  
 28413  // Data about a queue.
 28414  type AwsSqsQueueDetails struct {
 28415  	_ struct{} `type:"structure"`
 28416  
 28417  	// The ARN of the dead-letter queue to which Amazon SQS moves messages after
 28418  	// the value of maxReceiveCount is exceeded.
 28419  	DeadLetterTargetArn *string `type:"string"`
 28420  
 28421  	// The length of time, in seconds, for which Amazon SQS can reuse a data key
 28422  	// to encrypt or decrypt messages before calling KMS again.
 28423  	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
 28424  
 28425  	// The ID of an Amazon Web Services managed key for Amazon SQS or a custom KMS
 28426  	// key.
 28427  	KmsMasterKeyId *string `type:"string"`
 28428  
 28429  	// The name of the new queue.
 28430  	QueueName *string `type:"string"`
 28431  }
 28432  
 28433  // String returns the string representation.
 28434  //
 28435  // API parameter values that are decorated as "sensitive" in the API will not
 28436  // be included in the string output. The member name will be present, but the
 28437  // value will be replaced with "sensitive".
 28438  func (s AwsSqsQueueDetails) String() string {
 28439  	return awsutil.Prettify(s)
 28440  }
 28441  
 28442  // GoString returns the string representation.
 28443  //
 28444  // API parameter values that are decorated as "sensitive" in the API will not
 28445  // be included in the string output. The member name will be present, but the
 28446  // value will be replaced with "sensitive".
 28447  func (s AwsSqsQueueDetails) GoString() string {
 28448  	return s.String()
 28449  }
 28450  
 28451  // SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
 28452  func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
 28453  	s.DeadLetterTargetArn = &v
 28454  	return s
 28455  }
 28456  
 28457  // SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
 28458  func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
 28459  	s.KmsDataKeyReusePeriodSeconds = &v
 28460  	return s
 28461  }
 28462  
 28463  // SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
 28464  func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
 28465  	s.KmsMasterKeyId = &v
 28466  	return s
 28467  }
 28468  
 28469  // SetQueueName sets the QueueName field's value.
 28470  func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
 28471  	s.QueueName = &v
 28472  	return s
 28473  }
 28474  
 28475  // Provides the details about the compliance status for a patch.
 28476  type AwsSsmComplianceSummary struct {
 28477  	_ struct{} `type:"structure"`
 28478  
 28479  	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
 28480  	// ComplianceType is Patch.
 28481  	ComplianceType *string `type:"string"`
 28482  
 28483  	// For the patches that are compliant, the number that have a severity of CRITICAL.
 28484  	CompliantCriticalCount *int64 `type:"integer"`
 28485  
 28486  	// For the patches that are compliant, the number that have a severity of HIGH.
 28487  	CompliantHighCount *int64 `type:"integer"`
 28488  
 28489  	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
 28490  	CompliantInformationalCount *int64 `type:"integer"`
 28491  
 28492  	// For the patches that are compliant, the number that have a severity of LOW.
 28493  	CompliantLowCount *int64 `type:"integer"`
 28494  
 28495  	// For the patches that are compliant, the number that have a severity of MEDIUM.
 28496  	CompliantMediumCount *int64 `type:"integer"`
 28497  
 28498  	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
 28499  	CompliantUnspecifiedCount *int64 `type:"integer"`
 28500  
 28501  	// The type of execution that was used determine compliance.
 28502  	ExecutionType *string `type:"string"`
 28503  
 28504  	// For the patch items that are noncompliant, the number of items that have
 28505  	// a severity of CRITICAL.
 28506  	NonCompliantCriticalCount *int64 `type:"integer"`
 28507  
 28508  	// For the patches that are noncompliant, the number that have a severity of
 28509  	// HIGH.
 28510  	NonCompliantHighCount *int64 `type:"integer"`
 28511  
 28512  	// For the patches that are noncompliant, the number that have a severity of
 28513  	// INFORMATIONAL.
 28514  	NonCompliantInformationalCount *int64 `type:"integer"`
 28515  
 28516  	// For the patches that are noncompliant, the number that have a severity of
 28517  	// LOW.
 28518  	NonCompliantLowCount *int64 `type:"integer"`
 28519  
 28520  	// For the patches that are noncompliant, the number that have a severity of
 28521  	// MEDIUM.
 28522  	NonCompliantMediumCount *int64 `type:"integer"`
 28523  
 28524  	// For the patches that are noncompliant, the number that have a severity of
 28525  	// UNSPECIFIED.
 28526  	NonCompliantUnspecifiedCount *int64 `type:"integer"`
 28527  
 28528  	// The highest severity for the patches.
 28529  	OverallSeverity *string `type:"string"`
 28530  
 28531  	// The identifier of the patch baseline. The patch baseline lists the patches
 28532  	// that are approved for installation.
 28533  	PatchBaselineId *string `type:"string"`
 28534  
 28535  	// The identifier of the patch group for which compliance was determined. A
 28536  	// patch group uses tags to group EC2 instances that should have the same patch
 28537  	// compliance.
 28538  	PatchGroup *string `type:"string"`
 28539  
 28540  	// The current patch compliance status.
 28541  	//
 28542  	// The possible status values are:
 28543  	//
 28544  	//    * COMPLIANT
 28545  	//
 28546  	//    * NON_COMPLIANT
 28547  	//
 28548  	//    * UNSPECIFIED_DATA
 28549  	Status *string `type:"string"`
 28550  }
 28551  
 28552  // String returns the string representation.
 28553  //
 28554  // API parameter values that are decorated as "sensitive" in the API will not
 28555  // be included in the string output. The member name will be present, but the
 28556  // value will be replaced with "sensitive".
 28557  func (s AwsSsmComplianceSummary) String() string {
 28558  	return awsutil.Prettify(s)
 28559  }
 28560  
 28561  // GoString returns the string representation.
 28562  //
 28563  // API parameter values that are decorated as "sensitive" in the API will not
 28564  // be included in the string output. The member name will be present, but the
 28565  // value will be replaced with "sensitive".
 28566  func (s AwsSsmComplianceSummary) GoString() string {
 28567  	return s.String()
 28568  }
 28569  
 28570  // SetComplianceType sets the ComplianceType field's value.
 28571  func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
 28572  	s.ComplianceType = &v
 28573  	return s
 28574  }
 28575  
 28576  // SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
 28577  func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
 28578  	s.CompliantCriticalCount = &v
 28579  	return s
 28580  }
 28581  
 28582  // SetCompliantHighCount sets the CompliantHighCount field's value.
 28583  func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
 28584  	s.CompliantHighCount = &v
 28585  	return s
 28586  }
 28587  
 28588  // SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
 28589  func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
 28590  	s.CompliantInformationalCount = &v
 28591  	return s
 28592  }
 28593  
 28594  // SetCompliantLowCount sets the CompliantLowCount field's value.
 28595  func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
 28596  	s.CompliantLowCount = &v
 28597  	return s
 28598  }
 28599  
 28600  // SetCompliantMediumCount sets the CompliantMediumCount field's value.
 28601  func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
 28602  	s.CompliantMediumCount = &v
 28603  	return s
 28604  }
 28605  
 28606  // SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
 28607  func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
 28608  	s.CompliantUnspecifiedCount = &v
 28609  	return s
 28610  }
 28611  
 28612  // SetExecutionType sets the ExecutionType field's value.
 28613  func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
 28614  	s.ExecutionType = &v
 28615  	return s
 28616  }
 28617  
 28618  // SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
 28619  func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
 28620  	s.NonCompliantCriticalCount = &v
 28621  	return s
 28622  }
 28623  
 28624  // SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
 28625  func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
 28626  	s.NonCompliantHighCount = &v
 28627  	return s
 28628  }
 28629  
 28630  // SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
 28631  func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
 28632  	s.NonCompliantInformationalCount = &v
 28633  	return s
 28634  }
 28635  
 28636  // SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
 28637  func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
 28638  	s.NonCompliantLowCount = &v
 28639  	return s
 28640  }
 28641  
 28642  // SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
 28643  func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
 28644  	s.NonCompliantMediumCount = &v
 28645  	return s
 28646  }
 28647  
 28648  // SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
 28649  func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
 28650  	s.NonCompliantUnspecifiedCount = &v
 28651  	return s
 28652  }
 28653  
 28654  // SetOverallSeverity sets the OverallSeverity field's value.
 28655  func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
 28656  	s.OverallSeverity = &v
 28657  	return s
 28658  }
 28659  
 28660  // SetPatchBaselineId sets the PatchBaselineId field's value.
 28661  func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
 28662  	s.PatchBaselineId = &v
 28663  	return s
 28664  }
 28665  
 28666  // SetPatchGroup sets the PatchGroup field's value.
 28667  func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
 28668  	s.PatchGroup = &v
 28669  	return s
 28670  }
 28671  
 28672  // SetStatus sets the Status field's value.
 28673  func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
 28674  	s.Status = &v
 28675  	return s
 28676  }
 28677  
 28678  // Provides details about the compliance for a patch.
 28679  type AwsSsmPatch struct {
 28680  	_ struct{} `type:"structure"`
 28681  
 28682  	// The compliance status details for the patch.
 28683  	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
 28684  }
 28685  
 28686  // String returns the string representation.
 28687  //
 28688  // API parameter values that are decorated as "sensitive" in the API will not
 28689  // be included in the string output. The member name will be present, but the
 28690  // value will be replaced with "sensitive".
 28691  func (s AwsSsmPatch) String() string {
 28692  	return awsutil.Prettify(s)
 28693  }
 28694  
 28695  // GoString returns the string representation.
 28696  //
 28697  // API parameter values that are decorated as "sensitive" in the API will not
 28698  // be included in the string output. The member name will be present, but the
 28699  // value will be replaced with "sensitive".
 28700  func (s AwsSsmPatch) GoString() string {
 28701  	return s.String()
 28702  }
 28703  
 28704  // SetComplianceSummary sets the ComplianceSummary field's value.
 28705  func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
 28706  	s.ComplianceSummary = v
 28707  	return s
 28708  }
 28709  
 28710  // Provides information about the state of a patch on an instance based on the
 28711  // patch baseline that was used to patch the instance.
 28712  type AwsSsmPatchComplianceDetails struct {
 28713  	_ struct{} `type:"structure"`
 28714  
 28715  	// Information about the status of a patch.
 28716  	Patch *AwsSsmPatch `type:"structure"`
 28717  }
 28718  
 28719  // String returns the string representation.
 28720  //
 28721  // API parameter values that are decorated as "sensitive" in the API will not
 28722  // be included in the string output. The member name will be present, but the
 28723  // value will be replaced with "sensitive".
 28724  func (s AwsSsmPatchComplianceDetails) String() string {
 28725  	return awsutil.Prettify(s)
 28726  }
 28727  
 28728  // GoString returns the string representation.
 28729  //
 28730  // API parameter values that are decorated as "sensitive" in the API will not
 28731  // be included in the string output. The member name will be present, but the
 28732  // value will be replaced with "sensitive".
 28733  func (s AwsSsmPatchComplianceDetails) GoString() string {
 28734  	return s.String()
 28735  }
 28736  
 28737  // SetPatch sets the Patch field's value.
 28738  func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
 28739  	s.Patch = v
 28740  	return s
 28741  }
 28742  
 28743  // Details about a rate-based rule for global resources. A rate-based rule provides
 28744  // settings to indicate when to allow, block, or count a request. Rate-based
 28745  // rules include the number of requests that arrive over a specified period
 28746  // of time.
 28747  type AwsWafRateBasedRuleDetails struct {
 28748  	_ struct{} `type:"structure"`
 28749  
 28750  	// The predicates to include in the rate-based rule.
 28751  	MatchPredicates []*AwsWafRateBasedRuleMatchPredicate `type:"list"`
 28752  
 28753  	// The name of the metrics for the rate-based rule.
 28754  	MetricName *string `type:"string"`
 28755  
 28756  	// The name of the rate-based rule.
 28757  	Name *string `type:"string"`
 28758  
 28759  	// The field that WAF uses to determine whether requests are likely arriving
 28760  	// from single source and are subject to rate monitoring.
 28761  	RateKey *string `type:"string"`
 28762  
 28763  	// The maximum number of requests that have an identical value for the field
 28764  	// specified in RateKey that are allowed within a five-minute period. If the
 28765  	// number of requests exceeds RateLimit and the other predicates specified in
 28766  	// the rule are met, WAF triggers the action for the rule.
 28767  	RateLimit *int64 `type:"long"`
 28768  
 28769  	// The unique identifier for the rate-based rule.
 28770  	RuleId *string `type:"string"`
 28771  }
 28772  
 28773  // String returns the string representation.
 28774  //
 28775  // API parameter values that are decorated as "sensitive" in the API will not
 28776  // be included in the string output. The member name will be present, but the
 28777  // value will be replaced with "sensitive".
 28778  func (s AwsWafRateBasedRuleDetails) String() string {
 28779  	return awsutil.Prettify(s)
 28780  }
 28781  
 28782  // GoString returns the string representation.
 28783  //
 28784  // API parameter values that are decorated as "sensitive" in the API will not
 28785  // be included in the string output. The member name will be present, but the
 28786  // value will be replaced with "sensitive".
 28787  func (s AwsWafRateBasedRuleDetails) GoString() string {
 28788  	return s.String()
 28789  }
 28790  
 28791  // SetMatchPredicates sets the MatchPredicates field's value.
 28792  func (s *AwsWafRateBasedRuleDetails) SetMatchPredicates(v []*AwsWafRateBasedRuleMatchPredicate) *AwsWafRateBasedRuleDetails {
 28793  	s.MatchPredicates = v
 28794  	return s
 28795  }
 28796  
 28797  // SetMetricName sets the MetricName field's value.
 28798  func (s *AwsWafRateBasedRuleDetails) SetMetricName(v string) *AwsWafRateBasedRuleDetails {
 28799  	s.MetricName = &v
 28800  	return s
 28801  }
 28802  
 28803  // SetName sets the Name field's value.
 28804  func (s *AwsWafRateBasedRuleDetails) SetName(v string) *AwsWafRateBasedRuleDetails {
 28805  	s.Name = &v
 28806  	return s
 28807  }
 28808  
 28809  // SetRateKey sets the RateKey field's value.
 28810  func (s *AwsWafRateBasedRuleDetails) SetRateKey(v string) *AwsWafRateBasedRuleDetails {
 28811  	s.RateKey = &v
 28812  	return s
 28813  }
 28814  
 28815  // SetRateLimit sets the RateLimit field's value.
 28816  func (s *AwsWafRateBasedRuleDetails) SetRateLimit(v int64) *AwsWafRateBasedRuleDetails {
 28817  	s.RateLimit = &v
 28818  	return s
 28819  }
 28820  
 28821  // SetRuleId sets the RuleId field's value.
 28822  func (s *AwsWafRateBasedRuleDetails) SetRuleId(v string) *AwsWafRateBasedRuleDetails {
 28823  	s.RuleId = &v
 28824  	return s
 28825  }
 28826  
 28827  // A match predicate. A predicate might look for characteristics such as specific
 28828  // IP addresses, geographic locations, or sizes.
 28829  type AwsWafRateBasedRuleMatchPredicate struct {
 28830  	_ struct{} `type:"structure"`
 28831  
 28832  	// The unique identifier for the predicate.
 28833  	DataId *string `type:"string"`
 28834  
 28835  	// If set to true, then the rule actions are performed on requests that match
 28836  	// the predicate settings.
 28837  	//
 28838  	// If set to false, then the rule actions are performed on all requests except
 28839  	// those that match the predicate settings.
 28840  	Negated *bool `type:"boolean"`
 28841  
 28842  	// The type of predicate.
 28843  	Type *string `type:"string"`
 28844  }
 28845  
 28846  // String returns the string representation.
 28847  //
 28848  // API parameter values that are decorated as "sensitive" in the API will not
 28849  // be included in the string output. The member name will be present, but the
 28850  // value will be replaced with "sensitive".
 28851  func (s AwsWafRateBasedRuleMatchPredicate) String() string {
 28852  	return awsutil.Prettify(s)
 28853  }
 28854  
 28855  // GoString returns the string representation.
 28856  //
 28857  // API parameter values that are decorated as "sensitive" in the API will not
 28858  // be included in the string output. The member name will be present, but the
 28859  // value will be replaced with "sensitive".
 28860  func (s AwsWafRateBasedRuleMatchPredicate) GoString() string {
 28861  	return s.String()
 28862  }
 28863  
 28864  // SetDataId sets the DataId field's value.
 28865  func (s *AwsWafRateBasedRuleMatchPredicate) SetDataId(v string) *AwsWafRateBasedRuleMatchPredicate {
 28866  	s.DataId = &v
 28867  	return s
 28868  }
 28869  
 28870  // SetNegated sets the Negated field's value.
 28871  func (s *AwsWafRateBasedRuleMatchPredicate) SetNegated(v bool) *AwsWafRateBasedRuleMatchPredicate {
 28872  	s.Negated = &v
 28873  	return s
 28874  }
 28875  
 28876  // SetType sets the Type field's value.
 28877  func (s *AwsWafRateBasedRuleMatchPredicate) SetType(v string) *AwsWafRateBasedRuleMatchPredicate {
 28878  	s.Type = &v
 28879  	return s
 28880  }
 28881  
 28882  // contains details about a rate-based rule for Regional resources. A rate-based
 28883  // rule provides settings to indicate when to allow, block, or count a request.
 28884  // Rate-based rules include the number of requests that arrive over a specified
 28885  // period of time.
 28886  type AwsWafRegionalRateBasedRuleDetails struct {
 28887  	_ struct{} `type:"structure"`
 28888  
 28889  	// The predicates to include in the rate-based rule.
 28890  	MatchPredicates []*AwsWafRegionalRateBasedRuleMatchPredicate `type:"list"`
 28891  
 28892  	// The name of the metrics for the rate-based rule.
 28893  	MetricName *string `type:"string"`
 28894  
 28895  	// The name of the rate-based rule.
 28896  	Name *string `type:"string"`
 28897  
 28898  	// The field that WAF uses to determine whether requests are likely arriving
 28899  	// from single source and are subject to rate monitoring.
 28900  	RateKey *string `type:"string"`
 28901  
 28902  	// The maximum number of requests that have an identical value for the field
 28903  	// specified in RateKey that are allowed within a five-minute period. If the
 28904  	// number of requests exceeds RateLimit and the other predicates specified in
 28905  	// the rule are met, WAF triggers the action for the rule.
 28906  	RateLimit *int64 `type:"long"`
 28907  
 28908  	// The unique identifier for the rate-based rule.
 28909  	RuleId *string `type:"string"`
 28910  }
 28911  
 28912  // String returns the string representation.
 28913  //
 28914  // API parameter values that are decorated as "sensitive" in the API will not
 28915  // be included in the string output. The member name will be present, but the
 28916  // value will be replaced with "sensitive".
 28917  func (s AwsWafRegionalRateBasedRuleDetails) String() string {
 28918  	return awsutil.Prettify(s)
 28919  }
 28920  
 28921  // GoString returns the string representation.
 28922  //
 28923  // API parameter values that are decorated as "sensitive" in the API will not
 28924  // be included in the string output. The member name will be present, but the
 28925  // value will be replaced with "sensitive".
 28926  func (s AwsWafRegionalRateBasedRuleDetails) GoString() string {
 28927  	return s.String()
 28928  }
 28929  
 28930  // SetMatchPredicates sets the MatchPredicates field's value.
 28931  func (s *AwsWafRegionalRateBasedRuleDetails) SetMatchPredicates(v []*AwsWafRegionalRateBasedRuleMatchPredicate) *AwsWafRegionalRateBasedRuleDetails {
 28932  	s.MatchPredicates = v
 28933  	return s
 28934  }
 28935  
 28936  // SetMetricName sets the MetricName field's value.
 28937  func (s *AwsWafRegionalRateBasedRuleDetails) SetMetricName(v string) *AwsWafRegionalRateBasedRuleDetails {
 28938  	s.MetricName = &v
 28939  	return s
 28940  }
 28941  
 28942  // SetName sets the Name field's value.
 28943  func (s *AwsWafRegionalRateBasedRuleDetails) SetName(v string) *AwsWafRegionalRateBasedRuleDetails {
 28944  	s.Name = &v
 28945  	return s
 28946  }
 28947  
 28948  // SetRateKey sets the RateKey field's value.
 28949  func (s *AwsWafRegionalRateBasedRuleDetails) SetRateKey(v string) *AwsWafRegionalRateBasedRuleDetails {
 28950  	s.RateKey = &v
 28951  	return s
 28952  }
 28953  
 28954  // SetRateLimit sets the RateLimit field's value.
 28955  func (s *AwsWafRegionalRateBasedRuleDetails) SetRateLimit(v int64) *AwsWafRegionalRateBasedRuleDetails {
 28956  	s.RateLimit = &v
 28957  	return s
 28958  }
 28959  
 28960  // SetRuleId sets the RuleId field's value.
 28961  func (s *AwsWafRegionalRateBasedRuleDetails) SetRuleId(v string) *AwsWafRegionalRateBasedRuleDetails {
 28962  	s.RuleId = &v
 28963  	return s
 28964  }
 28965  
 28966  // Details for a match predicate. A predicate might look for characteristics
 28967  // such as specific IP addresses, geographic locations, or sizes.
 28968  type AwsWafRegionalRateBasedRuleMatchPredicate struct {
 28969  	_ struct{} `type:"structure"`
 28970  
 28971  	// The unique identifier for the predicate.
 28972  	DataId *string `type:"string"`
 28973  
 28974  	// If set to true, then the rule actions are performed on requests that match
 28975  	// the predicate settings.
 28976  	//
 28977  	// If set to false, then the rule actions are performed on all requests except
 28978  	// those that match the predicate settings.
 28979  	Negated *bool `type:"boolean"`
 28980  
 28981  	// The type of predicate.
 28982  	Type *string `type:"string"`
 28983  }
 28984  
 28985  // String returns the string representation.
 28986  //
 28987  // API parameter values that are decorated as "sensitive" in the API will not
 28988  // be included in the string output. The member name will be present, but the
 28989  // value will be replaced with "sensitive".
 28990  func (s AwsWafRegionalRateBasedRuleMatchPredicate) String() string {
 28991  	return awsutil.Prettify(s)
 28992  }
 28993  
 28994  // GoString returns the string representation.
 28995  //
 28996  // API parameter values that are decorated as "sensitive" in the API will not
 28997  // be included in the string output. The member name will be present, but the
 28998  // value will be replaced with "sensitive".
 28999  func (s AwsWafRegionalRateBasedRuleMatchPredicate) GoString() string {
 29000  	return s.String()
 29001  }
 29002  
 29003  // SetDataId sets the DataId field's value.
 29004  func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetDataId(v string) *AwsWafRegionalRateBasedRuleMatchPredicate {
 29005  	s.DataId = &v
 29006  	return s
 29007  }
 29008  
 29009  // SetNegated sets the Negated field's value.
 29010  func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetNegated(v bool) *AwsWafRegionalRateBasedRuleMatchPredicate {
 29011  	s.Negated = &v
 29012  	return s
 29013  }
 29014  
 29015  // SetType sets the Type field's value.
 29016  func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetType(v string) *AwsWafRegionalRateBasedRuleMatchPredicate {
 29017  	s.Type = &v
 29018  	return s
 29019  }
 29020  
 29021  // Details about an WAF WebACL.
 29022  type AwsWafWebAclDetails struct {
 29023  	_ struct{} `type:"structure"`
 29024  
 29025  	// The action to perform if none of the rules contained in the WebACL match.
 29026  	DefaultAction *string `type:"string"`
 29027  
 29028  	// A friendly name or description of the WebACL. You can't change the name of
 29029  	// a WebACL after you create it.
 29030  	Name *string `type:"string"`
 29031  
 29032  	// An array that contains the action for each rule in a WebACL, the priority
 29033  	// of the rule, and the ID of the rule.
 29034  	Rules []*AwsWafWebAclRule `type:"list"`
 29035  
 29036  	// A unique identifier for a WebACL.
 29037  	WebAclId *string `type:"string"`
 29038  }
 29039  
 29040  // String returns the string representation.
 29041  //
 29042  // API parameter values that are decorated as "sensitive" in the API will not
 29043  // be included in the string output. The member name will be present, but the
 29044  // value will be replaced with "sensitive".
 29045  func (s AwsWafWebAclDetails) String() string {
 29046  	return awsutil.Prettify(s)
 29047  }
 29048  
 29049  // GoString returns the string representation.
 29050  //
 29051  // API parameter values that are decorated as "sensitive" in the API will not
 29052  // be included in the string output. The member name will be present, but the
 29053  // value will be replaced with "sensitive".
 29054  func (s AwsWafWebAclDetails) GoString() string {
 29055  	return s.String()
 29056  }
 29057  
 29058  // SetDefaultAction sets the DefaultAction field's value.
 29059  func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
 29060  	s.DefaultAction = &v
 29061  	return s
 29062  }
 29063  
 29064  // SetName sets the Name field's value.
 29065  func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
 29066  	s.Name = &v
 29067  	return s
 29068  }
 29069  
 29070  // SetRules sets the Rules field's value.
 29071  func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
 29072  	s.Rules = v
 29073  	return s
 29074  }
 29075  
 29076  // SetWebAclId sets the WebAclId field's value.
 29077  func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
 29078  	s.WebAclId = &v
 29079  	return s
 29080  }
 29081  
 29082  // Details for a rule in an WAF WebACL.
 29083  type AwsWafWebAclRule struct {
 29084  	_ struct{} `type:"structure"`
 29085  
 29086  	// Specifies the action that CloudFront or WAF takes when a web request matches
 29087  	// the conditions in the rule.
 29088  	Action *WafAction `type:"structure"`
 29089  
 29090  	// Rules to exclude from a rule group.
 29091  	ExcludedRules []*WafExcludedRule `type:"list"`
 29092  
 29093  	// Use the OverrideAction to test your RuleGroup.
 29094  	//
 29095  	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
 29096  	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
 29097  	// matches the request and is configured to block that request.
 29098  	//
 29099  	// However, if you first want to test the RuleGroup, set the OverrideAction
 29100  	// to Count. The RuleGroup then overrides any block action specified by individual
 29101  	// rules contained within the group. Instead of blocking matching requests,
 29102  	// those requests are counted.
 29103  	//
 29104  	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
 29105  	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
 29106  	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
 29107  	OverrideAction *WafOverrideAction `type:"structure"`
 29108  
 29109  	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
 29110  	// a lower value for Priority are evaluated before rules with a higher value.
 29111  	// The value must be a unique integer. If you add multiple rules to a WebACL,
 29112  	// the values do not need to be consecutive.
 29113  	Priority *int64 `type:"integer"`
 29114  
 29115  	// The identifier for a rule.
 29116  	RuleId *string `type:"string"`
 29117  
 29118  	// The rule type.
 29119  	//
 29120  	// Valid values: REGULAR | RATE_BASED | GROUP
 29121  	//
 29122  	// The default is REGULAR.
 29123  	Type *string `type:"string"`
 29124  }
 29125  
 29126  // String returns the string representation.
 29127  //
 29128  // API parameter values that are decorated as "sensitive" in the API will not
 29129  // be included in the string output. The member name will be present, but the
 29130  // value will be replaced with "sensitive".
 29131  func (s AwsWafWebAclRule) String() string {
 29132  	return awsutil.Prettify(s)
 29133  }
 29134  
 29135  // GoString returns the string representation.
 29136  //
 29137  // API parameter values that are decorated as "sensitive" in the API will not
 29138  // be included in the string output. The member name will be present, but the
 29139  // value will be replaced with "sensitive".
 29140  func (s AwsWafWebAclRule) GoString() string {
 29141  	return s.String()
 29142  }
 29143  
 29144  // SetAction sets the Action field's value.
 29145  func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
 29146  	s.Action = v
 29147  	return s
 29148  }
 29149  
 29150  // SetExcludedRules sets the ExcludedRules field's value.
 29151  func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
 29152  	s.ExcludedRules = v
 29153  	return s
 29154  }
 29155  
 29156  // SetOverrideAction sets the OverrideAction field's value.
 29157  func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
 29158  	s.OverrideAction = v
 29159  	return s
 29160  }
 29161  
 29162  // SetPriority sets the Priority field's value.
 29163  func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
 29164  	s.Priority = &v
 29165  	return s
 29166  }
 29167  
 29168  // SetRuleId sets the RuleId field's value.
 29169  func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
 29170  	s.RuleId = &v
 29171  	return s
 29172  }
 29173  
 29174  // SetType sets the Type field's value.
 29175  func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
 29176  	s.Type = &v
 29177  	return s
 29178  }
 29179  
 29180  // Information about the encryption configuration for X-Ray.
 29181  type AwsXrayEncryptionConfigDetails struct {
 29182  	_ struct{} `type:"structure"`
 29183  
 29184  	// The identifier of the KMS key that is used for encryption. Provided if Type
 29185  	// is KMS.
 29186  	KeyId *string `type:"string"`
 29187  
 29188  	// The current status of the encryption configuration. When Status is UPDATING,
 29189  	// X-Ray might use both the old and new encryption.
 29190  	Status *string `type:"string"`
 29191  
 29192  	// The type of encryption. KMS indicates that the encryption uses KMS keys.
 29193  	// NONE indicates to use the default encryption.
 29194  	Type *string `type:"string"`
 29195  }
 29196  
 29197  // String returns the string representation.
 29198  //
 29199  // API parameter values that are decorated as "sensitive" in the API will not
 29200  // be included in the string output. The member name will be present, but the
 29201  // value will be replaced with "sensitive".
 29202  func (s AwsXrayEncryptionConfigDetails) String() string {
 29203  	return awsutil.Prettify(s)
 29204  }
 29205  
 29206  // GoString returns the string representation.
 29207  //
 29208  // API parameter values that are decorated as "sensitive" in the API will not
 29209  // be included in the string output. The member name will be present, but the
 29210  // value will be replaced with "sensitive".
 29211  func (s AwsXrayEncryptionConfigDetails) GoString() string {
 29212  	return s.String()
 29213  }
 29214  
 29215  // SetKeyId sets the KeyId field's value.
 29216  func (s *AwsXrayEncryptionConfigDetails) SetKeyId(v string) *AwsXrayEncryptionConfigDetails {
 29217  	s.KeyId = &v
 29218  	return s
 29219  }
 29220  
 29221  // SetStatus sets the Status field's value.
 29222  func (s *AwsXrayEncryptionConfigDetails) SetStatus(v string) *AwsXrayEncryptionConfigDetails {
 29223  	s.Status = &v
 29224  	return s
 29225  }
 29226  
 29227  // SetType sets the Type field's value.
 29228  func (s *AwsXrayEncryptionConfigDetails) SetType(v string) *AwsXrayEncryptionConfigDetails {
 29229  	s.Type = &v
 29230  	return s
 29231  }
 29232  
 29233  type BatchDisableStandardsInput struct {
 29234  	_ struct{} `type:"structure"`
 29235  
 29236  	// The ARNs of the standards subscriptions to disable.
 29237  	//
 29238  	// StandardsSubscriptionArns is a required field
 29239  	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
 29240  }
 29241  
 29242  // String returns the string representation.
 29243  //
 29244  // API parameter values that are decorated as "sensitive" in the API will not
 29245  // be included in the string output. The member name will be present, but the
 29246  // value will be replaced with "sensitive".
 29247  func (s BatchDisableStandardsInput) String() string {
 29248  	return awsutil.Prettify(s)
 29249  }
 29250  
 29251  // GoString returns the string representation.
 29252  //
 29253  // API parameter values that are decorated as "sensitive" in the API will not
 29254  // be included in the string output. The member name will be present, but the
 29255  // value will be replaced with "sensitive".
 29256  func (s BatchDisableStandardsInput) GoString() string {
 29257  	return s.String()
 29258  }
 29259  
 29260  // Validate inspects the fields of the type to determine if they are valid.
 29261  func (s *BatchDisableStandardsInput) Validate() error {
 29262  	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
 29263  	if s.StandardsSubscriptionArns == nil {
 29264  		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
 29265  	}
 29266  	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
 29267  		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
 29268  	}
 29269  
 29270  	if invalidParams.Len() > 0 {
 29271  		return invalidParams
 29272  	}
 29273  	return nil
 29274  }
 29275  
 29276  // SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
 29277  func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
 29278  	s.StandardsSubscriptionArns = v
 29279  	return s
 29280  }
 29281  
 29282  type BatchDisableStandardsOutput struct {
 29283  	_ struct{} `type:"structure"`
 29284  
 29285  	// The details of the standards subscriptions that were disabled.
 29286  	StandardsSubscriptions []*StandardsSubscription `type:"list"`
 29287  }
 29288  
 29289  // String returns the string representation.
 29290  //
 29291  // API parameter values that are decorated as "sensitive" in the API will not
 29292  // be included in the string output. The member name will be present, but the
 29293  // value will be replaced with "sensitive".
 29294  func (s BatchDisableStandardsOutput) String() string {
 29295  	return awsutil.Prettify(s)
 29296  }
 29297  
 29298  // GoString returns the string representation.
 29299  //
 29300  // API parameter values that are decorated as "sensitive" in the API will not
 29301  // be included in the string output. The member name will be present, but the
 29302  // value will be replaced with "sensitive".
 29303  func (s BatchDisableStandardsOutput) GoString() string {
 29304  	return s.String()
 29305  }
 29306  
 29307  // SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
 29308  func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
 29309  	s.StandardsSubscriptions = v
 29310  	return s
 29311  }
 29312  
 29313  type BatchEnableStandardsInput struct {
 29314  	_ struct{} `type:"structure"`
 29315  
 29316  	// The list of standards checks to enable.
 29317  	//
 29318  	// StandardsSubscriptionRequests is a required field
 29319  	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
 29320  }
 29321  
 29322  // String returns the string representation.
 29323  //
 29324  // API parameter values that are decorated as "sensitive" in the API will not
 29325  // be included in the string output. The member name will be present, but the
 29326  // value will be replaced with "sensitive".
 29327  func (s BatchEnableStandardsInput) String() string {
 29328  	return awsutil.Prettify(s)
 29329  }
 29330  
 29331  // GoString returns the string representation.
 29332  //
 29333  // API parameter values that are decorated as "sensitive" in the API will not
 29334  // be included in the string output. The member name will be present, but the
 29335  // value will be replaced with "sensitive".
 29336  func (s BatchEnableStandardsInput) GoString() string {
 29337  	return s.String()
 29338  }
 29339  
 29340  // Validate inspects the fields of the type to determine if they are valid.
 29341  func (s *BatchEnableStandardsInput) Validate() error {
 29342  	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
 29343  	if s.StandardsSubscriptionRequests == nil {
 29344  		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
 29345  	}
 29346  	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
 29347  		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
 29348  	}
 29349  	if s.StandardsSubscriptionRequests != nil {
 29350  		for i, v := range s.StandardsSubscriptionRequests {
 29351  			if v == nil {
 29352  				continue
 29353  			}
 29354  			if err := v.Validate(); err != nil {
 29355  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
 29356  			}
 29357  		}
 29358  	}
 29359  
 29360  	if invalidParams.Len() > 0 {
 29361  		return invalidParams
 29362  	}
 29363  	return nil
 29364  }
 29365  
 29366  // SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
 29367  func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
 29368  	s.StandardsSubscriptionRequests = v
 29369  	return s
 29370  }
 29371  
 29372  type BatchEnableStandardsOutput struct {
 29373  	_ struct{} `type:"structure"`
 29374  
 29375  	// The details of the standards subscriptions that were enabled.
 29376  	StandardsSubscriptions []*StandardsSubscription `type:"list"`
 29377  }
 29378  
 29379  // String returns the string representation.
 29380  //
 29381  // API parameter values that are decorated as "sensitive" in the API will not
 29382  // be included in the string output. The member name will be present, but the
 29383  // value will be replaced with "sensitive".
 29384  func (s BatchEnableStandardsOutput) String() string {
 29385  	return awsutil.Prettify(s)
 29386  }
 29387  
 29388  // GoString returns the string representation.
 29389  //
 29390  // API parameter values that are decorated as "sensitive" in the API will not
 29391  // be included in the string output. The member name will be present, but the
 29392  // value will be replaced with "sensitive".
 29393  func (s BatchEnableStandardsOutput) GoString() string {
 29394  	return s.String()
 29395  }
 29396  
 29397  // SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
 29398  func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
 29399  	s.StandardsSubscriptions = v
 29400  	return s
 29401  }
 29402  
 29403  type BatchImportFindingsInput struct {
 29404  	_ struct{} `type:"structure"`
 29405  
 29406  	// A list of findings to import. To successfully import a finding, it must follow
 29407  	// the Amazon Web Services Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
 29408  	// Maximum of 100 findings per request.
 29409  	//
 29410  	// Findings is a required field
 29411  	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
 29412  }
 29413  
 29414  // String returns the string representation.
 29415  //
 29416  // API parameter values that are decorated as "sensitive" in the API will not
 29417  // be included in the string output. The member name will be present, but the
 29418  // value will be replaced with "sensitive".
 29419  func (s BatchImportFindingsInput) String() string {
 29420  	return awsutil.Prettify(s)
 29421  }
 29422  
 29423  // GoString returns the string representation.
 29424  //
 29425  // API parameter values that are decorated as "sensitive" in the API will not
 29426  // be included in the string output. The member name will be present, but the
 29427  // value will be replaced with "sensitive".
 29428  func (s BatchImportFindingsInput) GoString() string {
 29429  	return s.String()
 29430  }
 29431  
 29432  // Validate inspects the fields of the type to determine if they are valid.
 29433  func (s *BatchImportFindingsInput) Validate() error {
 29434  	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
 29435  	if s.Findings == nil {
 29436  		invalidParams.Add(request.NewErrParamRequired("Findings"))
 29437  	}
 29438  	if s.Findings != nil && len(s.Findings) < 1 {
 29439  		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
 29440  	}
 29441  	if s.Findings != nil {
 29442  		for i, v := range s.Findings {
 29443  			if v == nil {
 29444  				continue
 29445  			}
 29446  			if err := v.Validate(); err != nil {
 29447  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
 29448  			}
 29449  		}
 29450  	}
 29451  
 29452  	if invalidParams.Len() > 0 {
 29453  		return invalidParams
 29454  	}
 29455  	return nil
 29456  }
 29457  
 29458  // SetFindings sets the Findings field's value.
 29459  func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
 29460  	s.Findings = v
 29461  	return s
 29462  }
 29463  
 29464  type BatchImportFindingsOutput struct {
 29465  	_ struct{} `type:"structure"`
 29466  
 29467  	// The number of findings that failed to import.
 29468  	//
 29469  	// FailedCount is a required field
 29470  	FailedCount *int64 `type:"integer" required:"true"`
 29471  
 29472  	// The list of findings that failed to import.
 29473  	FailedFindings []*ImportFindingsError `type:"list"`
 29474  
 29475  	// The number of findings that were successfully imported.
 29476  	//
 29477  	// SuccessCount is a required field
 29478  	SuccessCount *int64 `type:"integer" required:"true"`
 29479  }
 29480  
 29481  // String returns the string representation.
 29482  //
 29483  // API parameter values that are decorated as "sensitive" in the API will not
 29484  // be included in the string output. The member name will be present, but the
 29485  // value will be replaced with "sensitive".
 29486  func (s BatchImportFindingsOutput) String() string {
 29487  	return awsutil.Prettify(s)
 29488  }
 29489  
 29490  // GoString returns the string representation.
 29491  //
 29492  // API parameter values that are decorated as "sensitive" in the API will not
 29493  // be included in the string output. The member name will be present, but the
 29494  // value will be replaced with "sensitive".
 29495  func (s BatchImportFindingsOutput) GoString() string {
 29496  	return s.String()
 29497  }
 29498  
 29499  // SetFailedCount sets the FailedCount field's value.
 29500  func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
 29501  	s.FailedCount = &v
 29502  	return s
 29503  }
 29504  
 29505  // SetFailedFindings sets the FailedFindings field's value.
 29506  func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
 29507  	s.FailedFindings = v
 29508  	return s
 29509  }
 29510  
 29511  // SetSuccessCount sets the SuccessCount field's value.
 29512  func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
 29513  	s.SuccessCount = &v
 29514  	return s
 29515  }
 29516  
 29517  type BatchUpdateFindingsInput struct {
 29518  	_ struct{} `type:"structure"`
 29519  
 29520  	// The updated value for the finding confidence. Confidence is defined as the
 29521  	// likelihood that a finding accurately identifies the behavior or issue that
 29522  	// it was intended to identify.
 29523  	//
 29524  	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
 29525  	// zero percent confidence and 100 means 100 percent confidence.
 29526  	Confidence *int64 `type:"integer"`
 29527  
 29528  	// The updated value for the level of importance assigned to the resources associated
 29529  	// with the findings.
 29530  	//
 29531  	// A score of 0 means that the underlying resources have no criticality, and
 29532  	// a score of 100 is reserved for the most critical resources.
 29533  	Criticality *int64 `type:"integer"`
 29534  
 29535  	// The list of findings to update. BatchUpdateFindings can be used to update
 29536  	// up to 100 findings at a time.
 29537  	//
 29538  	// For each finding, the list provides the finding identifier and the ARN of
 29539  	// the finding provider.
 29540  	//
 29541  	// FindingIdentifiers is a required field
 29542  	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
 29543  
 29544  	// The updated note.
 29545  	Note *NoteUpdate `type:"structure"`
 29546  
 29547  	// A list of findings that are related to the updated findings.
 29548  	RelatedFindings []*RelatedFinding `type:"list"`
 29549  
 29550  	// Used to update the finding severity.
 29551  	Severity *SeverityUpdate `type:"structure"`
 29552  
 29553  	// One or more finding types in the format of namespace/category/classifier
 29554  	// that classify a finding.
 29555  	//
 29556  	// Valid namespace values are as follows.
 29557  	//
 29558  	//    * Software and Configuration Checks
 29559  	//
 29560  	//    * TTPs
 29561  	//
 29562  	//    * Effects
 29563  	//
 29564  	//    * Unusual Behaviors
 29565  	//
 29566  	//    * Sensitive Data Identifications
 29567  	Types []*string `type:"list"`
 29568  
 29569  	// A list of name/value string pairs associated with the finding. These are
 29570  	// custom, user-defined fields added to a finding.
 29571  	UserDefinedFields map[string]*string `type:"map"`
 29572  
 29573  	// Indicates the veracity of a finding.
 29574  	//
 29575  	// The available values for VerificationState are as follows.
 29576  	//
 29577  	//    * UNKNOWN – The default disposition of a security finding
 29578  	//
 29579  	//    * TRUE_POSITIVE – The security finding is confirmed
 29580  	//
 29581  	//    * FALSE_POSITIVE – The security finding was determined to be a false
 29582  	//    alarm
 29583  	//
 29584  	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
 29585  	//    doesn't pose any threat, is expected, or both
 29586  	VerificationState *string `type:"string" enum:"VerificationState"`
 29587  
 29588  	// Used to update the workflow status of a finding.
 29589  	//
 29590  	// The workflow status indicates the progress of the investigation into the
 29591  	// finding.
 29592  	Workflow *WorkflowUpdate `type:"structure"`
 29593  }
 29594  
 29595  // String returns the string representation.
 29596  //
 29597  // API parameter values that are decorated as "sensitive" in the API will not
 29598  // be included in the string output. The member name will be present, but the
 29599  // value will be replaced with "sensitive".
 29600  func (s BatchUpdateFindingsInput) String() string {
 29601  	return awsutil.Prettify(s)
 29602  }
 29603  
 29604  // GoString returns the string representation.
 29605  //
 29606  // API parameter values that are decorated as "sensitive" in the API will not
 29607  // be included in the string output. The member name will be present, but the
 29608  // value will be replaced with "sensitive".
 29609  func (s BatchUpdateFindingsInput) GoString() string {
 29610  	return s.String()
 29611  }
 29612  
 29613  // Validate inspects the fields of the type to determine if they are valid.
 29614  func (s *BatchUpdateFindingsInput) Validate() error {
 29615  	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
 29616  	if s.FindingIdentifiers == nil {
 29617  		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
 29618  	}
 29619  	if s.FindingIdentifiers != nil {
 29620  		for i, v := range s.FindingIdentifiers {
 29621  			if v == nil {
 29622  				continue
 29623  			}
 29624  			if err := v.Validate(); err != nil {
 29625  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
 29626  			}
 29627  		}
 29628  	}
 29629  	if s.Note != nil {
 29630  		if err := s.Note.Validate(); err != nil {
 29631  			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
 29632  		}
 29633  	}
 29634  	if s.RelatedFindings != nil {
 29635  		for i, v := range s.RelatedFindings {
 29636  			if v == nil {
 29637  				continue
 29638  			}
 29639  			if err := v.Validate(); err != nil {
 29640  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
 29641  			}
 29642  		}
 29643  	}
 29644  
 29645  	if invalidParams.Len() > 0 {
 29646  		return invalidParams
 29647  	}
 29648  	return nil
 29649  }
 29650  
 29651  // SetConfidence sets the Confidence field's value.
 29652  func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
 29653  	s.Confidence = &v
 29654  	return s
 29655  }
 29656  
 29657  // SetCriticality sets the Criticality field's value.
 29658  func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
 29659  	s.Criticality = &v
 29660  	return s
 29661  }
 29662  
 29663  // SetFindingIdentifiers sets the FindingIdentifiers field's value.
 29664  func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
 29665  	s.FindingIdentifiers = v
 29666  	return s
 29667  }
 29668  
 29669  // SetNote sets the Note field's value.
 29670  func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
 29671  	s.Note = v
 29672  	return s
 29673  }
 29674  
 29675  // SetRelatedFindings sets the RelatedFindings field's value.
 29676  func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
 29677  	s.RelatedFindings = v
 29678  	return s
 29679  }
 29680  
 29681  // SetSeverity sets the Severity field's value.
 29682  func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
 29683  	s.Severity = v
 29684  	return s
 29685  }
 29686  
 29687  // SetTypes sets the Types field's value.
 29688  func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
 29689  	s.Types = v
 29690  	return s
 29691  }
 29692  
 29693  // SetUserDefinedFields sets the UserDefinedFields field's value.
 29694  func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
 29695  	s.UserDefinedFields = v
 29696  	return s
 29697  }
 29698  
 29699  // SetVerificationState sets the VerificationState field's value.
 29700  func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
 29701  	s.VerificationState = &v
 29702  	return s
 29703  }
 29704  
 29705  // SetWorkflow sets the Workflow field's value.
 29706  func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
 29707  	s.Workflow = v
 29708  	return s
 29709  }
 29710  
 29711  type BatchUpdateFindingsOutput struct {
 29712  	_ struct{} `type:"structure"`
 29713  
 29714  	// The list of findings that were updated successfully.
 29715  	//
 29716  	// ProcessedFindings is a required field
 29717  	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
 29718  
 29719  	// The list of findings that were not updated.
 29720  	//
 29721  	// UnprocessedFindings is a required field
 29722  	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
 29723  }
 29724  
 29725  // String returns the string representation.
 29726  //
 29727  // API parameter values that are decorated as "sensitive" in the API will not
 29728  // be included in the string output. The member name will be present, but the
 29729  // value will be replaced with "sensitive".
 29730  func (s BatchUpdateFindingsOutput) String() string {
 29731  	return awsutil.Prettify(s)
 29732  }
 29733  
 29734  // GoString returns the string representation.
 29735  //
 29736  // API parameter values that are decorated as "sensitive" in the API will not
 29737  // be included in the string output. The member name will be present, but the
 29738  // value will be replaced with "sensitive".
 29739  func (s BatchUpdateFindingsOutput) GoString() string {
 29740  	return s.String()
 29741  }
 29742  
 29743  // SetProcessedFindings sets the ProcessedFindings field's value.
 29744  func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
 29745  	s.ProcessedFindings = v
 29746  	return s
 29747  }
 29748  
 29749  // SetUnprocessedFindings sets the UnprocessedFindings field's value.
 29750  func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
 29751  	s.UnprocessedFindings = v
 29752  	return s
 29753  }
 29754  
 29755  // A finding from a BatchUpdateFindings request that Security Hub was unable
 29756  // to update.
 29757  type BatchUpdateFindingsUnprocessedFinding struct {
 29758  	_ struct{} `type:"structure"`
 29759  
 29760  	// The code associated with the error.
 29761  	//
 29762  	// ErrorCode is a required field
 29763  	ErrorCode *string `type:"string" required:"true"`
 29764  
 29765  	// The message associated with the error.
 29766  	//
 29767  	// ErrorMessage is a required field
 29768  	ErrorMessage *string `type:"string" required:"true"`
 29769  
 29770  	// The identifier of the finding that was not updated.
 29771  	//
 29772  	// FindingIdentifier is a required field
 29773  	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
 29774  }
 29775  
 29776  // String returns the string representation.
 29777  //
 29778  // API parameter values that are decorated as "sensitive" in the API will not
 29779  // be included in the string output. The member name will be present, but the
 29780  // value will be replaced with "sensitive".
 29781  func (s BatchUpdateFindingsUnprocessedFinding) String() string {
 29782  	return awsutil.Prettify(s)
 29783  }
 29784  
 29785  // GoString returns the string representation.
 29786  //
 29787  // API parameter values that are decorated as "sensitive" in the API will not
 29788  // be included in the string output. The member name will be present, but the
 29789  // value will be replaced with "sensitive".
 29790  func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
 29791  	return s.String()
 29792  }
 29793  
 29794  // SetErrorCode sets the ErrorCode field's value.
 29795  func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
 29796  	s.ErrorCode = &v
 29797  	return s
 29798  }
 29799  
 29800  // SetErrorMessage sets the ErrorMessage field's value.
 29801  func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
 29802  	s.ErrorMessage = &v
 29803  	return s
 29804  }
 29805  
 29806  // SetFindingIdentifier sets the FindingIdentifier field's value.
 29807  func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
 29808  	s.FindingIdentifier = v
 29809  	return s
 29810  }
 29811  
 29812  // An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
 29813  // value (CSV) file, or tab-separated value (TSV) file.
 29814  type Cell struct {
 29815  	_ struct{} `type:"structure"`
 29816  
 29817  	// For a Microsoft Excel workbook, provides the location of the cell, as an
 29818  	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
 29819  	// cell C5 on Sheet2.
 29820  	CellReference *string `type:"string"`
 29821  
 29822  	// The column number of the column that contains the data. For a Microsoft Excel
 29823  	// workbook, the column number corresponds to the alphabetical column identifiers.
 29824  	// For example, a value of 1 for Column corresponds to the A column in the workbook.
 29825  	Column *int64 `type:"long"`
 29826  
 29827  	// The name of the column that contains the data.
 29828  	ColumnName *string `type:"string"`
 29829  
 29830  	// The row number of the row that contains the data.
 29831  	Row *int64 `type:"long"`
 29832  }
 29833  
 29834  // String returns the string representation.
 29835  //
 29836  // API parameter values that are decorated as "sensitive" in the API will not
 29837  // be included in the string output. The member name will be present, but the
 29838  // value will be replaced with "sensitive".
 29839  func (s Cell) String() string {
 29840  	return awsutil.Prettify(s)
 29841  }
 29842  
 29843  // GoString returns the string representation.
 29844  //
 29845  // API parameter values that are decorated as "sensitive" in the API will not
 29846  // be included in the string output. The member name will be present, but the
 29847  // value will be replaced with "sensitive".
 29848  func (s Cell) GoString() string {
 29849  	return s.String()
 29850  }
 29851  
 29852  // SetCellReference sets the CellReference field's value.
 29853  func (s *Cell) SetCellReference(v string) *Cell {
 29854  	s.CellReference = &v
 29855  	return s
 29856  }
 29857  
 29858  // SetColumn sets the Column field's value.
 29859  func (s *Cell) SetColumn(v int64) *Cell {
 29860  	s.Column = &v
 29861  	return s
 29862  }
 29863  
 29864  // SetColumnName sets the ColumnName field's value.
 29865  func (s *Cell) SetColumnName(v string) *Cell {
 29866  	s.ColumnName = &v
 29867  	return s
 29868  }
 29869  
 29870  // SetRow sets the Row field's value.
 29871  func (s *Cell) SetRow(v int64) *Cell {
 29872  	s.Row = &v
 29873  	return s
 29874  }
 29875  
 29876  // An IPv4 CIDR block association.
 29877  type CidrBlockAssociation struct {
 29878  	_ struct{} `type:"structure"`
 29879  
 29880  	// The association ID for the IPv4 CIDR block.
 29881  	AssociationId *string `type:"string"`
 29882  
 29883  	// The IPv4 CIDR block.
 29884  	CidrBlock *string `type:"string"`
 29885  
 29886  	// Information about the state of the IPv4 CIDR block.
 29887  	CidrBlockState *string `type:"string"`
 29888  }
 29889  
 29890  // String returns the string representation.
 29891  //
 29892  // API parameter values that are decorated as "sensitive" in the API will not
 29893  // be included in the string output. The member name will be present, but the
 29894  // value will be replaced with "sensitive".
 29895  func (s CidrBlockAssociation) String() string {
 29896  	return awsutil.Prettify(s)
 29897  }
 29898  
 29899  // GoString returns the string representation.
 29900  //
 29901  // API parameter values that are decorated as "sensitive" in the API will not
 29902  // be included in the string output. The member name will be present, but the
 29903  // value will be replaced with "sensitive".
 29904  func (s CidrBlockAssociation) GoString() string {
 29905  	return s.String()
 29906  }
 29907  
 29908  // SetAssociationId sets the AssociationId field's value.
 29909  func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
 29910  	s.AssociationId = &v
 29911  	return s
 29912  }
 29913  
 29914  // SetCidrBlock sets the CidrBlock field's value.
 29915  func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
 29916  	s.CidrBlock = &v
 29917  	return s
 29918  }
 29919  
 29920  // SetCidrBlockState sets the CidrBlockState field's value.
 29921  func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
 29922  	s.CidrBlockState = &v
 29923  	return s
 29924  }
 29925  
 29926  // Information about a city.
 29927  type City struct {
 29928  	_ struct{} `type:"structure"`
 29929  
 29930  	// The name of the city.
 29931  	CityName *string `type:"string"`
 29932  }
 29933  
 29934  // String returns the string representation.
 29935  //
 29936  // API parameter values that are decorated as "sensitive" in the API will not
 29937  // be included in the string output. The member name will be present, but the
 29938  // value will be replaced with "sensitive".
 29939  func (s City) String() string {
 29940  	return awsutil.Prettify(s)
 29941  }
 29942  
 29943  // GoString returns the string representation.
 29944  //
 29945  // API parameter values that are decorated as "sensitive" in the API will not
 29946  // be included in the string output. The member name will be present, but the
 29947  // value will be replaced with "sensitive".
 29948  func (s City) GoString() string {
 29949  	return s.String()
 29950  }
 29951  
 29952  // SetCityName sets the CityName field's value.
 29953  func (s *City) SetCityName(v string) *City {
 29954  	s.CityName = &v
 29955  	return s
 29956  }
 29957  
 29958  // Details about the sensitive data that was detected on the resource.
 29959  type ClassificationResult struct {
 29960  	_ struct{} `type:"structure"`
 29961  
 29962  	// Indicates whether there are additional occurrences of sensitive data that
 29963  	// are not included in the finding. This occurs when the number of occurrences
 29964  	// exceeds the maximum that can be included.
 29965  	AdditionalOccurrences *bool `type:"boolean"`
 29966  
 29967  	// Provides details about sensitive data that was identified based on customer-defined
 29968  	// configuration.
 29969  	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
 29970  
 29971  	// The type of content that the finding applies to.
 29972  	MimeType *string `type:"string"`
 29973  
 29974  	// Provides details about sensitive data that was identified based on built-in
 29975  	// configuration.
 29976  	SensitiveData []*SensitiveDataResult `type:"list"`
 29977  
 29978  	// The total size in bytes of the affected data.
 29979  	SizeClassified *int64 `type:"long"`
 29980  
 29981  	// The current status of the sensitive data detection.
 29982  	Status *ClassificationStatus `type:"structure"`
 29983  }
 29984  
 29985  // String returns the string representation.
 29986  //
 29987  // API parameter values that are decorated as "sensitive" in the API will not
 29988  // be included in the string output. The member name will be present, but the
 29989  // value will be replaced with "sensitive".
 29990  func (s ClassificationResult) String() string {
 29991  	return awsutil.Prettify(s)
 29992  }
 29993  
 29994  // GoString returns the string representation.
 29995  //
 29996  // API parameter values that are decorated as "sensitive" in the API will not
 29997  // be included in the string output. The member name will be present, but the
 29998  // value will be replaced with "sensitive".
 29999  func (s ClassificationResult) GoString() string {
 30000  	return s.String()
 30001  }
 30002  
 30003  // SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
 30004  func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
 30005  	s.AdditionalOccurrences = &v
 30006  	return s
 30007  }
 30008  
 30009  // SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
 30010  func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
 30011  	s.CustomDataIdentifiers = v
 30012  	return s
 30013  }
 30014  
 30015  // SetMimeType sets the MimeType field's value.
 30016  func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
 30017  	s.MimeType = &v
 30018  	return s
 30019  }
 30020  
 30021  // SetSensitiveData sets the SensitiveData field's value.
 30022  func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
 30023  	s.SensitiveData = v
 30024  	return s
 30025  }
 30026  
 30027  // SetSizeClassified sets the SizeClassified field's value.
 30028  func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
 30029  	s.SizeClassified = &v
 30030  	return s
 30031  }
 30032  
 30033  // SetStatus sets the Status field's value.
 30034  func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
 30035  	s.Status = v
 30036  	return s
 30037  }
 30038  
 30039  // Provides details about the current status of the sensitive data detection.
 30040  type ClassificationStatus struct {
 30041  	_ struct{} `type:"structure"`
 30042  
 30043  	// The code that represents the status of the sensitive data detection.
 30044  	Code *string `type:"string"`
 30045  
 30046  	// A longer description of the current status of the sensitive data detection.
 30047  	Reason *string `type:"string"`
 30048  }
 30049  
 30050  // String returns the string representation.
 30051  //
 30052  // API parameter values that are decorated as "sensitive" in the API will not
 30053  // be included in the string output. The member name will be present, but the
 30054  // value will be replaced with "sensitive".
 30055  func (s ClassificationStatus) String() string {
 30056  	return awsutil.Prettify(s)
 30057  }
 30058  
 30059  // GoString returns the string representation.
 30060  //
 30061  // API parameter values that are decorated as "sensitive" in the API will not
 30062  // be included in the string output. The member name will be present, but the
 30063  // value will be replaced with "sensitive".
 30064  func (s ClassificationStatus) GoString() string {
 30065  	return s.String()
 30066  }
 30067  
 30068  // SetCode sets the Code field's value.
 30069  func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
 30070  	s.Code = &v
 30071  	return s
 30072  }
 30073  
 30074  // SetReason sets the Reason field's value.
 30075  func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
 30076  	s.Reason = &v
 30077  	return s
 30078  }
 30079  
 30080  // Contains finding details that are specific to control-based findings. Only
 30081  // returned for findings generated from controls.
 30082  type Compliance struct {
 30083  	_ struct{} `type:"structure"`
 30084  
 30085  	// For a control, the industry or regulatory framework requirements that are
 30086  	// related to the control. The check for that control is aligned with these
 30087  	// requirements.
 30088  	RelatedRequirements []*string `type:"list"`
 30089  
 30090  	// The result of a standards check.
 30091  	//
 30092  	// The valid values for Status are as follows.
 30093  	//
 30094  	//    * PASSED - Standards check passed for all evaluated resources. WARNING
 30095  	//    - Some information is missing or this check is not supported for your
 30096  	//    configuration. FAILED - Standards check failed for at least one evaluated
 30097  	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
 30098  	//    outage, API error, or because the result of the Config evaluation was
 30099  	//    NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then
 30100  	//    after 3 days, Security Hub automatically archives the finding.
 30101  	Status *string `type:"string" enum:"ComplianceStatus"`
 30102  
 30103  	// For findings generated from controls, a list of reasons behind the value
 30104  	// of Status. For the list of status reason codes and their meanings, see Standards-related
 30105  	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
 30106  	// in the Security Hub User Guide.
 30107  	StatusReasons []*StatusReason `type:"list"`
 30108  }
 30109  
 30110  // String returns the string representation.
 30111  //
 30112  // API parameter values that are decorated as "sensitive" in the API will not
 30113  // be included in the string output. The member name will be present, but the
 30114  // value will be replaced with "sensitive".
 30115  func (s Compliance) String() string {
 30116  	return awsutil.Prettify(s)
 30117  }
 30118  
 30119  // GoString returns the string representation.
 30120  //
 30121  // API parameter values that are decorated as "sensitive" in the API will not
 30122  // be included in the string output. The member name will be present, but the
 30123  // value will be replaced with "sensitive".
 30124  func (s Compliance) GoString() string {
 30125  	return s.String()
 30126  }
 30127  
 30128  // Validate inspects the fields of the type to determine if they are valid.
 30129  func (s *Compliance) Validate() error {
 30130  	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
 30131  	if s.StatusReasons != nil {
 30132  		for i, v := range s.StatusReasons {
 30133  			if v == nil {
 30134  				continue
 30135  			}
 30136  			if err := v.Validate(); err != nil {
 30137  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
 30138  			}
 30139  		}
 30140  	}
 30141  
 30142  	if invalidParams.Len() > 0 {
 30143  		return invalidParams
 30144  	}
 30145  	return nil
 30146  }
 30147  
 30148  // SetRelatedRequirements sets the RelatedRequirements field's value.
 30149  func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
 30150  	s.RelatedRequirements = v
 30151  	return s
 30152  }
 30153  
 30154  // SetStatus sets the Status field's value.
 30155  func (s *Compliance) SetStatus(v string) *Compliance {
 30156  	s.Status = &v
 30157  	return s
 30158  }
 30159  
 30160  // SetStatusReasons sets the StatusReasons field's value.
 30161  func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
 30162  	s.StatusReasons = v
 30163  	return s
 30164  }
 30165  
 30166  // Container details related to a finding.
 30167  type ContainerDetails struct {
 30168  	_ struct{} `type:"structure"`
 30169  
 30170  	// The identifier of the image related to a finding.
 30171  	ImageId *string `type:"string"`
 30172  
 30173  	// The name of the image related to a finding.
 30174  	ImageName *string `type:"string"`
 30175  
 30176  	// Indicates when the container started.
 30177  	//
 30178  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 30179  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 30180  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 30181  	LaunchedAt *string `type:"string"`
 30182  
 30183  	// The name of the container related to a finding.
 30184  	Name *string `type:"string"`
 30185  }
 30186  
 30187  // String returns the string representation.
 30188  //
 30189  // API parameter values that are decorated as "sensitive" in the API will not
 30190  // be included in the string output. The member name will be present, but the
 30191  // value will be replaced with "sensitive".
 30192  func (s ContainerDetails) String() string {
 30193  	return awsutil.Prettify(s)
 30194  }
 30195  
 30196  // GoString returns the string representation.
 30197  //
 30198  // API parameter values that are decorated as "sensitive" in the API will not
 30199  // be included in the string output. The member name will be present, but the
 30200  // value will be replaced with "sensitive".
 30201  func (s ContainerDetails) GoString() string {
 30202  	return s.String()
 30203  }
 30204  
 30205  // SetImageId sets the ImageId field's value.
 30206  func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
 30207  	s.ImageId = &v
 30208  	return s
 30209  }
 30210  
 30211  // SetImageName sets the ImageName field's value.
 30212  func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
 30213  	s.ImageName = &v
 30214  	return s
 30215  }
 30216  
 30217  // SetLaunchedAt sets the LaunchedAt field's value.
 30218  func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
 30219  	s.LaunchedAt = &v
 30220  	return s
 30221  }
 30222  
 30223  // SetName sets the Name field's value.
 30224  func (s *ContainerDetails) SetName(v string) *ContainerDetails {
 30225  	s.Name = &v
 30226  	return s
 30227  }
 30228  
 30229  // Information about a country.
 30230  type Country struct {
 30231  	_ struct{} `type:"structure"`
 30232  
 30233  	// The 2-letter ISO 3166 country code for the country.
 30234  	CountryCode *string `type:"string"`
 30235  
 30236  	// The name of the country.
 30237  	CountryName *string `type:"string"`
 30238  }
 30239  
 30240  // String returns the string representation.
 30241  //
 30242  // API parameter values that are decorated as "sensitive" in the API will not
 30243  // be included in the string output. The member name will be present, but the
 30244  // value will be replaced with "sensitive".
 30245  func (s Country) String() string {
 30246  	return awsutil.Prettify(s)
 30247  }
 30248  
 30249  // GoString returns the string representation.
 30250  //
 30251  // API parameter values that are decorated as "sensitive" in the API will not
 30252  // be included in the string output. The member name will be present, but the
 30253  // value will be replaced with "sensitive".
 30254  func (s Country) GoString() string {
 30255  	return s.String()
 30256  }
 30257  
 30258  // SetCountryCode sets the CountryCode field's value.
 30259  func (s *Country) SetCountryCode(v string) *Country {
 30260  	s.CountryCode = &v
 30261  	return s
 30262  }
 30263  
 30264  // SetCountryName sets the CountryName field's value.
 30265  func (s *Country) SetCountryName(v string) *Country {
 30266  	s.CountryName = &v
 30267  	return s
 30268  }
 30269  
 30270  type CreateActionTargetInput struct {
 30271  	_ struct{} `type:"structure"`
 30272  
 30273  	// The description for the custom action target.
 30274  	//
 30275  	// Description is a required field
 30276  	Description *string `type:"string" required:"true"`
 30277  
 30278  	// The ID for the custom action target. Can contain up to 20 alphanumeric characters.
 30279  	//
 30280  	// Id is a required field
 30281  	Id *string `type:"string" required:"true"`
 30282  
 30283  	// The name of the custom action target. Can contain up to 20 characters.
 30284  	//
 30285  	// Name is a required field
 30286  	Name *string `type:"string" required:"true"`
 30287  }
 30288  
 30289  // String returns the string representation.
 30290  //
 30291  // API parameter values that are decorated as "sensitive" in the API will not
 30292  // be included in the string output. The member name will be present, but the
 30293  // value will be replaced with "sensitive".
 30294  func (s CreateActionTargetInput) String() string {
 30295  	return awsutil.Prettify(s)
 30296  }
 30297  
 30298  // GoString returns the string representation.
 30299  //
 30300  // API parameter values that are decorated as "sensitive" in the API will not
 30301  // be included in the string output. The member name will be present, but the
 30302  // value will be replaced with "sensitive".
 30303  func (s CreateActionTargetInput) GoString() string {
 30304  	return s.String()
 30305  }
 30306  
 30307  // Validate inspects the fields of the type to determine if they are valid.
 30308  func (s *CreateActionTargetInput) Validate() error {
 30309  	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
 30310  	if s.Description == nil {
 30311  		invalidParams.Add(request.NewErrParamRequired("Description"))
 30312  	}
 30313  	if s.Id == nil {
 30314  		invalidParams.Add(request.NewErrParamRequired("Id"))
 30315  	}
 30316  	if s.Name == nil {
 30317  		invalidParams.Add(request.NewErrParamRequired("Name"))
 30318  	}
 30319  
 30320  	if invalidParams.Len() > 0 {
 30321  		return invalidParams
 30322  	}
 30323  	return nil
 30324  }
 30325  
 30326  // SetDescription sets the Description field's value.
 30327  func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
 30328  	s.Description = &v
 30329  	return s
 30330  }
 30331  
 30332  // SetId sets the Id field's value.
 30333  func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
 30334  	s.Id = &v
 30335  	return s
 30336  }
 30337  
 30338  // SetName sets the Name field's value.
 30339  func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
 30340  	s.Name = &v
 30341  	return s
 30342  }
 30343  
 30344  type CreateActionTargetOutput struct {
 30345  	_ struct{} `type:"structure"`
 30346  
 30347  	// The ARN for the custom action target.
 30348  	//
 30349  	// ActionTargetArn is a required field
 30350  	ActionTargetArn *string `type:"string" required:"true"`
 30351  }
 30352  
 30353  // String returns the string representation.
 30354  //
 30355  // API parameter values that are decorated as "sensitive" in the API will not
 30356  // be included in the string output. The member name will be present, but the
 30357  // value will be replaced with "sensitive".
 30358  func (s CreateActionTargetOutput) String() string {
 30359  	return awsutil.Prettify(s)
 30360  }
 30361  
 30362  // GoString returns the string representation.
 30363  //
 30364  // API parameter values that are decorated as "sensitive" in the API will not
 30365  // be included in the string output. The member name will be present, but the
 30366  // value will be replaced with "sensitive".
 30367  func (s CreateActionTargetOutput) GoString() string {
 30368  	return s.String()
 30369  }
 30370  
 30371  // SetActionTargetArn sets the ActionTargetArn field's value.
 30372  func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
 30373  	s.ActionTargetArn = &v
 30374  	return s
 30375  }
 30376  
 30377  type CreateInsightInput struct {
 30378  	_ struct{} `type:"structure"`
 30379  
 30380  	// One or more attributes used to filter the findings included in the insight.
 30381  	// The insight only includes findings that match the criteria defined in the
 30382  	// filters.
 30383  	//
 30384  	// Filters is a required field
 30385  	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
 30386  
 30387  	// The attribute used to group the findings for the insight. The grouping attribute
 30388  	// identifies the type of item that the insight applies to. For example, if
 30389  	// an insight is grouped by resource identifier, then the insight produces a
 30390  	// list of resource identifiers.
 30391  	//
 30392  	// GroupByAttribute is a required field
 30393  	GroupByAttribute *string `type:"string" required:"true"`
 30394  
 30395  	// The name of the custom insight to create.
 30396  	//
 30397  	// Name is a required field
 30398  	Name *string `type:"string" required:"true"`
 30399  }
 30400  
 30401  // String returns the string representation.
 30402  //
 30403  // API parameter values that are decorated as "sensitive" in the API will not
 30404  // be included in the string output. The member name will be present, but the
 30405  // value will be replaced with "sensitive".
 30406  func (s CreateInsightInput) String() string {
 30407  	return awsutil.Prettify(s)
 30408  }
 30409  
 30410  // GoString returns the string representation.
 30411  //
 30412  // API parameter values that are decorated as "sensitive" in the API will not
 30413  // be included in the string output. The member name will be present, but the
 30414  // value will be replaced with "sensitive".
 30415  func (s CreateInsightInput) GoString() string {
 30416  	return s.String()
 30417  }
 30418  
 30419  // Validate inspects the fields of the type to determine if they are valid.
 30420  func (s *CreateInsightInput) Validate() error {
 30421  	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
 30422  	if s.Filters == nil {
 30423  		invalidParams.Add(request.NewErrParamRequired("Filters"))
 30424  	}
 30425  	if s.GroupByAttribute == nil {
 30426  		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
 30427  	}
 30428  	if s.Name == nil {
 30429  		invalidParams.Add(request.NewErrParamRequired("Name"))
 30430  	}
 30431  
 30432  	if invalidParams.Len() > 0 {
 30433  		return invalidParams
 30434  	}
 30435  	return nil
 30436  }
 30437  
 30438  // SetFilters sets the Filters field's value.
 30439  func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
 30440  	s.Filters = v
 30441  	return s
 30442  }
 30443  
 30444  // SetGroupByAttribute sets the GroupByAttribute field's value.
 30445  func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
 30446  	s.GroupByAttribute = &v
 30447  	return s
 30448  }
 30449  
 30450  // SetName sets the Name field's value.
 30451  func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
 30452  	s.Name = &v
 30453  	return s
 30454  }
 30455  
 30456  type CreateInsightOutput struct {
 30457  	_ struct{} `type:"structure"`
 30458  
 30459  	// The ARN of the insight created.
 30460  	//
 30461  	// InsightArn is a required field
 30462  	InsightArn *string `type:"string" required:"true"`
 30463  }
 30464  
 30465  // String returns the string representation.
 30466  //
 30467  // API parameter values that are decorated as "sensitive" in the API will not
 30468  // be included in the string output. The member name will be present, but the
 30469  // value will be replaced with "sensitive".
 30470  func (s CreateInsightOutput) String() string {
 30471  	return awsutil.Prettify(s)
 30472  }
 30473  
 30474  // GoString returns the string representation.
 30475  //
 30476  // API parameter values that are decorated as "sensitive" in the API will not
 30477  // be included in the string output. The member name will be present, but the
 30478  // value will be replaced with "sensitive".
 30479  func (s CreateInsightOutput) GoString() string {
 30480  	return s.String()
 30481  }
 30482  
 30483  // SetInsightArn sets the InsightArn field's value.
 30484  func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
 30485  	s.InsightArn = &v
 30486  	return s
 30487  }
 30488  
 30489  type CreateMembersInput struct {
 30490  	_ struct{} `type:"structure"`
 30491  
 30492  	// The list of accounts to associate with the Security Hub administrator account.
 30493  	// For each account, the list includes the account ID and optionally the email
 30494  	// address.
 30495  	//
 30496  	// AccountDetails is a required field
 30497  	AccountDetails []*AccountDetails `type:"list" required:"true"`
 30498  }
 30499  
 30500  // String returns the string representation.
 30501  //
 30502  // API parameter values that are decorated as "sensitive" in the API will not
 30503  // be included in the string output. The member name will be present, but the
 30504  // value will be replaced with "sensitive".
 30505  func (s CreateMembersInput) String() string {
 30506  	return awsutil.Prettify(s)
 30507  }
 30508  
 30509  // GoString returns the string representation.
 30510  //
 30511  // API parameter values that are decorated as "sensitive" in the API will not
 30512  // be included in the string output. The member name will be present, but the
 30513  // value will be replaced with "sensitive".
 30514  func (s CreateMembersInput) GoString() string {
 30515  	return s.String()
 30516  }
 30517  
 30518  // Validate inspects the fields of the type to determine if they are valid.
 30519  func (s *CreateMembersInput) Validate() error {
 30520  	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
 30521  	if s.AccountDetails == nil {
 30522  		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
 30523  	}
 30524  	if s.AccountDetails != nil {
 30525  		for i, v := range s.AccountDetails {
 30526  			if v == nil {
 30527  				continue
 30528  			}
 30529  			if err := v.Validate(); err != nil {
 30530  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
 30531  			}
 30532  		}
 30533  	}
 30534  
 30535  	if invalidParams.Len() > 0 {
 30536  		return invalidParams
 30537  	}
 30538  	return nil
 30539  }
 30540  
 30541  // SetAccountDetails sets the AccountDetails field's value.
 30542  func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
 30543  	s.AccountDetails = v
 30544  	return s
 30545  }
 30546  
 30547  type CreateMembersOutput struct {
 30548  	_ struct{} `type:"structure"`
 30549  
 30550  	// The list of Amazon Web Services accounts that were not processed. For each
 30551  	// account, the list includes the account ID and the email address.
 30552  	UnprocessedAccounts []*Result `type:"list"`
 30553  }
 30554  
 30555  // String returns the string representation.
 30556  //
 30557  // API parameter values that are decorated as "sensitive" in the API will not
 30558  // be included in the string output. The member name will be present, but the
 30559  // value will be replaced with "sensitive".
 30560  func (s CreateMembersOutput) String() string {
 30561  	return awsutil.Prettify(s)
 30562  }
 30563  
 30564  // GoString returns the string representation.
 30565  //
 30566  // API parameter values that are decorated as "sensitive" in the API will not
 30567  // be included in the string output. The member name will be present, but the
 30568  // value will be replaced with "sensitive".
 30569  func (s CreateMembersOutput) GoString() string {
 30570  	return s.String()
 30571  }
 30572  
 30573  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 30574  func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
 30575  	s.UnprocessedAccounts = v
 30576  	return s
 30577  }
 30578  
 30579  // The list of detected instances of sensitive data.
 30580  type CustomDataIdentifiersDetections struct {
 30581  	_ struct{} `type:"structure"`
 30582  
 30583  	// The ARN of the custom identifier that was used to detect the sensitive data.
 30584  	Arn *string `type:"string"`
 30585  
 30586  	// The total number of occurrences of sensitive data that were detected.
 30587  	Count *int64 `type:"long"`
 30588  
 30589  	// he name of the custom identifier that detected the sensitive data.
 30590  	Name *string `type:"string"`
 30591  
 30592  	// Details about the sensitive data that was detected.
 30593  	Occurrences *Occurrences `type:"structure"`
 30594  }
 30595  
 30596  // String returns the string representation.
 30597  //
 30598  // API parameter values that are decorated as "sensitive" in the API will not
 30599  // be included in the string output. The member name will be present, but the
 30600  // value will be replaced with "sensitive".
 30601  func (s CustomDataIdentifiersDetections) String() string {
 30602  	return awsutil.Prettify(s)
 30603  }
 30604  
 30605  // GoString returns the string representation.
 30606  //
 30607  // API parameter values that are decorated as "sensitive" in the API will not
 30608  // be included in the string output. The member name will be present, but the
 30609  // value will be replaced with "sensitive".
 30610  func (s CustomDataIdentifiersDetections) GoString() string {
 30611  	return s.String()
 30612  }
 30613  
 30614  // SetArn sets the Arn field's value.
 30615  func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
 30616  	s.Arn = &v
 30617  	return s
 30618  }
 30619  
 30620  // SetCount sets the Count field's value.
 30621  func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
 30622  	s.Count = &v
 30623  	return s
 30624  }
 30625  
 30626  // SetName sets the Name field's value.
 30627  func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
 30628  	s.Name = &v
 30629  	return s
 30630  }
 30631  
 30632  // SetOccurrences sets the Occurrences field's value.
 30633  func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
 30634  	s.Occurrences = v
 30635  	return s
 30636  }
 30637  
 30638  // Contains an instance of sensitive data that was detected by a customer-defined
 30639  // identifier.
 30640  type CustomDataIdentifiersResult struct {
 30641  	_ struct{} `type:"structure"`
 30642  
 30643  	// The list of detected instances of sensitive data.
 30644  	Detections []*CustomDataIdentifiersDetections `type:"list"`
 30645  
 30646  	// The total number of occurrences of sensitive data.
 30647  	TotalCount *int64 `type:"long"`
 30648  }
 30649  
 30650  // String returns the string representation.
 30651  //
 30652  // API parameter values that are decorated as "sensitive" in the API will not
 30653  // be included in the string output. The member name will be present, but the
 30654  // value will be replaced with "sensitive".
 30655  func (s CustomDataIdentifiersResult) String() string {
 30656  	return awsutil.Prettify(s)
 30657  }
 30658  
 30659  // GoString returns the string representation.
 30660  //
 30661  // API parameter values that are decorated as "sensitive" in the API will not
 30662  // be included in the string output. The member name will be present, but the
 30663  // value will be replaced with "sensitive".
 30664  func (s CustomDataIdentifiersResult) GoString() string {
 30665  	return s.String()
 30666  }
 30667  
 30668  // SetDetections sets the Detections field's value.
 30669  func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
 30670  	s.Detections = v
 30671  	return s
 30672  }
 30673  
 30674  // SetTotalCount sets the TotalCount field's value.
 30675  func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
 30676  	s.TotalCount = &v
 30677  	return s
 30678  }
 30679  
 30680  // CVSS scores from the advisory related to the vulnerability.
 30681  type Cvss struct {
 30682  	_ struct{} `type:"structure"`
 30683  
 30684  	// Adjustments to the CVSS metrics.
 30685  	Adjustments []*Adjustment `type:"list"`
 30686  
 30687  	// The base CVSS score.
 30688  	BaseScore *float64 `type:"double"`
 30689  
 30690  	// The base scoring vector for the CVSS score.
 30691  	BaseVector *string `type:"string"`
 30692  
 30693  	// The origin of the original CVSS score and vector.
 30694  	Source *string `type:"string"`
 30695  
 30696  	// The version of CVSS for the CVSS score.
 30697  	Version *string `type:"string"`
 30698  }
 30699  
 30700  // String returns the string representation.
 30701  //
 30702  // API parameter values that are decorated as "sensitive" in the API will not
 30703  // be included in the string output. The member name will be present, but the
 30704  // value will be replaced with "sensitive".
 30705  func (s Cvss) String() string {
 30706  	return awsutil.Prettify(s)
 30707  }
 30708  
 30709  // GoString returns the string representation.
 30710  //
 30711  // API parameter values that are decorated as "sensitive" in the API will not
 30712  // be included in the string output. The member name will be present, but the
 30713  // value will be replaced with "sensitive".
 30714  func (s Cvss) GoString() string {
 30715  	return s.String()
 30716  }
 30717  
 30718  // SetAdjustments sets the Adjustments field's value.
 30719  func (s *Cvss) SetAdjustments(v []*Adjustment) *Cvss {
 30720  	s.Adjustments = v
 30721  	return s
 30722  }
 30723  
 30724  // SetBaseScore sets the BaseScore field's value.
 30725  func (s *Cvss) SetBaseScore(v float64) *Cvss {
 30726  	s.BaseScore = &v
 30727  	return s
 30728  }
 30729  
 30730  // SetBaseVector sets the BaseVector field's value.
 30731  func (s *Cvss) SetBaseVector(v string) *Cvss {
 30732  	s.BaseVector = &v
 30733  	return s
 30734  }
 30735  
 30736  // SetSource sets the Source field's value.
 30737  func (s *Cvss) SetSource(v string) *Cvss {
 30738  	s.Source = &v
 30739  	return s
 30740  }
 30741  
 30742  // SetVersion sets the Version field's value.
 30743  func (s *Cvss) SetVersion(v string) *Cvss {
 30744  	s.Version = &v
 30745  	return s
 30746  }
 30747  
 30748  // Provides details about sensitive data that was detected on a resource.
 30749  type DataClassificationDetails struct {
 30750  	_ struct{} `type:"structure"`
 30751  
 30752  	// The path to the folder or file that contains the sensitive data.
 30753  	DetailedResultsLocation *string `type:"string"`
 30754  
 30755  	// The details about the sensitive data that was detected on the resource.
 30756  	Result *ClassificationResult `type:"structure"`
 30757  }
 30758  
 30759  // String returns the string representation.
 30760  //
 30761  // API parameter values that are decorated as "sensitive" in the API will not
 30762  // be included in the string output. The member name will be present, but the
 30763  // value will be replaced with "sensitive".
 30764  func (s DataClassificationDetails) String() string {
 30765  	return awsutil.Prettify(s)
 30766  }
 30767  
 30768  // GoString returns the string representation.
 30769  //
 30770  // API parameter values that are decorated as "sensitive" in the API will not
 30771  // be included in the string output. The member name will be present, but the
 30772  // value will be replaced with "sensitive".
 30773  func (s DataClassificationDetails) GoString() string {
 30774  	return s.String()
 30775  }
 30776  
 30777  // SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
 30778  func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
 30779  	s.DetailedResultsLocation = &v
 30780  	return s
 30781  }
 30782  
 30783  // SetResult sets the Result field's value.
 30784  func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
 30785  	s.Result = v
 30786  	return s
 30787  }
 30788  
 30789  // A date filter for querying findings.
 30790  type DateFilter struct {
 30791  	_ struct{} `type:"structure"`
 30792  
 30793  	// A date range for the date filter.
 30794  	DateRange *DateRange `type:"structure"`
 30795  
 30796  	// An end date for the date filter.
 30797  	End *string `type:"string"`
 30798  
 30799  	// A start date for the date filter.
 30800  	Start *string `type:"string"`
 30801  }
 30802  
 30803  // String returns the string representation.
 30804  //
 30805  // API parameter values that are decorated as "sensitive" in the API will not
 30806  // be included in the string output. The member name will be present, but the
 30807  // value will be replaced with "sensitive".
 30808  func (s DateFilter) String() string {
 30809  	return awsutil.Prettify(s)
 30810  }
 30811  
 30812  // GoString returns the string representation.
 30813  //
 30814  // API parameter values that are decorated as "sensitive" in the API will not
 30815  // be included in the string output. The member name will be present, but the
 30816  // value will be replaced with "sensitive".
 30817  func (s DateFilter) GoString() string {
 30818  	return s.String()
 30819  }
 30820  
 30821  // SetDateRange sets the DateRange field's value.
 30822  func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
 30823  	s.DateRange = v
 30824  	return s
 30825  }
 30826  
 30827  // SetEnd sets the End field's value.
 30828  func (s *DateFilter) SetEnd(v string) *DateFilter {
 30829  	s.End = &v
 30830  	return s
 30831  }
 30832  
 30833  // SetStart sets the Start field's value.
 30834  func (s *DateFilter) SetStart(v string) *DateFilter {
 30835  	s.Start = &v
 30836  	return s
 30837  }
 30838  
 30839  // A date range for the date filter.
 30840  type DateRange struct {
 30841  	_ struct{} `type:"structure"`
 30842  
 30843  	// A date range unit for the date filter.
 30844  	Unit *string `type:"string" enum:"DateRangeUnit"`
 30845  
 30846  	// A date range value for the date filter.
 30847  	Value *int64 `type:"integer"`
 30848  }
 30849  
 30850  // String returns the string representation.
 30851  //
 30852  // API parameter values that are decorated as "sensitive" in the API will not
 30853  // be included in the string output. The member name will be present, but the
 30854  // value will be replaced with "sensitive".
 30855  func (s DateRange) String() string {
 30856  	return awsutil.Prettify(s)
 30857  }
 30858  
 30859  // GoString returns the string representation.
 30860  //
 30861  // API parameter values that are decorated as "sensitive" in the API will not
 30862  // be included in the string output. The member name will be present, but the
 30863  // value will be replaced with "sensitive".
 30864  func (s DateRange) GoString() string {
 30865  	return s.String()
 30866  }
 30867  
 30868  // SetUnit sets the Unit field's value.
 30869  func (s *DateRange) SetUnit(v string) *DateRange {
 30870  	s.Unit = &v
 30871  	return s
 30872  }
 30873  
 30874  // SetValue sets the Value field's value.
 30875  func (s *DateRange) SetValue(v int64) *DateRange {
 30876  	s.Value = &v
 30877  	return s
 30878  }
 30879  
 30880  type DeclineInvitationsInput struct {
 30881  	_ struct{} `type:"structure"`
 30882  
 30883  	// The list of account IDs for the accounts from which to decline the invitations
 30884  	// to Security Hub.
 30885  	//
 30886  	// AccountIds is a required field
 30887  	AccountIds []*string `type:"list" required:"true"`
 30888  }
 30889  
 30890  // String returns the string representation.
 30891  //
 30892  // API parameter values that are decorated as "sensitive" in the API will not
 30893  // be included in the string output. The member name will be present, but the
 30894  // value will be replaced with "sensitive".
 30895  func (s DeclineInvitationsInput) String() string {
 30896  	return awsutil.Prettify(s)
 30897  }
 30898  
 30899  // GoString returns the string representation.
 30900  //
 30901  // API parameter values that are decorated as "sensitive" in the API will not
 30902  // be included in the string output. The member name will be present, but the
 30903  // value will be replaced with "sensitive".
 30904  func (s DeclineInvitationsInput) GoString() string {
 30905  	return s.String()
 30906  }
 30907  
 30908  // Validate inspects the fields of the type to determine if they are valid.
 30909  func (s *DeclineInvitationsInput) Validate() error {
 30910  	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
 30911  	if s.AccountIds == nil {
 30912  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 30913  	}
 30914  
 30915  	if invalidParams.Len() > 0 {
 30916  		return invalidParams
 30917  	}
 30918  	return nil
 30919  }
 30920  
 30921  // SetAccountIds sets the AccountIds field's value.
 30922  func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
 30923  	s.AccountIds = v
 30924  	return s
 30925  }
 30926  
 30927  type DeclineInvitationsOutput struct {
 30928  	_ struct{} `type:"structure"`
 30929  
 30930  	// The list of Amazon Web Services accounts that were not processed. For each
 30931  	// account, the list includes the account ID and the email address.
 30932  	UnprocessedAccounts []*Result `type:"list"`
 30933  }
 30934  
 30935  // String returns the string representation.
 30936  //
 30937  // API parameter values that are decorated as "sensitive" in the API will not
 30938  // be included in the string output. The member name will be present, but the
 30939  // value will be replaced with "sensitive".
 30940  func (s DeclineInvitationsOutput) String() string {
 30941  	return awsutil.Prettify(s)
 30942  }
 30943  
 30944  // GoString returns the string representation.
 30945  //
 30946  // API parameter values that are decorated as "sensitive" in the API will not
 30947  // be included in the string output. The member name will be present, but the
 30948  // value will be replaced with "sensitive".
 30949  func (s DeclineInvitationsOutput) GoString() string {
 30950  	return s.String()
 30951  }
 30952  
 30953  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 30954  func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
 30955  	s.UnprocessedAccounts = v
 30956  	return s
 30957  }
 30958  
 30959  type DeleteActionTargetInput struct {
 30960  	_ struct{} `type:"structure" nopayload:"true"`
 30961  
 30962  	// The ARN of the custom action target to delete.
 30963  	//
 30964  	// ActionTargetArn is a required field
 30965  	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
 30966  }
 30967  
 30968  // String returns the string representation.
 30969  //
 30970  // API parameter values that are decorated as "sensitive" in the API will not
 30971  // be included in the string output. The member name will be present, but the
 30972  // value will be replaced with "sensitive".
 30973  func (s DeleteActionTargetInput) String() string {
 30974  	return awsutil.Prettify(s)
 30975  }
 30976  
 30977  // GoString returns the string representation.
 30978  //
 30979  // API parameter values that are decorated as "sensitive" in the API will not
 30980  // be included in the string output. The member name will be present, but the
 30981  // value will be replaced with "sensitive".
 30982  func (s DeleteActionTargetInput) GoString() string {
 30983  	return s.String()
 30984  }
 30985  
 30986  // Validate inspects the fields of the type to determine if they are valid.
 30987  func (s *DeleteActionTargetInput) Validate() error {
 30988  	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
 30989  	if s.ActionTargetArn == nil {
 30990  		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
 30991  	}
 30992  	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
 30993  		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
 30994  	}
 30995  
 30996  	if invalidParams.Len() > 0 {
 30997  		return invalidParams
 30998  	}
 30999  	return nil
 31000  }
 31001  
 31002  // SetActionTargetArn sets the ActionTargetArn field's value.
 31003  func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
 31004  	s.ActionTargetArn = &v
 31005  	return s
 31006  }
 31007  
 31008  type DeleteActionTargetOutput struct {
 31009  	_ struct{} `type:"structure"`
 31010  
 31011  	// The ARN of the custom action target that was deleted.
 31012  	//
 31013  	// ActionTargetArn is a required field
 31014  	ActionTargetArn *string `type:"string" required:"true"`
 31015  }
 31016  
 31017  // String returns the string representation.
 31018  //
 31019  // API parameter values that are decorated as "sensitive" in the API will not
 31020  // be included in the string output. The member name will be present, but the
 31021  // value will be replaced with "sensitive".
 31022  func (s DeleteActionTargetOutput) String() string {
 31023  	return awsutil.Prettify(s)
 31024  }
 31025  
 31026  // GoString returns the string representation.
 31027  //
 31028  // API parameter values that are decorated as "sensitive" in the API will not
 31029  // be included in the string output. The member name will be present, but the
 31030  // value will be replaced with "sensitive".
 31031  func (s DeleteActionTargetOutput) GoString() string {
 31032  	return s.String()
 31033  }
 31034  
 31035  // SetActionTargetArn sets the ActionTargetArn field's value.
 31036  func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
 31037  	s.ActionTargetArn = &v
 31038  	return s
 31039  }
 31040  
 31041  type DeleteInsightInput struct {
 31042  	_ struct{} `type:"structure" nopayload:"true"`
 31043  
 31044  	// The ARN of the insight to delete.
 31045  	//
 31046  	// InsightArn is a required field
 31047  	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
 31048  }
 31049  
 31050  // String returns the string representation.
 31051  //
 31052  // API parameter values that are decorated as "sensitive" in the API will not
 31053  // be included in the string output. The member name will be present, but the
 31054  // value will be replaced with "sensitive".
 31055  func (s DeleteInsightInput) String() string {
 31056  	return awsutil.Prettify(s)
 31057  }
 31058  
 31059  // GoString returns the string representation.
 31060  //
 31061  // API parameter values that are decorated as "sensitive" in the API will not
 31062  // be included in the string output. The member name will be present, but the
 31063  // value will be replaced with "sensitive".
 31064  func (s DeleteInsightInput) GoString() string {
 31065  	return s.String()
 31066  }
 31067  
 31068  // Validate inspects the fields of the type to determine if they are valid.
 31069  func (s *DeleteInsightInput) Validate() error {
 31070  	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
 31071  	if s.InsightArn == nil {
 31072  		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
 31073  	}
 31074  	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
 31075  		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
 31076  	}
 31077  
 31078  	if invalidParams.Len() > 0 {
 31079  		return invalidParams
 31080  	}
 31081  	return nil
 31082  }
 31083  
 31084  // SetInsightArn sets the InsightArn field's value.
 31085  func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
 31086  	s.InsightArn = &v
 31087  	return s
 31088  }
 31089  
 31090  type DeleteInsightOutput struct {
 31091  	_ struct{} `type:"structure"`
 31092  
 31093  	// The ARN of the insight that was deleted.
 31094  	//
 31095  	// InsightArn is a required field
 31096  	InsightArn *string `type:"string" required:"true"`
 31097  }
 31098  
 31099  // String returns the string representation.
 31100  //
 31101  // API parameter values that are decorated as "sensitive" in the API will not
 31102  // be included in the string output. The member name will be present, but the
 31103  // value will be replaced with "sensitive".
 31104  func (s DeleteInsightOutput) String() string {
 31105  	return awsutil.Prettify(s)
 31106  }
 31107  
 31108  // GoString returns the string representation.
 31109  //
 31110  // API parameter values that are decorated as "sensitive" in the API will not
 31111  // be included in the string output. The member name will be present, but the
 31112  // value will be replaced with "sensitive".
 31113  func (s DeleteInsightOutput) GoString() string {
 31114  	return s.String()
 31115  }
 31116  
 31117  // SetInsightArn sets the InsightArn field's value.
 31118  func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
 31119  	s.InsightArn = &v
 31120  	return s
 31121  }
 31122  
 31123  type DeleteInvitationsInput struct {
 31124  	_ struct{} `type:"structure"`
 31125  
 31126  	// The list of the account IDs that sent the invitations to delete.
 31127  	//
 31128  	// AccountIds is a required field
 31129  	AccountIds []*string `type:"list" required:"true"`
 31130  }
 31131  
 31132  // String returns the string representation.
 31133  //
 31134  // API parameter values that are decorated as "sensitive" in the API will not
 31135  // be included in the string output. The member name will be present, but the
 31136  // value will be replaced with "sensitive".
 31137  func (s DeleteInvitationsInput) String() string {
 31138  	return awsutil.Prettify(s)
 31139  }
 31140  
 31141  // GoString returns the string representation.
 31142  //
 31143  // API parameter values that are decorated as "sensitive" in the API will not
 31144  // be included in the string output. The member name will be present, but the
 31145  // value will be replaced with "sensitive".
 31146  func (s DeleteInvitationsInput) GoString() string {
 31147  	return s.String()
 31148  }
 31149  
 31150  // Validate inspects the fields of the type to determine if they are valid.
 31151  func (s *DeleteInvitationsInput) Validate() error {
 31152  	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
 31153  	if s.AccountIds == nil {
 31154  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 31155  	}
 31156  
 31157  	if invalidParams.Len() > 0 {
 31158  		return invalidParams
 31159  	}
 31160  	return nil
 31161  }
 31162  
 31163  // SetAccountIds sets the AccountIds field's value.
 31164  func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
 31165  	s.AccountIds = v
 31166  	return s
 31167  }
 31168  
 31169  type DeleteInvitationsOutput struct {
 31170  	_ struct{} `type:"structure"`
 31171  
 31172  	// The list of Amazon Web Services accounts for which the invitations were not
 31173  	// deleted. For each account, the list includes the account ID and the email
 31174  	// address.
 31175  	UnprocessedAccounts []*Result `type:"list"`
 31176  }
 31177  
 31178  // String returns the string representation.
 31179  //
 31180  // API parameter values that are decorated as "sensitive" in the API will not
 31181  // be included in the string output. The member name will be present, but the
 31182  // value will be replaced with "sensitive".
 31183  func (s DeleteInvitationsOutput) String() string {
 31184  	return awsutil.Prettify(s)
 31185  }
 31186  
 31187  // GoString returns the string representation.
 31188  //
 31189  // API parameter values that are decorated as "sensitive" in the API will not
 31190  // be included in the string output. The member name will be present, but the
 31191  // value will be replaced with "sensitive".
 31192  func (s DeleteInvitationsOutput) GoString() string {
 31193  	return s.String()
 31194  }
 31195  
 31196  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 31197  func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
 31198  	s.UnprocessedAccounts = v
 31199  	return s
 31200  }
 31201  
 31202  type DeleteMembersInput struct {
 31203  	_ struct{} `type:"structure"`
 31204  
 31205  	// The list of account IDs for the member accounts to delete.
 31206  	//
 31207  	// AccountIds is a required field
 31208  	AccountIds []*string `type:"list" required:"true"`
 31209  }
 31210  
 31211  // String returns the string representation.
 31212  //
 31213  // API parameter values that are decorated as "sensitive" in the API will not
 31214  // be included in the string output. The member name will be present, but the
 31215  // value will be replaced with "sensitive".
 31216  func (s DeleteMembersInput) String() string {
 31217  	return awsutil.Prettify(s)
 31218  }
 31219  
 31220  // GoString returns the string representation.
 31221  //
 31222  // API parameter values that are decorated as "sensitive" in the API will not
 31223  // be included in the string output. The member name will be present, but the
 31224  // value will be replaced with "sensitive".
 31225  func (s DeleteMembersInput) GoString() string {
 31226  	return s.String()
 31227  }
 31228  
 31229  // Validate inspects the fields of the type to determine if they are valid.
 31230  func (s *DeleteMembersInput) Validate() error {
 31231  	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
 31232  	if s.AccountIds == nil {
 31233  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 31234  	}
 31235  
 31236  	if invalidParams.Len() > 0 {
 31237  		return invalidParams
 31238  	}
 31239  	return nil
 31240  }
 31241  
 31242  // SetAccountIds sets the AccountIds field's value.
 31243  func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
 31244  	s.AccountIds = v
 31245  	return s
 31246  }
 31247  
 31248  type DeleteMembersOutput struct {
 31249  	_ struct{} `type:"structure"`
 31250  
 31251  	// The list of Amazon Web Services accounts that were not deleted. For each
 31252  	// account, the list includes the account ID and the email address.
 31253  	UnprocessedAccounts []*Result `type:"list"`
 31254  }
 31255  
 31256  // String returns the string representation.
 31257  //
 31258  // API parameter values that are decorated as "sensitive" in the API will not
 31259  // be included in the string output. The member name will be present, but the
 31260  // value will be replaced with "sensitive".
 31261  func (s DeleteMembersOutput) String() string {
 31262  	return awsutil.Prettify(s)
 31263  }
 31264  
 31265  // GoString returns the string representation.
 31266  //
 31267  // API parameter values that are decorated as "sensitive" in the API will not
 31268  // be included in the string output. The member name will be present, but the
 31269  // value will be replaced with "sensitive".
 31270  func (s DeleteMembersOutput) GoString() string {
 31271  	return s.String()
 31272  }
 31273  
 31274  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 31275  func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
 31276  	s.UnprocessedAccounts = v
 31277  	return s
 31278  }
 31279  
 31280  type DescribeActionTargetsInput struct {
 31281  	_ struct{} `type:"structure"`
 31282  
 31283  	// A list of custom action target ARNs for the custom action targets to retrieve.
 31284  	ActionTargetArns []*string `type:"list"`
 31285  
 31286  	// The maximum number of results to return.
 31287  	MaxResults *int64 `min:"1" type:"integer"`
 31288  
 31289  	// The token that is required for pagination. On your first call to the DescribeActionTargets
 31290  	// operation, set the value of this parameter to NULL.
 31291  	//
 31292  	// For subsequent calls to the operation, to continue listing data, set the
 31293  	// value of this parameter to the value returned from the previous response.
 31294  	NextToken *string `type:"string"`
 31295  }
 31296  
 31297  // String returns the string representation.
 31298  //
 31299  // API parameter values that are decorated as "sensitive" in the API will not
 31300  // be included in the string output. The member name will be present, but the
 31301  // value will be replaced with "sensitive".
 31302  func (s DescribeActionTargetsInput) String() string {
 31303  	return awsutil.Prettify(s)
 31304  }
 31305  
 31306  // GoString returns the string representation.
 31307  //
 31308  // API parameter values that are decorated as "sensitive" in the API will not
 31309  // be included in the string output. The member name will be present, but the
 31310  // value will be replaced with "sensitive".
 31311  func (s DescribeActionTargetsInput) GoString() string {
 31312  	return s.String()
 31313  }
 31314  
 31315  // Validate inspects the fields of the type to determine if they are valid.
 31316  func (s *DescribeActionTargetsInput) Validate() error {
 31317  	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
 31318  	if s.MaxResults != nil && *s.MaxResults < 1 {
 31319  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 31320  	}
 31321  
 31322  	if invalidParams.Len() > 0 {
 31323  		return invalidParams
 31324  	}
 31325  	return nil
 31326  }
 31327  
 31328  // SetActionTargetArns sets the ActionTargetArns field's value.
 31329  func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
 31330  	s.ActionTargetArns = v
 31331  	return s
 31332  }
 31333  
 31334  // SetMaxResults sets the MaxResults field's value.
 31335  func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
 31336  	s.MaxResults = &v
 31337  	return s
 31338  }
 31339  
 31340  // SetNextToken sets the NextToken field's value.
 31341  func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
 31342  	s.NextToken = &v
 31343  	return s
 31344  }
 31345  
 31346  type DescribeActionTargetsOutput struct {
 31347  	_ struct{} `type:"structure"`
 31348  
 31349  	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
 31350  	// Description, and Name of a custom action target available in Security Hub.
 31351  	//
 31352  	// ActionTargets is a required field
 31353  	ActionTargets []*ActionTarget `type:"list" required:"true"`
 31354  
 31355  	// The pagination token to use to request the next page of results.
 31356  	NextToken *string `type:"string"`
 31357  }
 31358  
 31359  // String returns the string representation.
 31360  //
 31361  // API parameter values that are decorated as "sensitive" in the API will not
 31362  // be included in the string output. The member name will be present, but the
 31363  // value will be replaced with "sensitive".
 31364  func (s DescribeActionTargetsOutput) String() string {
 31365  	return awsutil.Prettify(s)
 31366  }
 31367  
 31368  // GoString returns the string representation.
 31369  //
 31370  // API parameter values that are decorated as "sensitive" in the API will not
 31371  // be included in the string output. The member name will be present, but the
 31372  // value will be replaced with "sensitive".
 31373  func (s DescribeActionTargetsOutput) GoString() string {
 31374  	return s.String()
 31375  }
 31376  
 31377  // SetActionTargets sets the ActionTargets field's value.
 31378  func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
 31379  	s.ActionTargets = v
 31380  	return s
 31381  }
 31382  
 31383  // SetNextToken sets the NextToken field's value.
 31384  func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
 31385  	s.NextToken = &v
 31386  	return s
 31387  }
 31388  
 31389  type DescribeHubInput struct {
 31390  	_ struct{} `type:"structure" nopayload:"true"`
 31391  
 31392  	// The ARN of the Hub resource to retrieve.
 31393  	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
 31394  }
 31395  
 31396  // String returns the string representation.
 31397  //
 31398  // API parameter values that are decorated as "sensitive" in the API will not
 31399  // be included in the string output. The member name will be present, but the
 31400  // value will be replaced with "sensitive".
 31401  func (s DescribeHubInput) String() string {
 31402  	return awsutil.Prettify(s)
 31403  }
 31404  
 31405  // GoString returns the string representation.
 31406  //
 31407  // API parameter values that are decorated as "sensitive" in the API will not
 31408  // be included in the string output. The member name will be present, but the
 31409  // value will be replaced with "sensitive".
 31410  func (s DescribeHubInput) GoString() string {
 31411  	return s.String()
 31412  }
 31413  
 31414  // SetHubArn sets the HubArn field's value.
 31415  func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
 31416  	s.HubArn = &v
 31417  	return s
 31418  }
 31419  
 31420  type DescribeHubOutput struct {
 31421  	_ struct{} `type:"structure"`
 31422  
 31423  	// Whether to automatically enable new controls when they are added to standards
 31424  	// that are enabled.
 31425  	//
 31426  	// If set to true, then new controls for enabled standards are enabled automatically.
 31427  	// If set to false, then new controls are not enabled.
 31428  	AutoEnableControls *bool `type:"boolean"`
 31429  
 31430  	// The ARN of the Hub resource that was retrieved.
 31431  	HubArn *string `type:"string"`
 31432  
 31433  	// The date and time when Security Hub was enabled in the account.
 31434  	SubscribedAt *string `type:"string"`
 31435  }
 31436  
 31437  // String returns the string representation.
 31438  //
 31439  // API parameter values that are decorated as "sensitive" in the API will not
 31440  // be included in the string output. The member name will be present, but the
 31441  // value will be replaced with "sensitive".
 31442  func (s DescribeHubOutput) String() string {
 31443  	return awsutil.Prettify(s)
 31444  }
 31445  
 31446  // GoString returns the string representation.
 31447  //
 31448  // API parameter values that are decorated as "sensitive" in the API will not
 31449  // be included in the string output. The member name will be present, but the
 31450  // value will be replaced with "sensitive".
 31451  func (s DescribeHubOutput) GoString() string {
 31452  	return s.String()
 31453  }
 31454  
 31455  // SetAutoEnableControls sets the AutoEnableControls field's value.
 31456  func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
 31457  	s.AutoEnableControls = &v
 31458  	return s
 31459  }
 31460  
 31461  // SetHubArn sets the HubArn field's value.
 31462  func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
 31463  	s.HubArn = &v
 31464  	return s
 31465  }
 31466  
 31467  // SetSubscribedAt sets the SubscribedAt field's value.
 31468  func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
 31469  	s.SubscribedAt = &v
 31470  	return s
 31471  }
 31472  
 31473  type DescribeOrganizationConfigurationInput struct {
 31474  	_ struct{} `type:"structure" nopayload:"true"`
 31475  }
 31476  
 31477  // String returns the string representation.
 31478  //
 31479  // API parameter values that are decorated as "sensitive" in the API will not
 31480  // be included in the string output. The member name will be present, but the
 31481  // value will be replaced with "sensitive".
 31482  func (s DescribeOrganizationConfigurationInput) String() string {
 31483  	return awsutil.Prettify(s)
 31484  }
 31485  
 31486  // GoString returns the string representation.
 31487  //
 31488  // API parameter values that are decorated as "sensitive" in the API will not
 31489  // be included in the string output. The member name will be present, but the
 31490  // value will be replaced with "sensitive".
 31491  func (s DescribeOrganizationConfigurationInput) GoString() string {
 31492  	return s.String()
 31493  }
 31494  
 31495  type DescribeOrganizationConfigurationOutput struct {
 31496  	_ struct{} `type:"structure"`
 31497  
 31498  	// Whether to automatically enable Security Hub for new accounts in the organization.
 31499  	//
 31500  	// If set to true, then Security Hub is enabled for new accounts. If set to
 31501  	// false, then new accounts are not added automatically.
 31502  	AutoEnable *bool `type:"boolean"`
 31503  
 31504  	// Whether the maximum number of allowed member accounts are already associated
 31505  	// with the Security Hub administrator account.
 31506  	MemberAccountLimitReached *bool `type:"boolean"`
 31507  }
 31508  
 31509  // String returns the string representation.
 31510  //
 31511  // API parameter values that are decorated as "sensitive" in the API will not
 31512  // be included in the string output. The member name will be present, but the
 31513  // value will be replaced with "sensitive".
 31514  func (s DescribeOrganizationConfigurationOutput) String() string {
 31515  	return awsutil.Prettify(s)
 31516  }
 31517  
 31518  // GoString returns the string representation.
 31519  //
 31520  // API parameter values that are decorated as "sensitive" in the API will not
 31521  // be included in the string output. The member name will be present, but the
 31522  // value will be replaced with "sensitive".
 31523  func (s DescribeOrganizationConfigurationOutput) GoString() string {
 31524  	return s.String()
 31525  }
 31526  
 31527  // SetAutoEnable sets the AutoEnable field's value.
 31528  func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
 31529  	s.AutoEnable = &v
 31530  	return s
 31531  }
 31532  
 31533  // SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
 31534  func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
 31535  	s.MemberAccountLimitReached = &v
 31536  	return s
 31537  }
 31538  
 31539  type DescribeProductsInput struct {
 31540  	_ struct{} `type:"structure" nopayload:"true"`
 31541  
 31542  	// The maximum number of results to return.
 31543  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 31544  
 31545  	// The token that is required for pagination. On your first call to the DescribeProducts
 31546  	// operation, set the value of this parameter to NULL.
 31547  	//
 31548  	// For subsequent calls to the operation, to continue listing data, set the
 31549  	// value of this parameter to the value returned from the previous response.
 31550  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 31551  
 31552  	// The ARN of the integration to return.
 31553  	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
 31554  }
 31555  
 31556  // String returns the string representation.
 31557  //
 31558  // API parameter values that are decorated as "sensitive" in the API will not
 31559  // be included in the string output. The member name will be present, but the
 31560  // value will be replaced with "sensitive".
 31561  func (s DescribeProductsInput) String() string {
 31562  	return awsutil.Prettify(s)
 31563  }
 31564  
 31565  // GoString returns the string representation.
 31566  //
 31567  // API parameter values that are decorated as "sensitive" in the API will not
 31568  // be included in the string output. The member name will be present, but the
 31569  // value will be replaced with "sensitive".
 31570  func (s DescribeProductsInput) GoString() string {
 31571  	return s.String()
 31572  }
 31573  
 31574  // Validate inspects the fields of the type to determine if they are valid.
 31575  func (s *DescribeProductsInput) Validate() error {
 31576  	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
 31577  	if s.MaxResults != nil && *s.MaxResults < 1 {
 31578  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 31579  	}
 31580  
 31581  	if invalidParams.Len() > 0 {
 31582  		return invalidParams
 31583  	}
 31584  	return nil
 31585  }
 31586  
 31587  // SetMaxResults sets the MaxResults field's value.
 31588  func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
 31589  	s.MaxResults = &v
 31590  	return s
 31591  }
 31592  
 31593  // SetNextToken sets the NextToken field's value.
 31594  func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
 31595  	s.NextToken = &v
 31596  	return s
 31597  }
 31598  
 31599  // SetProductArn sets the ProductArn field's value.
 31600  func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
 31601  	s.ProductArn = &v
 31602  	return s
 31603  }
 31604  
 31605  type DescribeProductsOutput struct {
 31606  	_ struct{} `type:"structure"`
 31607  
 31608  	// The pagination token to use to request the next page of results.
 31609  	NextToken *string `type:"string"`
 31610  
 31611  	// A list of products, including details for each product.
 31612  	//
 31613  	// Products is a required field
 31614  	Products []*Product `type:"list" required:"true"`
 31615  }
 31616  
 31617  // String returns the string representation.
 31618  //
 31619  // API parameter values that are decorated as "sensitive" in the API will not
 31620  // be included in the string output. The member name will be present, but the
 31621  // value will be replaced with "sensitive".
 31622  func (s DescribeProductsOutput) String() string {
 31623  	return awsutil.Prettify(s)
 31624  }
 31625  
 31626  // GoString returns the string representation.
 31627  //
 31628  // API parameter values that are decorated as "sensitive" in the API will not
 31629  // be included in the string output. The member name will be present, but the
 31630  // value will be replaced with "sensitive".
 31631  func (s DescribeProductsOutput) GoString() string {
 31632  	return s.String()
 31633  }
 31634  
 31635  // SetNextToken sets the NextToken field's value.
 31636  func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
 31637  	s.NextToken = &v
 31638  	return s
 31639  }
 31640  
 31641  // SetProducts sets the Products field's value.
 31642  func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
 31643  	s.Products = v
 31644  	return s
 31645  }
 31646  
 31647  type DescribeStandardsControlsInput struct {
 31648  	_ struct{} `type:"structure" nopayload:"true"`
 31649  
 31650  	// The maximum number of security standard controls to return.
 31651  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 31652  
 31653  	// The token that is required for pagination. On your first call to the DescribeStandardsControls
 31654  	// operation, set the value of this parameter to NULL.
 31655  	//
 31656  	// For subsequent calls to the operation, to continue listing data, set the
 31657  	// value of this parameter to the value returned from the previous response.
 31658  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 31659  
 31660  	// The ARN of a resource that represents your subscription to a supported standard.
 31661  	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
 31662  	// operation.
 31663  	//
 31664  	// StandardsSubscriptionArn is a required field
 31665  	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
 31666  }
 31667  
 31668  // String returns the string representation.
 31669  //
 31670  // API parameter values that are decorated as "sensitive" in the API will not
 31671  // be included in the string output. The member name will be present, but the
 31672  // value will be replaced with "sensitive".
 31673  func (s DescribeStandardsControlsInput) String() string {
 31674  	return awsutil.Prettify(s)
 31675  }
 31676  
 31677  // GoString returns the string representation.
 31678  //
 31679  // API parameter values that are decorated as "sensitive" in the API will not
 31680  // be included in the string output. The member name will be present, but the
 31681  // value will be replaced with "sensitive".
 31682  func (s DescribeStandardsControlsInput) GoString() string {
 31683  	return s.String()
 31684  }
 31685  
 31686  // Validate inspects the fields of the type to determine if they are valid.
 31687  func (s *DescribeStandardsControlsInput) Validate() error {
 31688  	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
 31689  	if s.MaxResults != nil && *s.MaxResults < 1 {
 31690  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 31691  	}
 31692  	if s.StandardsSubscriptionArn == nil {
 31693  		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
 31694  	}
 31695  	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
 31696  		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
 31697  	}
 31698  
 31699  	if invalidParams.Len() > 0 {
 31700  		return invalidParams
 31701  	}
 31702  	return nil
 31703  }
 31704  
 31705  // SetMaxResults sets the MaxResults field's value.
 31706  func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
 31707  	s.MaxResults = &v
 31708  	return s
 31709  }
 31710  
 31711  // SetNextToken sets the NextToken field's value.
 31712  func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
 31713  	s.NextToken = &v
 31714  	return s
 31715  }
 31716  
 31717  // SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
 31718  func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
 31719  	s.StandardsSubscriptionArn = &v
 31720  	return s
 31721  }
 31722  
 31723  type DescribeStandardsControlsOutput struct {
 31724  	_ struct{} `type:"structure"`
 31725  
 31726  	// A list of security standards controls.
 31727  	Controls []*StandardsControl `type:"list"`
 31728  
 31729  	// The pagination token to use to request the next page of results.
 31730  	NextToken *string `type:"string"`
 31731  }
 31732  
 31733  // String returns the string representation.
 31734  //
 31735  // API parameter values that are decorated as "sensitive" in the API will not
 31736  // be included in the string output. The member name will be present, but the
 31737  // value will be replaced with "sensitive".
 31738  func (s DescribeStandardsControlsOutput) String() string {
 31739  	return awsutil.Prettify(s)
 31740  }
 31741  
 31742  // GoString returns the string representation.
 31743  //
 31744  // API parameter values that are decorated as "sensitive" in the API will not
 31745  // be included in the string output. The member name will be present, but the
 31746  // value will be replaced with "sensitive".
 31747  func (s DescribeStandardsControlsOutput) GoString() string {
 31748  	return s.String()
 31749  }
 31750  
 31751  // SetControls sets the Controls field's value.
 31752  func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
 31753  	s.Controls = v
 31754  	return s
 31755  }
 31756  
 31757  // SetNextToken sets the NextToken field's value.
 31758  func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
 31759  	s.NextToken = &v
 31760  	return s
 31761  }
 31762  
 31763  type DescribeStandardsInput struct {
 31764  	_ struct{} `type:"structure" nopayload:"true"`
 31765  
 31766  	// The maximum number of standards to return.
 31767  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 31768  
 31769  	// The token that is required for pagination. On your first call to the DescribeStandards
 31770  	// operation, set the value of this parameter to NULL.
 31771  	//
 31772  	// For subsequent calls to the operation, to continue listing data, set the
 31773  	// value of this parameter to the value returned from the previous response.
 31774  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 31775  }
 31776  
 31777  // String returns the string representation.
 31778  //
 31779  // API parameter values that are decorated as "sensitive" in the API will not
 31780  // be included in the string output. The member name will be present, but the
 31781  // value will be replaced with "sensitive".
 31782  func (s DescribeStandardsInput) String() string {
 31783  	return awsutil.Prettify(s)
 31784  }
 31785  
 31786  // GoString returns the string representation.
 31787  //
 31788  // API parameter values that are decorated as "sensitive" in the API will not
 31789  // be included in the string output. The member name will be present, but the
 31790  // value will be replaced with "sensitive".
 31791  func (s DescribeStandardsInput) GoString() string {
 31792  	return s.String()
 31793  }
 31794  
 31795  // Validate inspects the fields of the type to determine if they are valid.
 31796  func (s *DescribeStandardsInput) Validate() error {
 31797  	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
 31798  	if s.MaxResults != nil && *s.MaxResults < 1 {
 31799  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 31800  	}
 31801  
 31802  	if invalidParams.Len() > 0 {
 31803  		return invalidParams
 31804  	}
 31805  	return nil
 31806  }
 31807  
 31808  // SetMaxResults sets the MaxResults field's value.
 31809  func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
 31810  	s.MaxResults = &v
 31811  	return s
 31812  }
 31813  
 31814  // SetNextToken sets the NextToken field's value.
 31815  func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
 31816  	s.NextToken = &v
 31817  	return s
 31818  }
 31819  
 31820  type DescribeStandardsOutput struct {
 31821  	_ struct{} `type:"structure"`
 31822  
 31823  	// The pagination token to use to request the next page of results.
 31824  	NextToken *string `type:"string"`
 31825  
 31826  	// A list of available standards.
 31827  	Standards []*Standard `type:"list"`
 31828  }
 31829  
 31830  // String returns the string representation.
 31831  //
 31832  // API parameter values that are decorated as "sensitive" in the API will not
 31833  // be included in the string output. The member name will be present, but the
 31834  // value will be replaced with "sensitive".
 31835  func (s DescribeStandardsOutput) String() string {
 31836  	return awsutil.Prettify(s)
 31837  }
 31838  
 31839  // GoString returns the string representation.
 31840  //
 31841  // API parameter values that are decorated as "sensitive" in the API will not
 31842  // be included in the string output. The member name will be present, but the
 31843  // value will be replaced with "sensitive".
 31844  func (s DescribeStandardsOutput) GoString() string {
 31845  	return s.String()
 31846  }
 31847  
 31848  // SetNextToken sets the NextToken field's value.
 31849  func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
 31850  	s.NextToken = &v
 31851  	return s
 31852  }
 31853  
 31854  // SetStandards sets the Standards field's value.
 31855  func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
 31856  	s.Standards = v
 31857  	return s
 31858  }
 31859  
 31860  type DisableImportFindingsForProductInput struct {
 31861  	_ struct{} `type:"structure" nopayload:"true"`
 31862  
 31863  	// The ARN of the integrated product to disable the integration for.
 31864  	//
 31865  	// ProductSubscriptionArn is a required field
 31866  	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
 31867  }
 31868  
 31869  // String returns the string representation.
 31870  //
 31871  // API parameter values that are decorated as "sensitive" in the API will not
 31872  // be included in the string output. The member name will be present, but the
 31873  // value will be replaced with "sensitive".
 31874  func (s DisableImportFindingsForProductInput) String() string {
 31875  	return awsutil.Prettify(s)
 31876  }
 31877  
 31878  // GoString returns the string representation.
 31879  //
 31880  // API parameter values that are decorated as "sensitive" in the API will not
 31881  // be included in the string output. The member name will be present, but the
 31882  // value will be replaced with "sensitive".
 31883  func (s DisableImportFindingsForProductInput) GoString() string {
 31884  	return s.String()
 31885  }
 31886  
 31887  // Validate inspects the fields of the type to determine if they are valid.
 31888  func (s *DisableImportFindingsForProductInput) Validate() error {
 31889  	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
 31890  	if s.ProductSubscriptionArn == nil {
 31891  		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
 31892  	}
 31893  	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
 31894  		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
 31895  	}
 31896  
 31897  	if invalidParams.Len() > 0 {
 31898  		return invalidParams
 31899  	}
 31900  	return nil
 31901  }
 31902  
 31903  // SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
 31904  func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
 31905  	s.ProductSubscriptionArn = &v
 31906  	return s
 31907  }
 31908  
 31909  type DisableImportFindingsForProductOutput struct {
 31910  	_ struct{} `type:"structure" nopayload:"true"`
 31911  }
 31912  
 31913  // String returns the string representation.
 31914  //
 31915  // API parameter values that are decorated as "sensitive" in the API will not
 31916  // be included in the string output. The member name will be present, but the
 31917  // value will be replaced with "sensitive".
 31918  func (s DisableImportFindingsForProductOutput) String() string {
 31919  	return awsutil.Prettify(s)
 31920  }
 31921  
 31922  // GoString returns the string representation.
 31923  //
 31924  // API parameter values that are decorated as "sensitive" in the API will not
 31925  // be included in the string output. The member name will be present, but the
 31926  // value will be replaced with "sensitive".
 31927  func (s DisableImportFindingsForProductOutput) GoString() string {
 31928  	return s.String()
 31929  }
 31930  
 31931  type DisableOrganizationAdminAccountInput struct {
 31932  	_ struct{} `type:"structure"`
 31933  
 31934  	// The Amazon Web Services account identifier of the Security Hub administrator
 31935  	// account.
 31936  	//
 31937  	// AdminAccountId is a required field
 31938  	AdminAccountId *string `type:"string" required:"true"`
 31939  }
 31940  
 31941  // String returns the string representation.
 31942  //
 31943  // API parameter values that are decorated as "sensitive" in the API will not
 31944  // be included in the string output. The member name will be present, but the
 31945  // value will be replaced with "sensitive".
 31946  func (s DisableOrganizationAdminAccountInput) String() string {
 31947  	return awsutil.Prettify(s)
 31948  }
 31949  
 31950  // GoString returns the string representation.
 31951  //
 31952  // API parameter values that are decorated as "sensitive" in the API will not
 31953  // be included in the string output. The member name will be present, but the
 31954  // value will be replaced with "sensitive".
 31955  func (s DisableOrganizationAdminAccountInput) GoString() string {
 31956  	return s.String()
 31957  }
 31958  
 31959  // Validate inspects the fields of the type to determine if they are valid.
 31960  func (s *DisableOrganizationAdminAccountInput) Validate() error {
 31961  	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
 31962  	if s.AdminAccountId == nil {
 31963  		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
 31964  	}
 31965  
 31966  	if invalidParams.Len() > 0 {
 31967  		return invalidParams
 31968  	}
 31969  	return nil
 31970  }
 31971  
 31972  // SetAdminAccountId sets the AdminAccountId field's value.
 31973  func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
 31974  	s.AdminAccountId = &v
 31975  	return s
 31976  }
 31977  
 31978  type DisableOrganizationAdminAccountOutput struct {
 31979  	_ struct{} `type:"structure" nopayload:"true"`
 31980  }
 31981  
 31982  // String returns the string representation.
 31983  //
 31984  // API parameter values that are decorated as "sensitive" in the API will not
 31985  // be included in the string output. The member name will be present, but the
 31986  // value will be replaced with "sensitive".
 31987  func (s DisableOrganizationAdminAccountOutput) String() string {
 31988  	return awsutil.Prettify(s)
 31989  }
 31990  
 31991  // GoString returns the string representation.
 31992  //
 31993  // API parameter values that are decorated as "sensitive" in the API will not
 31994  // be included in the string output. The member name will be present, but the
 31995  // value will be replaced with "sensitive".
 31996  func (s DisableOrganizationAdminAccountOutput) GoString() string {
 31997  	return s.String()
 31998  }
 31999  
 32000  type DisableSecurityHubInput struct {
 32001  	_ struct{} `type:"structure" nopayload:"true"`
 32002  }
 32003  
 32004  // String returns the string representation.
 32005  //
 32006  // API parameter values that are decorated as "sensitive" in the API will not
 32007  // be included in the string output. The member name will be present, but the
 32008  // value will be replaced with "sensitive".
 32009  func (s DisableSecurityHubInput) String() string {
 32010  	return awsutil.Prettify(s)
 32011  }
 32012  
 32013  // GoString returns the string representation.
 32014  //
 32015  // API parameter values that are decorated as "sensitive" in the API will not
 32016  // be included in the string output. The member name will be present, but the
 32017  // value will be replaced with "sensitive".
 32018  func (s DisableSecurityHubInput) GoString() string {
 32019  	return s.String()
 32020  }
 32021  
 32022  type DisableSecurityHubOutput struct {
 32023  	_ struct{} `type:"structure" nopayload:"true"`
 32024  }
 32025  
 32026  // String returns the string representation.
 32027  //
 32028  // API parameter values that are decorated as "sensitive" in the API will not
 32029  // be included in the string output. The member name will be present, but the
 32030  // value will be replaced with "sensitive".
 32031  func (s DisableSecurityHubOutput) String() string {
 32032  	return awsutil.Prettify(s)
 32033  }
 32034  
 32035  // GoString returns the string representation.
 32036  //
 32037  // API parameter values that are decorated as "sensitive" in the API will not
 32038  // be included in the string output. The member name will be present, but the
 32039  // value will be replaced with "sensitive".
 32040  func (s DisableSecurityHubOutput) GoString() string {
 32041  	return s.String()
 32042  }
 32043  
 32044  type DisassociateFromAdministratorAccountInput struct {
 32045  	_ struct{} `type:"structure" nopayload:"true"`
 32046  }
 32047  
 32048  // String returns the string representation.
 32049  //
 32050  // API parameter values that are decorated as "sensitive" in the API will not
 32051  // be included in the string output. The member name will be present, but the
 32052  // value will be replaced with "sensitive".
 32053  func (s DisassociateFromAdministratorAccountInput) String() string {
 32054  	return awsutil.Prettify(s)
 32055  }
 32056  
 32057  // GoString returns the string representation.
 32058  //
 32059  // API parameter values that are decorated as "sensitive" in the API will not
 32060  // be included in the string output. The member name will be present, but the
 32061  // value will be replaced with "sensitive".
 32062  func (s DisassociateFromAdministratorAccountInput) GoString() string {
 32063  	return s.String()
 32064  }
 32065  
 32066  type DisassociateFromAdministratorAccountOutput struct {
 32067  	_ struct{} `type:"structure" nopayload:"true"`
 32068  }
 32069  
 32070  // String returns the string representation.
 32071  //
 32072  // API parameter values that are decorated as "sensitive" in the API will not
 32073  // be included in the string output. The member name will be present, but the
 32074  // value will be replaced with "sensitive".
 32075  func (s DisassociateFromAdministratorAccountOutput) String() string {
 32076  	return awsutil.Prettify(s)
 32077  }
 32078  
 32079  // GoString returns the string representation.
 32080  //
 32081  // API parameter values that are decorated as "sensitive" in the API will not
 32082  // be included in the string output. The member name will be present, but the
 32083  // value will be replaced with "sensitive".
 32084  func (s DisassociateFromAdministratorAccountOutput) GoString() string {
 32085  	return s.String()
 32086  }
 32087  
 32088  type DisassociateFromMasterAccountInput struct {
 32089  	_ struct{} `type:"structure" nopayload:"true"`
 32090  }
 32091  
 32092  // String returns the string representation.
 32093  //
 32094  // API parameter values that are decorated as "sensitive" in the API will not
 32095  // be included in the string output. The member name will be present, but the
 32096  // value will be replaced with "sensitive".
 32097  func (s DisassociateFromMasterAccountInput) String() string {
 32098  	return awsutil.Prettify(s)
 32099  }
 32100  
 32101  // GoString returns the string representation.
 32102  //
 32103  // API parameter values that are decorated as "sensitive" in the API will not
 32104  // be included in the string output. The member name will be present, but the
 32105  // value will be replaced with "sensitive".
 32106  func (s DisassociateFromMasterAccountInput) GoString() string {
 32107  	return s.String()
 32108  }
 32109  
 32110  type DisassociateFromMasterAccountOutput struct {
 32111  	_ struct{} `type:"structure" nopayload:"true"`
 32112  }
 32113  
 32114  // String returns the string representation.
 32115  //
 32116  // API parameter values that are decorated as "sensitive" in the API will not
 32117  // be included in the string output. The member name will be present, but the
 32118  // value will be replaced with "sensitive".
 32119  func (s DisassociateFromMasterAccountOutput) String() string {
 32120  	return awsutil.Prettify(s)
 32121  }
 32122  
 32123  // GoString returns the string representation.
 32124  //
 32125  // API parameter values that are decorated as "sensitive" in the API will not
 32126  // be included in the string output. The member name will be present, but the
 32127  // value will be replaced with "sensitive".
 32128  func (s DisassociateFromMasterAccountOutput) GoString() string {
 32129  	return s.String()
 32130  }
 32131  
 32132  type DisassociateMembersInput struct {
 32133  	_ struct{} `type:"structure"`
 32134  
 32135  	// The account IDs of the member accounts to disassociate from the administrator
 32136  	// account.
 32137  	//
 32138  	// AccountIds is a required field
 32139  	AccountIds []*string `type:"list" required:"true"`
 32140  }
 32141  
 32142  // String returns the string representation.
 32143  //
 32144  // API parameter values that are decorated as "sensitive" in the API will not
 32145  // be included in the string output. The member name will be present, but the
 32146  // value will be replaced with "sensitive".
 32147  func (s DisassociateMembersInput) String() string {
 32148  	return awsutil.Prettify(s)
 32149  }
 32150  
 32151  // GoString returns the string representation.
 32152  //
 32153  // API parameter values that are decorated as "sensitive" in the API will not
 32154  // be included in the string output. The member name will be present, but the
 32155  // value will be replaced with "sensitive".
 32156  func (s DisassociateMembersInput) GoString() string {
 32157  	return s.String()
 32158  }
 32159  
 32160  // Validate inspects the fields of the type to determine if they are valid.
 32161  func (s *DisassociateMembersInput) Validate() error {
 32162  	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
 32163  	if s.AccountIds == nil {
 32164  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 32165  	}
 32166  
 32167  	if invalidParams.Len() > 0 {
 32168  		return invalidParams
 32169  	}
 32170  	return nil
 32171  }
 32172  
 32173  // SetAccountIds sets the AccountIds field's value.
 32174  func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
 32175  	s.AccountIds = v
 32176  	return s
 32177  }
 32178  
 32179  type DisassociateMembersOutput struct {
 32180  	_ struct{} `type:"structure" nopayload:"true"`
 32181  }
 32182  
 32183  // String returns the string representation.
 32184  //
 32185  // API parameter values that are decorated as "sensitive" in the API will not
 32186  // be included in the string output. The member name will be present, but the
 32187  // value will be replaced with "sensitive".
 32188  func (s DisassociateMembersOutput) String() string {
 32189  	return awsutil.Prettify(s)
 32190  }
 32191  
 32192  // GoString returns the string representation.
 32193  //
 32194  // API parameter values that are decorated as "sensitive" in the API will not
 32195  // be included in the string output. The member name will be present, but the
 32196  // value will be replaced with "sensitive".
 32197  func (s DisassociateMembersOutput) GoString() string {
 32198  	return s.String()
 32199  }
 32200  
 32201  // Provided if ActionType is DNS_REQUEST. It provides details about the DNS
 32202  // request that was detected.
 32203  type DnsRequestAction struct {
 32204  	_ struct{} `type:"structure"`
 32205  
 32206  	// Indicates whether the DNS request was blocked.
 32207  	Blocked *bool `type:"boolean"`
 32208  
 32209  	// The DNS domain that is associated with the DNS request.
 32210  	Domain *string `type:"string"`
 32211  
 32212  	// The protocol that was used for the DNS request.
 32213  	Protocol *string `type:"string"`
 32214  }
 32215  
 32216  // String returns the string representation.
 32217  //
 32218  // API parameter values that are decorated as "sensitive" in the API will not
 32219  // be included in the string output. The member name will be present, but the
 32220  // value will be replaced with "sensitive".
 32221  func (s DnsRequestAction) String() string {
 32222  	return awsutil.Prettify(s)
 32223  }
 32224  
 32225  // GoString returns the string representation.
 32226  //
 32227  // API parameter values that are decorated as "sensitive" in the API will not
 32228  // be included in the string output. The member name will be present, but the
 32229  // value will be replaced with "sensitive".
 32230  func (s DnsRequestAction) GoString() string {
 32231  	return s.String()
 32232  }
 32233  
 32234  // SetBlocked sets the Blocked field's value.
 32235  func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
 32236  	s.Blocked = &v
 32237  	return s
 32238  }
 32239  
 32240  // SetDomain sets the Domain field's value.
 32241  func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
 32242  	s.Domain = &v
 32243  	return s
 32244  }
 32245  
 32246  // SetProtocol sets the Protocol field's value.
 32247  func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
 32248  	s.Protocol = &v
 32249  	return s
 32250  }
 32251  
 32252  type EnableImportFindingsForProductInput struct {
 32253  	_ struct{} `type:"structure"`
 32254  
 32255  	// The ARN of the product to enable the integration for.
 32256  	//
 32257  	// ProductArn is a required field
 32258  	ProductArn *string `type:"string" required:"true"`
 32259  }
 32260  
 32261  // String returns the string representation.
 32262  //
 32263  // API parameter values that are decorated as "sensitive" in the API will not
 32264  // be included in the string output. The member name will be present, but the
 32265  // value will be replaced with "sensitive".
 32266  func (s EnableImportFindingsForProductInput) String() string {
 32267  	return awsutil.Prettify(s)
 32268  }
 32269  
 32270  // GoString returns the string representation.
 32271  //
 32272  // API parameter values that are decorated as "sensitive" in the API will not
 32273  // be included in the string output. The member name will be present, but the
 32274  // value will be replaced with "sensitive".
 32275  func (s EnableImportFindingsForProductInput) GoString() string {
 32276  	return s.String()
 32277  }
 32278  
 32279  // Validate inspects the fields of the type to determine if they are valid.
 32280  func (s *EnableImportFindingsForProductInput) Validate() error {
 32281  	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
 32282  	if s.ProductArn == nil {
 32283  		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
 32284  	}
 32285  
 32286  	if invalidParams.Len() > 0 {
 32287  		return invalidParams
 32288  	}
 32289  	return nil
 32290  }
 32291  
 32292  // SetProductArn sets the ProductArn field's value.
 32293  func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
 32294  	s.ProductArn = &v
 32295  	return s
 32296  }
 32297  
 32298  type EnableImportFindingsForProductOutput struct {
 32299  	_ struct{} `type:"structure"`
 32300  
 32301  	// The ARN of your subscription to the product to enable integrations for.
 32302  	ProductSubscriptionArn *string `type:"string"`
 32303  }
 32304  
 32305  // String returns the string representation.
 32306  //
 32307  // API parameter values that are decorated as "sensitive" in the API will not
 32308  // be included in the string output. The member name will be present, but the
 32309  // value will be replaced with "sensitive".
 32310  func (s EnableImportFindingsForProductOutput) String() string {
 32311  	return awsutil.Prettify(s)
 32312  }
 32313  
 32314  // GoString returns the string representation.
 32315  //
 32316  // API parameter values that are decorated as "sensitive" in the API will not
 32317  // be included in the string output. The member name will be present, but the
 32318  // value will be replaced with "sensitive".
 32319  func (s EnableImportFindingsForProductOutput) GoString() string {
 32320  	return s.String()
 32321  }
 32322  
 32323  // SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
 32324  func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
 32325  	s.ProductSubscriptionArn = &v
 32326  	return s
 32327  }
 32328  
 32329  type EnableOrganizationAdminAccountInput struct {
 32330  	_ struct{} `type:"structure"`
 32331  
 32332  	// The Amazon Web Services account identifier of the account to designate as
 32333  	// the Security Hub administrator account.
 32334  	//
 32335  	// AdminAccountId is a required field
 32336  	AdminAccountId *string `type:"string" required:"true"`
 32337  }
 32338  
 32339  // String returns the string representation.
 32340  //
 32341  // API parameter values that are decorated as "sensitive" in the API will not
 32342  // be included in the string output. The member name will be present, but the
 32343  // value will be replaced with "sensitive".
 32344  func (s EnableOrganizationAdminAccountInput) String() string {
 32345  	return awsutil.Prettify(s)
 32346  }
 32347  
 32348  // GoString returns the string representation.
 32349  //
 32350  // API parameter values that are decorated as "sensitive" in the API will not
 32351  // be included in the string output. The member name will be present, but the
 32352  // value will be replaced with "sensitive".
 32353  func (s EnableOrganizationAdminAccountInput) GoString() string {
 32354  	return s.String()
 32355  }
 32356  
 32357  // Validate inspects the fields of the type to determine if they are valid.
 32358  func (s *EnableOrganizationAdminAccountInput) Validate() error {
 32359  	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
 32360  	if s.AdminAccountId == nil {
 32361  		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
 32362  	}
 32363  
 32364  	if invalidParams.Len() > 0 {
 32365  		return invalidParams
 32366  	}
 32367  	return nil
 32368  }
 32369  
 32370  // SetAdminAccountId sets the AdminAccountId field's value.
 32371  func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
 32372  	s.AdminAccountId = &v
 32373  	return s
 32374  }
 32375  
 32376  type EnableOrganizationAdminAccountOutput struct {
 32377  	_ struct{} `type:"structure" nopayload:"true"`
 32378  }
 32379  
 32380  // String returns the string representation.
 32381  //
 32382  // API parameter values that are decorated as "sensitive" in the API will not
 32383  // be included in the string output. The member name will be present, but the
 32384  // value will be replaced with "sensitive".
 32385  func (s EnableOrganizationAdminAccountOutput) String() string {
 32386  	return awsutil.Prettify(s)
 32387  }
 32388  
 32389  // GoString returns the string representation.
 32390  //
 32391  // API parameter values that are decorated as "sensitive" in the API will not
 32392  // be included in the string output. The member name will be present, but the
 32393  // value will be replaced with "sensitive".
 32394  func (s EnableOrganizationAdminAccountOutput) GoString() string {
 32395  	return s.String()
 32396  }
 32397  
 32398  type EnableSecurityHubInput struct {
 32399  	_ struct{} `type:"structure"`
 32400  
 32401  	// Whether to enable the security standards that Security Hub has designated
 32402  	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
 32403  	// it is set to true. To not enable the automatically enabled standards, set
 32404  	// EnableDefaultStandards to false.
 32405  	EnableDefaultStandards *bool `type:"boolean"`
 32406  
 32407  	// The tags to add to the hub resource when you enable Security Hub.
 32408  	Tags map[string]*string `min:"1" type:"map"`
 32409  }
 32410  
 32411  // String returns the string representation.
 32412  //
 32413  // API parameter values that are decorated as "sensitive" in the API will not
 32414  // be included in the string output. The member name will be present, but the
 32415  // value will be replaced with "sensitive".
 32416  func (s EnableSecurityHubInput) String() string {
 32417  	return awsutil.Prettify(s)
 32418  }
 32419  
 32420  // GoString returns the string representation.
 32421  //
 32422  // API parameter values that are decorated as "sensitive" in the API will not
 32423  // be included in the string output. The member name will be present, but the
 32424  // value will be replaced with "sensitive".
 32425  func (s EnableSecurityHubInput) GoString() string {
 32426  	return s.String()
 32427  }
 32428  
 32429  // Validate inspects the fields of the type to determine if they are valid.
 32430  func (s *EnableSecurityHubInput) Validate() error {
 32431  	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
 32432  	if s.Tags != nil && len(s.Tags) < 1 {
 32433  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 32434  	}
 32435  
 32436  	if invalidParams.Len() > 0 {
 32437  		return invalidParams
 32438  	}
 32439  	return nil
 32440  }
 32441  
 32442  // SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
 32443  func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
 32444  	s.EnableDefaultStandards = &v
 32445  	return s
 32446  }
 32447  
 32448  // SetTags sets the Tags field's value.
 32449  func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
 32450  	s.Tags = v
 32451  	return s
 32452  }
 32453  
 32454  type EnableSecurityHubOutput struct {
 32455  	_ struct{} `type:"structure" nopayload:"true"`
 32456  }
 32457  
 32458  // String returns the string representation.
 32459  //
 32460  // API parameter values that are decorated as "sensitive" in the API will not
 32461  // be included in the string output. The member name will be present, but the
 32462  // value will be replaced with "sensitive".
 32463  func (s EnableSecurityHubOutput) String() string {
 32464  	return awsutil.Prettify(s)
 32465  }
 32466  
 32467  // GoString returns the string representation.
 32468  //
 32469  // API parameter values that are decorated as "sensitive" in the API will not
 32470  // be included in the string output. The member name will be present, but the
 32471  // value will be replaced with "sensitive".
 32472  func (s EnableSecurityHubOutput) GoString() string {
 32473  	return s.String()
 32474  }
 32475  
 32476  // In a BatchImportFindings request, finding providers use FindingProviderFields
 32477  // to provide and update values for confidence, criticality, related findings,
 32478  // severity, and types.
 32479  type FindingProviderFields struct {
 32480  	_ struct{} `type:"structure"`
 32481  
 32482  	// A finding's confidence. Confidence is defined as the likelihood that a finding
 32483  	// accurately identifies the behavior or issue that it was intended to identify.
 32484  	//
 32485  	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
 32486  	// zero percent confidence and 100 means 100 percent confidence.
 32487  	Confidence *int64 `type:"integer"`
 32488  
 32489  	// The level of importance assigned to the resources associated with the finding.
 32490  	//
 32491  	// A score of 0 means that the underlying resources have no criticality, and
 32492  	// a score of 100 is reserved for the most critical resources.
 32493  	Criticality *int64 `type:"integer"`
 32494  
 32495  	// A list of findings that are related to the current finding.
 32496  	RelatedFindings []*RelatedFinding `type:"list"`
 32497  
 32498  	// The severity of a finding.
 32499  	Severity *FindingProviderSeverity `type:"structure"`
 32500  
 32501  	// One or more finding types in the format of namespace/category/classifier
 32502  	// that classify a finding.
 32503  	//
 32504  	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
 32505  	// | Unusual Behaviors | Sensitive Data Identifications
 32506  	Types []*string `type:"list"`
 32507  }
 32508  
 32509  // String returns the string representation.
 32510  //
 32511  // API parameter values that are decorated as "sensitive" in the API will not
 32512  // be included in the string output. The member name will be present, but the
 32513  // value will be replaced with "sensitive".
 32514  func (s FindingProviderFields) String() string {
 32515  	return awsutil.Prettify(s)
 32516  }
 32517  
 32518  // GoString returns the string representation.
 32519  //
 32520  // API parameter values that are decorated as "sensitive" in the API will not
 32521  // be included in the string output. The member name will be present, but the
 32522  // value will be replaced with "sensitive".
 32523  func (s FindingProviderFields) GoString() string {
 32524  	return s.String()
 32525  }
 32526  
 32527  // Validate inspects the fields of the type to determine if they are valid.
 32528  func (s *FindingProviderFields) Validate() error {
 32529  	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
 32530  	if s.RelatedFindings != nil {
 32531  		for i, v := range s.RelatedFindings {
 32532  			if v == nil {
 32533  				continue
 32534  			}
 32535  			if err := v.Validate(); err != nil {
 32536  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
 32537  			}
 32538  		}
 32539  	}
 32540  
 32541  	if invalidParams.Len() > 0 {
 32542  		return invalidParams
 32543  	}
 32544  	return nil
 32545  }
 32546  
 32547  // SetConfidence sets the Confidence field's value.
 32548  func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
 32549  	s.Confidence = &v
 32550  	return s
 32551  }
 32552  
 32553  // SetCriticality sets the Criticality field's value.
 32554  func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
 32555  	s.Criticality = &v
 32556  	return s
 32557  }
 32558  
 32559  // SetRelatedFindings sets the RelatedFindings field's value.
 32560  func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
 32561  	s.RelatedFindings = v
 32562  	return s
 32563  }
 32564  
 32565  // SetSeverity sets the Severity field's value.
 32566  func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
 32567  	s.Severity = v
 32568  	return s
 32569  }
 32570  
 32571  // SetTypes sets the Types field's value.
 32572  func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
 32573  	s.Types = v
 32574  	return s
 32575  }
 32576  
 32577  // The severity assigned to the finding by the finding provider.
 32578  type FindingProviderSeverity struct {
 32579  	_ struct{} `type:"structure"`
 32580  
 32581  	// The severity label assigned to the finding by the finding provider.
 32582  	Label *string `type:"string" enum:"SeverityLabel"`
 32583  
 32584  	// The finding provider's original value for the severity.
 32585  	Original *string `type:"string"`
 32586  }
 32587  
 32588  // String returns the string representation.
 32589  //
 32590  // API parameter values that are decorated as "sensitive" in the API will not
 32591  // be included in the string output. The member name will be present, but the
 32592  // value will be replaced with "sensitive".
 32593  func (s FindingProviderSeverity) String() string {
 32594  	return awsutil.Prettify(s)
 32595  }
 32596  
 32597  // GoString returns the string representation.
 32598  //
 32599  // API parameter values that are decorated as "sensitive" in the API will not
 32600  // be included in the string output. The member name will be present, but the
 32601  // value will be replaced with "sensitive".
 32602  func (s FindingProviderSeverity) GoString() string {
 32603  	return s.String()
 32604  }
 32605  
 32606  // SetLabel sets the Label field's value.
 32607  func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
 32608  	s.Label = &v
 32609  	return s
 32610  }
 32611  
 32612  // SetOriginal sets the Original field's value.
 32613  func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
 32614  	s.Original = &v
 32615  	return s
 32616  }
 32617  
 32618  // Provides the latitude and longitude coordinates of a location.
 32619  type GeoLocation struct {
 32620  	_ struct{} `type:"structure"`
 32621  
 32622  	// The latitude of the location.
 32623  	Lat *float64 `type:"double"`
 32624  
 32625  	// The longitude of the location.
 32626  	Lon *float64 `type:"double"`
 32627  }
 32628  
 32629  // String returns the string representation.
 32630  //
 32631  // API parameter values that are decorated as "sensitive" in the API will not
 32632  // be included in the string output. The member name will be present, but the
 32633  // value will be replaced with "sensitive".
 32634  func (s GeoLocation) String() string {
 32635  	return awsutil.Prettify(s)
 32636  }
 32637  
 32638  // GoString returns the string representation.
 32639  //
 32640  // API parameter values that are decorated as "sensitive" in the API will not
 32641  // be included in the string output. The member name will be present, but the
 32642  // value will be replaced with "sensitive".
 32643  func (s GeoLocation) GoString() string {
 32644  	return s.String()
 32645  }
 32646  
 32647  // SetLat sets the Lat field's value.
 32648  func (s *GeoLocation) SetLat(v float64) *GeoLocation {
 32649  	s.Lat = &v
 32650  	return s
 32651  }
 32652  
 32653  // SetLon sets the Lon field's value.
 32654  func (s *GeoLocation) SetLon(v float64) *GeoLocation {
 32655  	s.Lon = &v
 32656  	return s
 32657  }
 32658  
 32659  type GetAdministratorAccountInput struct {
 32660  	_ struct{} `type:"structure" nopayload:"true"`
 32661  }
 32662  
 32663  // String returns the string representation.
 32664  //
 32665  // API parameter values that are decorated as "sensitive" in the API will not
 32666  // be included in the string output. The member name will be present, but the
 32667  // value will be replaced with "sensitive".
 32668  func (s GetAdministratorAccountInput) String() string {
 32669  	return awsutil.Prettify(s)
 32670  }
 32671  
 32672  // GoString returns the string representation.
 32673  //
 32674  // API parameter values that are decorated as "sensitive" in the API will not
 32675  // be included in the string output. The member name will be present, but the
 32676  // value will be replaced with "sensitive".
 32677  func (s GetAdministratorAccountInput) GoString() string {
 32678  	return s.String()
 32679  }
 32680  
 32681  type GetAdministratorAccountOutput struct {
 32682  	_ struct{} `type:"structure"`
 32683  
 32684  	// Details about an invitation.
 32685  	Administrator *Invitation `type:"structure"`
 32686  }
 32687  
 32688  // String returns the string representation.
 32689  //
 32690  // API parameter values that are decorated as "sensitive" in the API will not
 32691  // be included in the string output. The member name will be present, but the
 32692  // value will be replaced with "sensitive".
 32693  func (s GetAdministratorAccountOutput) String() string {
 32694  	return awsutil.Prettify(s)
 32695  }
 32696  
 32697  // GoString returns the string representation.
 32698  //
 32699  // API parameter values that are decorated as "sensitive" in the API will not
 32700  // be included in the string output. The member name will be present, but the
 32701  // value will be replaced with "sensitive".
 32702  func (s GetAdministratorAccountOutput) GoString() string {
 32703  	return s.String()
 32704  }
 32705  
 32706  // SetAdministrator sets the Administrator field's value.
 32707  func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
 32708  	s.Administrator = v
 32709  	return s
 32710  }
 32711  
 32712  type GetEnabledStandardsInput struct {
 32713  	_ struct{} `type:"structure"`
 32714  
 32715  	// The maximum number of results to return in the response.
 32716  	MaxResults *int64 `min:"1" type:"integer"`
 32717  
 32718  	// The token that is required for pagination. On your first call to the GetEnabledStandards
 32719  	// operation, set the value of this parameter to NULL.
 32720  	//
 32721  	// For subsequent calls to the operation, to continue listing data, set the
 32722  	// value of this parameter to the value returned from the previous response.
 32723  	NextToken *string `type:"string"`
 32724  
 32725  	// The list of the standards subscription ARNs for the standards to retrieve.
 32726  	StandardsSubscriptionArns []*string `min:"1" type:"list"`
 32727  }
 32728  
 32729  // String returns the string representation.
 32730  //
 32731  // API parameter values that are decorated as "sensitive" in the API will not
 32732  // be included in the string output. The member name will be present, but the
 32733  // value will be replaced with "sensitive".
 32734  func (s GetEnabledStandardsInput) String() string {
 32735  	return awsutil.Prettify(s)
 32736  }
 32737  
 32738  // GoString returns the string representation.
 32739  //
 32740  // API parameter values that are decorated as "sensitive" in the API will not
 32741  // be included in the string output. The member name will be present, but the
 32742  // value will be replaced with "sensitive".
 32743  func (s GetEnabledStandardsInput) GoString() string {
 32744  	return s.String()
 32745  }
 32746  
 32747  // Validate inspects the fields of the type to determine if they are valid.
 32748  func (s *GetEnabledStandardsInput) Validate() error {
 32749  	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
 32750  	if s.MaxResults != nil && *s.MaxResults < 1 {
 32751  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 32752  	}
 32753  	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
 32754  		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
 32755  	}
 32756  
 32757  	if invalidParams.Len() > 0 {
 32758  		return invalidParams
 32759  	}
 32760  	return nil
 32761  }
 32762  
 32763  // SetMaxResults sets the MaxResults field's value.
 32764  func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
 32765  	s.MaxResults = &v
 32766  	return s
 32767  }
 32768  
 32769  // SetNextToken sets the NextToken field's value.
 32770  func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
 32771  	s.NextToken = &v
 32772  	return s
 32773  }
 32774  
 32775  // SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
 32776  func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
 32777  	s.StandardsSubscriptionArns = v
 32778  	return s
 32779  }
 32780  
 32781  type GetEnabledStandardsOutput struct {
 32782  	_ struct{} `type:"structure"`
 32783  
 32784  	// The pagination token to use to request the next page of results.
 32785  	NextToken *string `type:"string"`
 32786  
 32787  	// The list of StandardsSubscriptions objects that include information about
 32788  	// the enabled standards.
 32789  	StandardsSubscriptions []*StandardsSubscription `type:"list"`
 32790  }
 32791  
 32792  // String returns the string representation.
 32793  //
 32794  // API parameter values that are decorated as "sensitive" in the API will not
 32795  // be included in the string output. The member name will be present, but the
 32796  // value will be replaced with "sensitive".
 32797  func (s GetEnabledStandardsOutput) String() string {
 32798  	return awsutil.Prettify(s)
 32799  }
 32800  
 32801  // GoString returns the string representation.
 32802  //
 32803  // API parameter values that are decorated as "sensitive" in the API will not
 32804  // be included in the string output. The member name will be present, but the
 32805  // value will be replaced with "sensitive".
 32806  func (s GetEnabledStandardsOutput) GoString() string {
 32807  	return s.String()
 32808  }
 32809  
 32810  // SetNextToken sets the NextToken field's value.
 32811  func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
 32812  	s.NextToken = &v
 32813  	return s
 32814  }
 32815  
 32816  // SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
 32817  func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
 32818  	s.StandardsSubscriptions = v
 32819  	return s
 32820  }
 32821  
 32822  type GetFindingsInput struct {
 32823  	_ struct{} `type:"structure"`
 32824  
 32825  	// The finding attributes used to define a condition to filter the returned
 32826  	// findings.
 32827  	//
 32828  	// You can filter by up to 10 finding attributes. For each attribute, you can
 32829  	// provide up to 20 filter values.
 32830  	//
 32831  	// Note that in the available filter fields, WorkflowState is deprecated. To
 32832  	// search for a finding based on its workflow status, use WorkflowStatus.
 32833  	Filters *AwsSecurityFindingFilters `type:"structure"`
 32834  
 32835  	// The maximum number of findings to return.
 32836  	MaxResults *int64 `min:"1" type:"integer"`
 32837  
 32838  	// The token that is required for pagination. On your first call to the GetFindings
 32839  	// operation, set the value of this parameter to NULL.
 32840  	//
 32841  	// For subsequent calls to the operation, to continue listing data, set the
 32842  	// value of this parameter to the value returned from the previous response.
 32843  	NextToken *string `type:"string"`
 32844  
 32845  	// The finding attributes used to sort the list of returned findings.
 32846  	SortCriteria []*SortCriterion `type:"list"`
 32847  }
 32848  
 32849  // String returns the string representation.
 32850  //
 32851  // API parameter values that are decorated as "sensitive" in the API will not
 32852  // be included in the string output. The member name will be present, but the
 32853  // value will be replaced with "sensitive".
 32854  func (s GetFindingsInput) String() string {
 32855  	return awsutil.Prettify(s)
 32856  }
 32857  
 32858  // GoString returns the string representation.
 32859  //
 32860  // API parameter values that are decorated as "sensitive" in the API will not
 32861  // be included in the string output. The member name will be present, but the
 32862  // value will be replaced with "sensitive".
 32863  func (s GetFindingsInput) GoString() string {
 32864  	return s.String()
 32865  }
 32866  
 32867  // Validate inspects the fields of the type to determine if they are valid.
 32868  func (s *GetFindingsInput) Validate() error {
 32869  	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
 32870  	if s.MaxResults != nil && *s.MaxResults < 1 {
 32871  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 32872  	}
 32873  
 32874  	if invalidParams.Len() > 0 {
 32875  		return invalidParams
 32876  	}
 32877  	return nil
 32878  }
 32879  
 32880  // SetFilters sets the Filters field's value.
 32881  func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
 32882  	s.Filters = v
 32883  	return s
 32884  }
 32885  
 32886  // SetMaxResults sets the MaxResults field's value.
 32887  func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
 32888  	s.MaxResults = &v
 32889  	return s
 32890  }
 32891  
 32892  // SetNextToken sets the NextToken field's value.
 32893  func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
 32894  	s.NextToken = &v
 32895  	return s
 32896  }
 32897  
 32898  // SetSortCriteria sets the SortCriteria field's value.
 32899  func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
 32900  	s.SortCriteria = v
 32901  	return s
 32902  }
 32903  
 32904  type GetFindingsOutput struct {
 32905  	_ struct{} `type:"structure"`
 32906  
 32907  	// The findings that matched the filters specified in the request.
 32908  	//
 32909  	// Findings is a required field
 32910  	Findings []*AwsSecurityFinding `type:"list" required:"true"`
 32911  
 32912  	// The pagination token to use to request the next page of results.
 32913  	NextToken *string `type:"string"`
 32914  }
 32915  
 32916  // String returns the string representation.
 32917  //
 32918  // API parameter values that are decorated as "sensitive" in the API will not
 32919  // be included in the string output. The member name will be present, but the
 32920  // value will be replaced with "sensitive".
 32921  func (s GetFindingsOutput) String() string {
 32922  	return awsutil.Prettify(s)
 32923  }
 32924  
 32925  // GoString returns the string representation.
 32926  //
 32927  // API parameter values that are decorated as "sensitive" in the API will not
 32928  // be included in the string output. The member name will be present, but the
 32929  // value will be replaced with "sensitive".
 32930  func (s GetFindingsOutput) GoString() string {
 32931  	return s.String()
 32932  }
 32933  
 32934  // SetFindings sets the Findings field's value.
 32935  func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
 32936  	s.Findings = v
 32937  	return s
 32938  }
 32939  
 32940  // SetNextToken sets the NextToken field's value.
 32941  func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
 32942  	s.NextToken = &v
 32943  	return s
 32944  }
 32945  
 32946  type GetInsightResultsInput struct {
 32947  	_ struct{} `type:"structure" nopayload:"true"`
 32948  
 32949  	// The ARN of the insight for which to return results.
 32950  	//
 32951  	// InsightArn is a required field
 32952  	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
 32953  }
 32954  
 32955  // String returns the string representation.
 32956  //
 32957  // API parameter values that are decorated as "sensitive" in the API will not
 32958  // be included in the string output. The member name will be present, but the
 32959  // value will be replaced with "sensitive".
 32960  func (s GetInsightResultsInput) String() string {
 32961  	return awsutil.Prettify(s)
 32962  }
 32963  
 32964  // GoString returns the string representation.
 32965  //
 32966  // API parameter values that are decorated as "sensitive" in the API will not
 32967  // be included in the string output. The member name will be present, but the
 32968  // value will be replaced with "sensitive".
 32969  func (s GetInsightResultsInput) GoString() string {
 32970  	return s.String()
 32971  }
 32972  
 32973  // Validate inspects the fields of the type to determine if they are valid.
 32974  func (s *GetInsightResultsInput) Validate() error {
 32975  	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
 32976  	if s.InsightArn == nil {
 32977  		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
 32978  	}
 32979  	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
 32980  		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
 32981  	}
 32982  
 32983  	if invalidParams.Len() > 0 {
 32984  		return invalidParams
 32985  	}
 32986  	return nil
 32987  }
 32988  
 32989  // SetInsightArn sets the InsightArn field's value.
 32990  func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
 32991  	s.InsightArn = &v
 32992  	return s
 32993  }
 32994  
 32995  type GetInsightResultsOutput struct {
 32996  	_ struct{} `type:"structure"`
 32997  
 32998  	// The insight results returned by the operation.
 32999  	//
 33000  	// InsightResults is a required field
 33001  	InsightResults *InsightResults `type:"structure" required:"true"`
 33002  }
 33003  
 33004  // String returns the string representation.
 33005  //
 33006  // API parameter values that are decorated as "sensitive" in the API will not
 33007  // be included in the string output. The member name will be present, but the
 33008  // value will be replaced with "sensitive".
 33009  func (s GetInsightResultsOutput) String() string {
 33010  	return awsutil.Prettify(s)
 33011  }
 33012  
 33013  // GoString returns the string representation.
 33014  //
 33015  // API parameter values that are decorated as "sensitive" in the API will not
 33016  // be included in the string output. The member name will be present, but the
 33017  // value will be replaced with "sensitive".
 33018  func (s GetInsightResultsOutput) GoString() string {
 33019  	return s.String()
 33020  }
 33021  
 33022  // SetInsightResults sets the InsightResults field's value.
 33023  func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
 33024  	s.InsightResults = v
 33025  	return s
 33026  }
 33027  
 33028  type GetInsightsInput struct {
 33029  	_ struct{} `type:"structure"`
 33030  
 33031  	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
 33032  	// then GetInsights returns all of your custom insights. It does not return
 33033  	// any managed insights.
 33034  	InsightArns []*string `type:"list"`
 33035  
 33036  	// The maximum number of items to return in the response.
 33037  	MaxResults *int64 `min:"1" type:"integer"`
 33038  
 33039  	// The token that is required for pagination. On your first call to the GetInsights
 33040  	// operation, set the value of this parameter to NULL.
 33041  	//
 33042  	// For subsequent calls to the operation, to continue listing data, set the
 33043  	// value of this parameter to the value returned from the previous response.
 33044  	NextToken *string `type:"string"`
 33045  }
 33046  
 33047  // String returns the string representation.
 33048  //
 33049  // API parameter values that are decorated as "sensitive" in the API will not
 33050  // be included in the string output. The member name will be present, but the
 33051  // value will be replaced with "sensitive".
 33052  func (s GetInsightsInput) String() string {
 33053  	return awsutil.Prettify(s)
 33054  }
 33055  
 33056  // GoString returns the string representation.
 33057  //
 33058  // API parameter values that are decorated as "sensitive" in the API will not
 33059  // be included in the string output. The member name will be present, but the
 33060  // value will be replaced with "sensitive".
 33061  func (s GetInsightsInput) GoString() string {
 33062  	return s.String()
 33063  }
 33064  
 33065  // Validate inspects the fields of the type to determine if they are valid.
 33066  func (s *GetInsightsInput) Validate() error {
 33067  	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
 33068  	if s.MaxResults != nil && *s.MaxResults < 1 {
 33069  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 33070  	}
 33071  
 33072  	if invalidParams.Len() > 0 {
 33073  		return invalidParams
 33074  	}
 33075  	return nil
 33076  }
 33077  
 33078  // SetInsightArns sets the InsightArns field's value.
 33079  func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
 33080  	s.InsightArns = v
 33081  	return s
 33082  }
 33083  
 33084  // SetMaxResults sets the MaxResults field's value.
 33085  func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
 33086  	s.MaxResults = &v
 33087  	return s
 33088  }
 33089  
 33090  // SetNextToken sets the NextToken field's value.
 33091  func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
 33092  	s.NextToken = &v
 33093  	return s
 33094  }
 33095  
 33096  type GetInsightsOutput struct {
 33097  	_ struct{} `type:"structure"`
 33098  
 33099  	// The insights returned by the operation.
 33100  	//
 33101  	// Insights is a required field
 33102  	Insights []*Insight `type:"list" required:"true"`
 33103  
 33104  	// The pagination token to use to request the next page of results.
 33105  	NextToken *string `type:"string"`
 33106  }
 33107  
 33108  // String returns the string representation.
 33109  //
 33110  // API parameter values that are decorated as "sensitive" in the API will not
 33111  // be included in the string output. The member name will be present, but the
 33112  // value will be replaced with "sensitive".
 33113  func (s GetInsightsOutput) String() string {
 33114  	return awsutil.Prettify(s)
 33115  }
 33116  
 33117  // GoString returns the string representation.
 33118  //
 33119  // API parameter values that are decorated as "sensitive" in the API will not
 33120  // be included in the string output. The member name will be present, but the
 33121  // value will be replaced with "sensitive".
 33122  func (s GetInsightsOutput) GoString() string {
 33123  	return s.String()
 33124  }
 33125  
 33126  // SetInsights sets the Insights field's value.
 33127  func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
 33128  	s.Insights = v
 33129  	return s
 33130  }
 33131  
 33132  // SetNextToken sets the NextToken field's value.
 33133  func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
 33134  	s.NextToken = &v
 33135  	return s
 33136  }
 33137  
 33138  type GetInvitationsCountInput struct {
 33139  	_ struct{} `type:"structure" nopayload:"true"`
 33140  }
 33141  
 33142  // String returns the string representation.
 33143  //
 33144  // API parameter values that are decorated as "sensitive" in the API will not
 33145  // be included in the string output. The member name will be present, but the
 33146  // value will be replaced with "sensitive".
 33147  func (s GetInvitationsCountInput) String() string {
 33148  	return awsutil.Prettify(s)
 33149  }
 33150  
 33151  // GoString returns the string representation.
 33152  //
 33153  // API parameter values that are decorated as "sensitive" in the API will not
 33154  // be included in the string output. The member name will be present, but the
 33155  // value will be replaced with "sensitive".
 33156  func (s GetInvitationsCountInput) GoString() string {
 33157  	return s.String()
 33158  }
 33159  
 33160  type GetInvitationsCountOutput struct {
 33161  	_ struct{} `type:"structure"`
 33162  
 33163  	// The number of all membership invitations sent to this Security Hub member
 33164  	// account, not including the currently accepted invitation.
 33165  	InvitationsCount *int64 `type:"integer"`
 33166  }
 33167  
 33168  // String returns the string representation.
 33169  //
 33170  // API parameter values that are decorated as "sensitive" in the API will not
 33171  // be included in the string output. The member name will be present, but the
 33172  // value will be replaced with "sensitive".
 33173  func (s GetInvitationsCountOutput) String() string {
 33174  	return awsutil.Prettify(s)
 33175  }
 33176  
 33177  // GoString returns the string representation.
 33178  //
 33179  // API parameter values that are decorated as "sensitive" in the API will not
 33180  // be included in the string output. The member name will be present, but the
 33181  // value will be replaced with "sensitive".
 33182  func (s GetInvitationsCountOutput) GoString() string {
 33183  	return s.String()
 33184  }
 33185  
 33186  // SetInvitationsCount sets the InvitationsCount field's value.
 33187  func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
 33188  	s.InvitationsCount = &v
 33189  	return s
 33190  }
 33191  
 33192  type GetMasterAccountInput struct {
 33193  	_ struct{} `type:"structure" nopayload:"true"`
 33194  }
 33195  
 33196  // String returns the string representation.
 33197  //
 33198  // API parameter values that are decorated as "sensitive" in the API will not
 33199  // be included in the string output. The member name will be present, but the
 33200  // value will be replaced with "sensitive".
 33201  func (s GetMasterAccountInput) String() string {
 33202  	return awsutil.Prettify(s)
 33203  }
 33204  
 33205  // GoString returns the string representation.
 33206  //
 33207  // API parameter values that are decorated as "sensitive" in the API will not
 33208  // be included in the string output. The member name will be present, but the
 33209  // value will be replaced with "sensitive".
 33210  func (s GetMasterAccountInput) GoString() string {
 33211  	return s.String()
 33212  }
 33213  
 33214  type GetMasterAccountOutput struct {
 33215  	_ struct{} `type:"structure"`
 33216  
 33217  	// A list of details about the Security Hub administrator account for the current
 33218  	// member account.
 33219  	Master *Invitation `type:"structure"`
 33220  }
 33221  
 33222  // String returns the string representation.
 33223  //
 33224  // API parameter values that are decorated as "sensitive" in the API will not
 33225  // be included in the string output. The member name will be present, but the
 33226  // value will be replaced with "sensitive".
 33227  func (s GetMasterAccountOutput) String() string {
 33228  	return awsutil.Prettify(s)
 33229  }
 33230  
 33231  // GoString returns the string representation.
 33232  //
 33233  // API parameter values that are decorated as "sensitive" in the API will not
 33234  // be included in the string output. The member name will be present, but the
 33235  // value will be replaced with "sensitive".
 33236  func (s GetMasterAccountOutput) GoString() string {
 33237  	return s.String()
 33238  }
 33239  
 33240  // SetMaster sets the Master field's value.
 33241  func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
 33242  	s.Master = v
 33243  	return s
 33244  }
 33245  
 33246  type GetMembersInput struct {
 33247  	_ struct{} `type:"structure"`
 33248  
 33249  	// The list of account IDs for the Security Hub member accounts to return the
 33250  	// details for.
 33251  	//
 33252  	// AccountIds is a required field
 33253  	AccountIds []*string `type:"list" required:"true"`
 33254  }
 33255  
 33256  // String returns the string representation.
 33257  //
 33258  // API parameter values that are decorated as "sensitive" in the API will not
 33259  // be included in the string output. The member name will be present, but the
 33260  // value will be replaced with "sensitive".
 33261  func (s GetMembersInput) String() string {
 33262  	return awsutil.Prettify(s)
 33263  }
 33264  
 33265  // GoString returns the string representation.
 33266  //
 33267  // API parameter values that are decorated as "sensitive" in the API will not
 33268  // be included in the string output. The member name will be present, but the
 33269  // value will be replaced with "sensitive".
 33270  func (s GetMembersInput) GoString() string {
 33271  	return s.String()
 33272  }
 33273  
 33274  // Validate inspects the fields of the type to determine if they are valid.
 33275  func (s *GetMembersInput) Validate() error {
 33276  	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
 33277  	if s.AccountIds == nil {
 33278  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 33279  	}
 33280  
 33281  	if invalidParams.Len() > 0 {
 33282  		return invalidParams
 33283  	}
 33284  	return nil
 33285  }
 33286  
 33287  // SetAccountIds sets the AccountIds field's value.
 33288  func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
 33289  	s.AccountIds = v
 33290  	return s
 33291  }
 33292  
 33293  type GetMembersOutput struct {
 33294  	_ struct{} `type:"structure"`
 33295  
 33296  	// The list of details about the Security Hub member accounts.
 33297  	Members []*Member `type:"list"`
 33298  
 33299  	// The list of Amazon Web Services accounts that could not be processed. For
 33300  	// each account, the list includes the account ID and the email address.
 33301  	UnprocessedAccounts []*Result `type:"list"`
 33302  }
 33303  
 33304  // String returns the string representation.
 33305  //
 33306  // API parameter values that are decorated as "sensitive" in the API will not
 33307  // be included in the string output. The member name will be present, but the
 33308  // value will be replaced with "sensitive".
 33309  func (s GetMembersOutput) String() string {
 33310  	return awsutil.Prettify(s)
 33311  }
 33312  
 33313  // GoString returns the string representation.
 33314  //
 33315  // API parameter values that are decorated as "sensitive" in the API will not
 33316  // be included in the string output. The member name will be present, but the
 33317  // value will be replaced with "sensitive".
 33318  func (s GetMembersOutput) GoString() string {
 33319  	return s.String()
 33320  }
 33321  
 33322  // SetMembers sets the Members field's value.
 33323  func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
 33324  	s.Members = v
 33325  	return s
 33326  }
 33327  
 33328  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 33329  func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
 33330  	s.UnprocessedAccounts = v
 33331  	return s
 33332  }
 33333  
 33334  // An Internet Control Message Protocol (ICMP) type and code.
 33335  type IcmpTypeCode struct {
 33336  	_ struct{} `type:"structure"`
 33337  
 33338  	// The ICMP code for which to deny or allow access. To deny or allow all codes,
 33339  	// use the value -1.
 33340  	Code *int64 `type:"integer"`
 33341  
 33342  	// The ICMP type for which to deny or allow access. To deny or allow all types,
 33343  	// use the value -1.
 33344  	Type *int64 `type:"integer"`
 33345  }
 33346  
 33347  // String returns the string representation.
 33348  //
 33349  // API parameter values that are decorated as "sensitive" in the API will not
 33350  // be included in the string output. The member name will be present, but the
 33351  // value will be replaced with "sensitive".
 33352  func (s IcmpTypeCode) String() string {
 33353  	return awsutil.Prettify(s)
 33354  }
 33355  
 33356  // GoString returns the string representation.
 33357  //
 33358  // API parameter values that are decorated as "sensitive" in the API will not
 33359  // be included in the string output. The member name will be present, but the
 33360  // value will be replaced with "sensitive".
 33361  func (s IcmpTypeCode) GoString() string {
 33362  	return s.String()
 33363  }
 33364  
 33365  // SetCode sets the Code field's value.
 33366  func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
 33367  	s.Code = &v
 33368  	return s
 33369  }
 33370  
 33371  // SetType sets the Type field's value.
 33372  func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
 33373  	s.Type = &v
 33374  	return s
 33375  }
 33376  
 33377  // The list of the findings that cannot be imported. For each finding, the list
 33378  // provides the error.
 33379  type ImportFindingsError struct {
 33380  	_ struct{} `type:"structure"`
 33381  
 33382  	// The code of the error returned by the BatchImportFindings operation.
 33383  	//
 33384  	// ErrorCode is a required field
 33385  	ErrorCode *string `type:"string" required:"true"`
 33386  
 33387  	// The message of the error returned by the BatchImportFindings operation.
 33388  	//
 33389  	// ErrorMessage is a required field
 33390  	ErrorMessage *string `type:"string" required:"true"`
 33391  
 33392  	// The identifier of the finding that could not be updated.
 33393  	//
 33394  	// Id is a required field
 33395  	Id *string `type:"string" required:"true"`
 33396  }
 33397  
 33398  // String returns the string representation.
 33399  //
 33400  // API parameter values that are decorated as "sensitive" in the API will not
 33401  // be included in the string output. The member name will be present, but the
 33402  // value will be replaced with "sensitive".
 33403  func (s ImportFindingsError) String() string {
 33404  	return awsutil.Prettify(s)
 33405  }
 33406  
 33407  // GoString returns the string representation.
 33408  //
 33409  // API parameter values that are decorated as "sensitive" in the API will not
 33410  // be included in the string output. The member name will be present, but the
 33411  // value will be replaced with "sensitive".
 33412  func (s ImportFindingsError) GoString() string {
 33413  	return s.String()
 33414  }
 33415  
 33416  // SetErrorCode sets the ErrorCode field's value.
 33417  func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
 33418  	s.ErrorCode = &v
 33419  	return s
 33420  }
 33421  
 33422  // SetErrorMessage sets the ErrorMessage field's value.
 33423  func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
 33424  	s.ErrorMessage = &v
 33425  	return s
 33426  }
 33427  
 33428  // SetId sets the Id field's value.
 33429  func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
 33430  	s.Id = &v
 33431  	return s
 33432  }
 33433  
 33434  // Contains information about a Security Hub insight.
 33435  type Insight struct {
 33436  	_ struct{} `type:"structure"`
 33437  
 33438  	// One or more attributes used to filter the findings included in the insight.
 33439  	// The insight only includes findings that match the criteria defined in the
 33440  	// filters.
 33441  	//
 33442  	// Filters is a required field
 33443  	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
 33444  
 33445  	// The grouping attribute for the insight's findings. Indicates how to group
 33446  	// the matching findings, and identifies the type of item that the insight applies
 33447  	// to. For example, if an insight is grouped by resource identifier, then the
 33448  	// insight produces a list of resource identifiers.
 33449  	//
 33450  	// GroupByAttribute is a required field
 33451  	GroupByAttribute *string `type:"string" required:"true"`
 33452  
 33453  	// The ARN of a Security Hub insight.
 33454  	//
 33455  	// InsightArn is a required field
 33456  	InsightArn *string `type:"string" required:"true"`
 33457  
 33458  	// The name of a Security Hub insight.
 33459  	//
 33460  	// Name is a required field
 33461  	Name *string `type:"string" required:"true"`
 33462  }
 33463  
 33464  // String returns the string representation.
 33465  //
 33466  // API parameter values that are decorated as "sensitive" in the API will not
 33467  // be included in the string output. The member name will be present, but the
 33468  // value will be replaced with "sensitive".
 33469  func (s Insight) String() string {
 33470  	return awsutil.Prettify(s)
 33471  }
 33472  
 33473  // GoString returns the string representation.
 33474  //
 33475  // API parameter values that are decorated as "sensitive" in the API will not
 33476  // be included in the string output. The member name will be present, but the
 33477  // value will be replaced with "sensitive".
 33478  func (s Insight) GoString() string {
 33479  	return s.String()
 33480  }
 33481  
 33482  // SetFilters sets the Filters field's value.
 33483  func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
 33484  	s.Filters = v
 33485  	return s
 33486  }
 33487  
 33488  // SetGroupByAttribute sets the GroupByAttribute field's value.
 33489  func (s *Insight) SetGroupByAttribute(v string) *Insight {
 33490  	s.GroupByAttribute = &v
 33491  	return s
 33492  }
 33493  
 33494  // SetInsightArn sets the InsightArn field's value.
 33495  func (s *Insight) SetInsightArn(v string) *Insight {
 33496  	s.InsightArn = &v
 33497  	return s
 33498  }
 33499  
 33500  // SetName sets the Name field's value.
 33501  func (s *Insight) SetName(v string) *Insight {
 33502  	s.Name = &v
 33503  	return s
 33504  }
 33505  
 33506  // The insight result values returned by the GetInsightResults operation.
 33507  type InsightResultValue struct {
 33508  	_ struct{} `type:"structure"`
 33509  
 33510  	// The number of findings returned for each GroupByAttributeValue.
 33511  	//
 33512  	// Count is a required field
 33513  	Count *int64 `type:"integer" required:"true"`
 33514  
 33515  	// The value of the attribute that the findings are grouped by for the insight
 33516  	// whose results are returned by the GetInsightResults operation.
 33517  	//
 33518  	// GroupByAttributeValue is a required field
 33519  	GroupByAttributeValue *string `type:"string" required:"true"`
 33520  }
 33521  
 33522  // String returns the string representation.
 33523  //
 33524  // API parameter values that are decorated as "sensitive" in the API will not
 33525  // be included in the string output. The member name will be present, but the
 33526  // value will be replaced with "sensitive".
 33527  func (s InsightResultValue) String() string {
 33528  	return awsutil.Prettify(s)
 33529  }
 33530  
 33531  // GoString returns the string representation.
 33532  //
 33533  // API parameter values that are decorated as "sensitive" in the API will not
 33534  // be included in the string output. The member name will be present, but the
 33535  // value will be replaced with "sensitive".
 33536  func (s InsightResultValue) GoString() string {
 33537  	return s.String()
 33538  }
 33539  
 33540  // SetCount sets the Count field's value.
 33541  func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
 33542  	s.Count = &v
 33543  	return s
 33544  }
 33545  
 33546  // SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
 33547  func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
 33548  	s.GroupByAttributeValue = &v
 33549  	return s
 33550  }
 33551  
 33552  // The insight results returned by the GetInsightResults operation.
 33553  type InsightResults struct {
 33554  	_ struct{} `type:"structure"`
 33555  
 33556  	// The attribute that the findings are grouped by for the insight whose results
 33557  	// are returned by the GetInsightResults operation.
 33558  	//
 33559  	// GroupByAttribute is a required field
 33560  	GroupByAttribute *string `type:"string" required:"true"`
 33561  
 33562  	// The ARN of the insight whose results are returned by the GetInsightResults
 33563  	// operation.
 33564  	//
 33565  	// InsightArn is a required field
 33566  	InsightArn *string `type:"string" required:"true"`
 33567  
 33568  	// The list of insight result values returned by the GetInsightResults operation.
 33569  	//
 33570  	// ResultValues is a required field
 33571  	ResultValues []*InsightResultValue `type:"list" required:"true"`
 33572  }
 33573  
 33574  // String returns the string representation.
 33575  //
 33576  // API parameter values that are decorated as "sensitive" in the API will not
 33577  // be included in the string output. The member name will be present, but the
 33578  // value will be replaced with "sensitive".
 33579  func (s InsightResults) String() string {
 33580  	return awsutil.Prettify(s)
 33581  }
 33582  
 33583  // GoString returns the string representation.
 33584  //
 33585  // API parameter values that are decorated as "sensitive" in the API will not
 33586  // be included in the string output. The member name will be present, but the
 33587  // value will be replaced with "sensitive".
 33588  func (s InsightResults) GoString() string {
 33589  	return s.String()
 33590  }
 33591  
 33592  // SetGroupByAttribute sets the GroupByAttribute field's value.
 33593  func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
 33594  	s.GroupByAttribute = &v
 33595  	return s
 33596  }
 33597  
 33598  // SetInsightArn sets the InsightArn field's value.
 33599  func (s *InsightResults) SetInsightArn(v string) *InsightResults {
 33600  	s.InsightArn = &v
 33601  	return s
 33602  }
 33603  
 33604  // SetResultValues sets the ResultValues field's value.
 33605  func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
 33606  	s.ResultValues = v
 33607  	return s
 33608  }
 33609  
 33610  // Internal server error.
 33611  type InternalException struct {
 33612  	_            struct{}                  `type:"structure"`
 33613  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 33614  
 33615  	Code_ *string `locationName:"Code" type:"string"`
 33616  
 33617  	Message_ *string `locationName:"Message" type:"string"`
 33618  }
 33619  
 33620  // String returns the string representation.
 33621  //
 33622  // API parameter values that are decorated as "sensitive" in the API will not
 33623  // be included in the string output. The member name will be present, but the
 33624  // value will be replaced with "sensitive".
 33625  func (s InternalException) String() string {
 33626  	return awsutil.Prettify(s)
 33627  }
 33628  
 33629  // GoString returns the string representation.
 33630  //
 33631  // API parameter values that are decorated as "sensitive" in the API will not
 33632  // be included in the string output. The member name will be present, but the
 33633  // value will be replaced with "sensitive".
 33634  func (s InternalException) GoString() string {
 33635  	return s.String()
 33636  }
 33637  
 33638  func newErrorInternalException(v protocol.ResponseMetadata) error {
 33639  	return &InternalException{
 33640  		RespMetadata: v,
 33641  	}
 33642  }
 33643  
 33644  // Code returns the exception type name.
 33645  func (s *InternalException) Code() string {
 33646  	return "InternalException"
 33647  }
 33648  
 33649  // Message returns the exception's message.
 33650  func (s *InternalException) Message() string {
 33651  	if s.Message_ != nil {
 33652  		return *s.Message_
 33653  	}
 33654  	return ""
 33655  }
 33656  
 33657  // OrigErr always returns nil, satisfies awserr.Error interface.
 33658  func (s *InternalException) OrigErr() error {
 33659  	return nil
 33660  }
 33661  
 33662  func (s *InternalException) Error() string {
 33663  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 33664  }
 33665  
 33666  // Status code returns the HTTP status code for the request's response error.
 33667  func (s *InternalException) StatusCode() int {
 33668  	return s.RespMetadata.StatusCode
 33669  }
 33670  
 33671  // RequestID returns the service's response RequestID for request.
 33672  func (s *InternalException) RequestID() string {
 33673  	return s.RespMetadata.RequestID
 33674  }
 33675  
 33676  // There is an issue with the account used to make the request. Either Security
 33677  // Hub is not enabled for the account, or the account does not have permission
 33678  // to perform this action.
 33679  type InvalidAccessException struct {
 33680  	_            struct{}                  `type:"structure"`
 33681  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 33682  
 33683  	Code_ *string `locationName:"Code" type:"string"`
 33684  
 33685  	Message_ *string `locationName:"Message" type:"string"`
 33686  }
 33687  
 33688  // String returns the string representation.
 33689  //
 33690  // API parameter values that are decorated as "sensitive" in the API will not
 33691  // be included in the string output. The member name will be present, but the
 33692  // value will be replaced with "sensitive".
 33693  func (s InvalidAccessException) String() string {
 33694  	return awsutil.Prettify(s)
 33695  }
 33696  
 33697  // GoString returns the string representation.
 33698  //
 33699  // API parameter values that are decorated as "sensitive" in the API will not
 33700  // be included in the string output. The member name will be present, but the
 33701  // value will be replaced with "sensitive".
 33702  func (s InvalidAccessException) GoString() string {
 33703  	return s.String()
 33704  }
 33705  
 33706  func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
 33707  	return &InvalidAccessException{
 33708  		RespMetadata: v,
 33709  	}
 33710  }
 33711  
 33712  // Code returns the exception type name.
 33713  func (s *InvalidAccessException) Code() string {
 33714  	return "InvalidAccessException"
 33715  }
 33716  
 33717  // Message returns the exception's message.
 33718  func (s *InvalidAccessException) Message() string {
 33719  	if s.Message_ != nil {
 33720  		return *s.Message_
 33721  	}
 33722  	return ""
 33723  }
 33724  
 33725  // OrigErr always returns nil, satisfies awserr.Error interface.
 33726  func (s *InvalidAccessException) OrigErr() error {
 33727  	return nil
 33728  }
 33729  
 33730  func (s *InvalidAccessException) Error() string {
 33731  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 33732  }
 33733  
 33734  // Status code returns the HTTP status code for the request's response error.
 33735  func (s *InvalidAccessException) StatusCode() int {
 33736  	return s.RespMetadata.StatusCode
 33737  }
 33738  
 33739  // RequestID returns the service's response RequestID for request.
 33740  func (s *InvalidAccessException) RequestID() string {
 33741  	return s.RespMetadata.RequestID
 33742  }
 33743  
 33744  // The request was rejected because you supplied an invalid or out-of-range
 33745  // value for an input parameter.
 33746  type InvalidInputException struct {
 33747  	_            struct{}                  `type:"structure"`
 33748  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 33749  
 33750  	Code_ *string `locationName:"Code" type:"string"`
 33751  
 33752  	Message_ *string `locationName:"Message" type:"string"`
 33753  }
 33754  
 33755  // String returns the string representation.
 33756  //
 33757  // API parameter values that are decorated as "sensitive" in the API will not
 33758  // be included in the string output. The member name will be present, but the
 33759  // value will be replaced with "sensitive".
 33760  func (s InvalidInputException) String() string {
 33761  	return awsutil.Prettify(s)
 33762  }
 33763  
 33764  // GoString returns the string representation.
 33765  //
 33766  // API parameter values that are decorated as "sensitive" in the API will not
 33767  // be included in the string output. The member name will be present, but the
 33768  // value will be replaced with "sensitive".
 33769  func (s InvalidInputException) GoString() string {
 33770  	return s.String()
 33771  }
 33772  
 33773  func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
 33774  	return &InvalidInputException{
 33775  		RespMetadata: v,
 33776  	}
 33777  }
 33778  
 33779  // Code returns the exception type name.
 33780  func (s *InvalidInputException) Code() string {
 33781  	return "InvalidInputException"
 33782  }
 33783  
 33784  // Message returns the exception's message.
 33785  func (s *InvalidInputException) Message() string {
 33786  	if s.Message_ != nil {
 33787  		return *s.Message_
 33788  	}
 33789  	return ""
 33790  }
 33791  
 33792  // OrigErr always returns nil, satisfies awserr.Error interface.
 33793  func (s *InvalidInputException) OrigErr() error {
 33794  	return nil
 33795  }
 33796  
 33797  func (s *InvalidInputException) Error() string {
 33798  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 33799  }
 33800  
 33801  // Status code returns the HTTP status code for the request's response error.
 33802  func (s *InvalidInputException) StatusCode() int {
 33803  	return s.RespMetadata.StatusCode
 33804  }
 33805  
 33806  // RequestID returns the service's response RequestID for request.
 33807  func (s *InvalidInputException) RequestID() string {
 33808  	return s.RespMetadata.RequestID
 33809  }
 33810  
 33811  // Details about an invitation.
 33812  type Invitation struct {
 33813  	_ struct{} `type:"structure"`
 33814  
 33815  	// The account ID of the Security Hub administrator account that the invitation
 33816  	// was sent from.
 33817  	AccountId *string `type:"string"`
 33818  
 33819  	// The ID of the invitation sent to the member account.
 33820  	InvitationId *string `type:"string"`
 33821  
 33822  	// The timestamp of when the invitation was sent.
 33823  	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 33824  
 33825  	// The current status of the association between the member and administrator
 33826  	// accounts.
 33827  	MemberStatus *string `type:"string"`
 33828  }
 33829  
 33830  // String returns the string representation.
 33831  //
 33832  // API parameter values that are decorated as "sensitive" in the API will not
 33833  // be included in the string output. The member name will be present, but the
 33834  // value will be replaced with "sensitive".
 33835  func (s Invitation) String() string {
 33836  	return awsutil.Prettify(s)
 33837  }
 33838  
 33839  // GoString returns the string representation.
 33840  //
 33841  // API parameter values that are decorated as "sensitive" in the API will not
 33842  // be included in the string output. The member name will be present, but the
 33843  // value will be replaced with "sensitive".
 33844  func (s Invitation) GoString() string {
 33845  	return s.String()
 33846  }
 33847  
 33848  // SetAccountId sets the AccountId field's value.
 33849  func (s *Invitation) SetAccountId(v string) *Invitation {
 33850  	s.AccountId = &v
 33851  	return s
 33852  }
 33853  
 33854  // SetInvitationId sets the InvitationId field's value.
 33855  func (s *Invitation) SetInvitationId(v string) *Invitation {
 33856  	s.InvitationId = &v
 33857  	return s
 33858  }
 33859  
 33860  // SetInvitedAt sets the InvitedAt field's value.
 33861  func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
 33862  	s.InvitedAt = &v
 33863  	return s
 33864  }
 33865  
 33866  // SetMemberStatus sets the MemberStatus field's value.
 33867  func (s *Invitation) SetMemberStatus(v string) *Invitation {
 33868  	s.MemberStatus = &v
 33869  	return s
 33870  }
 33871  
 33872  type InviteMembersInput struct {
 33873  	_ struct{} `type:"structure"`
 33874  
 33875  	// The list of account IDs of the Amazon Web Services accounts to invite to
 33876  	// Security Hub as members.
 33877  	//
 33878  	// AccountIds is a required field
 33879  	AccountIds []*string `type:"list" required:"true"`
 33880  }
 33881  
 33882  // String returns the string representation.
 33883  //
 33884  // API parameter values that are decorated as "sensitive" in the API will not
 33885  // be included in the string output. The member name will be present, but the
 33886  // value will be replaced with "sensitive".
 33887  func (s InviteMembersInput) String() string {
 33888  	return awsutil.Prettify(s)
 33889  }
 33890  
 33891  // GoString returns the string representation.
 33892  //
 33893  // API parameter values that are decorated as "sensitive" in the API will not
 33894  // be included in the string output. The member name will be present, but the
 33895  // value will be replaced with "sensitive".
 33896  func (s InviteMembersInput) GoString() string {
 33897  	return s.String()
 33898  }
 33899  
 33900  // Validate inspects the fields of the type to determine if they are valid.
 33901  func (s *InviteMembersInput) Validate() error {
 33902  	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
 33903  	if s.AccountIds == nil {
 33904  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 33905  	}
 33906  
 33907  	if invalidParams.Len() > 0 {
 33908  		return invalidParams
 33909  	}
 33910  	return nil
 33911  }
 33912  
 33913  // SetAccountIds sets the AccountIds field's value.
 33914  func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
 33915  	s.AccountIds = v
 33916  	return s
 33917  }
 33918  
 33919  type InviteMembersOutput struct {
 33920  	_ struct{} `type:"structure"`
 33921  
 33922  	// The list of Amazon Web Services accounts that could not be processed. For
 33923  	// each account, the list includes the account ID and the email address.
 33924  	UnprocessedAccounts []*Result `type:"list"`
 33925  }
 33926  
 33927  // String returns the string representation.
 33928  //
 33929  // API parameter values that are decorated as "sensitive" in the API will not
 33930  // be included in the string output. The member name will be present, but the
 33931  // value will be replaced with "sensitive".
 33932  func (s InviteMembersOutput) String() string {
 33933  	return awsutil.Prettify(s)
 33934  }
 33935  
 33936  // GoString returns the string representation.
 33937  //
 33938  // API parameter values that are decorated as "sensitive" in the API will not
 33939  // be included in the string output. The member name will be present, but the
 33940  // value will be replaced with "sensitive".
 33941  func (s InviteMembersOutput) GoString() string {
 33942  	return s.String()
 33943  }
 33944  
 33945  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 33946  func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
 33947  	s.UnprocessedAccounts = v
 33948  	return s
 33949  }
 33950  
 33951  // The IP filter for querying findings.
 33952  type IpFilter struct {
 33953  	_ struct{} `type:"structure"`
 33954  
 33955  	// A finding's CIDR value.
 33956  	Cidr *string `type:"string"`
 33957  }
 33958  
 33959  // String returns the string representation.
 33960  //
 33961  // API parameter values that are decorated as "sensitive" in the API will not
 33962  // be included in the string output. The member name will be present, but the
 33963  // value will be replaced with "sensitive".
 33964  func (s IpFilter) String() string {
 33965  	return awsutil.Prettify(s)
 33966  }
 33967  
 33968  // GoString returns the string representation.
 33969  //
 33970  // API parameter values that are decorated as "sensitive" in the API will not
 33971  // be included in the string output. The member name will be present, but the
 33972  // value will be replaced with "sensitive".
 33973  func (s IpFilter) GoString() string {
 33974  	return s.String()
 33975  }
 33976  
 33977  // SetCidr sets the Cidr field's value.
 33978  func (s *IpFilter) SetCidr(v string) *IpFilter {
 33979  	s.Cidr = &v
 33980  	return s
 33981  }
 33982  
 33983  // Provides information about an internet provider.
 33984  type IpOrganizationDetails struct {
 33985  	_ struct{} `type:"structure"`
 33986  
 33987  	// The Autonomous System Number (ASN) of the internet provider
 33988  	Asn *int64 `type:"integer"`
 33989  
 33990  	// The name of the organization that registered the ASN.
 33991  	AsnOrg *string `type:"string"`
 33992  
 33993  	// The ISP information for the internet provider.
 33994  	Isp *string `type:"string"`
 33995  
 33996  	// The name of the internet provider.
 33997  	Org *string `type:"string"`
 33998  }
 33999  
 34000  // String returns the string representation.
 34001  //
 34002  // API parameter values that are decorated as "sensitive" in the API will not
 34003  // be included in the string output. The member name will be present, but the
 34004  // value will be replaced with "sensitive".
 34005  func (s IpOrganizationDetails) String() string {
 34006  	return awsutil.Prettify(s)
 34007  }
 34008  
 34009  // GoString returns the string representation.
 34010  //
 34011  // API parameter values that are decorated as "sensitive" in the API will not
 34012  // be included in the string output. The member name will be present, but the
 34013  // value will be replaced with "sensitive".
 34014  func (s IpOrganizationDetails) GoString() string {
 34015  	return s.String()
 34016  }
 34017  
 34018  // SetAsn sets the Asn field's value.
 34019  func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
 34020  	s.Asn = &v
 34021  	return s
 34022  }
 34023  
 34024  // SetAsnOrg sets the AsnOrg field's value.
 34025  func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
 34026  	s.AsnOrg = &v
 34027  	return s
 34028  }
 34029  
 34030  // SetIsp sets the Isp field's value.
 34031  func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
 34032  	s.Isp = &v
 34033  	return s
 34034  }
 34035  
 34036  // SetOrg sets the Org field's value.
 34037  func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
 34038  	s.Org = &v
 34039  	return s
 34040  }
 34041  
 34042  // An IPV6 CIDR block association.
 34043  type Ipv6CidrBlockAssociation struct {
 34044  	_ struct{} `type:"structure"`
 34045  
 34046  	// The association ID for the IPv6 CIDR block.
 34047  	AssociationId *string `type:"string"`
 34048  
 34049  	// Information about the state of the CIDR block.
 34050  	CidrBlockState *string `type:"string"`
 34051  
 34052  	// The IPv6 CIDR block.
 34053  	Ipv6CidrBlock *string `type:"string"`
 34054  }
 34055  
 34056  // String returns the string representation.
 34057  //
 34058  // API parameter values that are decorated as "sensitive" in the API will not
 34059  // be included in the string output. The member name will be present, but the
 34060  // value will be replaced with "sensitive".
 34061  func (s Ipv6CidrBlockAssociation) String() string {
 34062  	return awsutil.Prettify(s)
 34063  }
 34064  
 34065  // GoString returns the string representation.
 34066  //
 34067  // API parameter values that are decorated as "sensitive" in the API will not
 34068  // be included in the string output. The member name will be present, but the
 34069  // value will be replaced with "sensitive".
 34070  func (s Ipv6CidrBlockAssociation) GoString() string {
 34071  	return s.String()
 34072  }
 34073  
 34074  // SetAssociationId sets the AssociationId field's value.
 34075  func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
 34076  	s.AssociationId = &v
 34077  	return s
 34078  }
 34079  
 34080  // SetCidrBlockState sets the CidrBlockState field's value.
 34081  func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
 34082  	s.CidrBlockState = &v
 34083  	return s
 34084  }
 34085  
 34086  // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
 34087  func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
 34088  	s.Ipv6CidrBlock = &v
 34089  	return s
 34090  }
 34091  
 34092  // A keyword filter for querying findings.
 34093  type KeywordFilter struct {
 34094  	_ struct{} `type:"structure"`
 34095  
 34096  	// A value for the keyword.
 34097  	Value *string `type:"string"`
 34098  }
 34099  
 34100  // String returns the string representation.
 34101  //
 34102  // API parameter values that are decorated as "sensitive" in the API will not
 34103  // be included in the string output. The member name will be present, but the
 34104  // value will be replaced with "sensitive".
 34105  func (s KeywordFilter) String() string {
 34106  	return awsutil.Prettify(s)
 34107  }
 34108  
 34109  // GoString returns the string representation.
 34110  //
 34111  // API parameter values that are decorated as "sensitive" in the API will not
 34112  // be included in the string output. The member name will be present, but the
 34113  // value will be replaced with "sensitive".
 34114  func (s KeywordFilter) GoString() string {
 34115  	return s.String()
 34116  }
 34117  
 34118  // SetValue sets the Value field's value.
 34119  func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
 34120  	s.Value = &v
 34121  	return s
 34122  }
 34123  
 34124  // The request was rejected because it attempted to create resources beyond
 34125  // the current Amazon Web Services account or throttling limits. The error code
 34126  // describes the limit exceeded.
 34127  type LimitExceededException struct {
 34128  	_            struct{}                  `type:"structure"`
 34129  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 34130  
 34131  	Code_ *string `locationName:"Code" type:"string"`
 34132  
 34133  	Message_ *string `locationName:"Message" type:"string"`
 34134  }
 34135  
 34136  // String returns the string representation.
 34137  //
 34138  // API parameter values that are decorated as "sensitive" in the API will not
 34139  // be included in the string output. The member name will be present, but the
 34140  // value will be replaced with "sensitive".
 34141  func (s LimitExceededException) String() string {
 34142  	return awsutil.Prettify(s)
 34143  }
 34144  
 34145  // GoString returns the string representation.
 34146  //
 34147  // API parameter values that are decorated as "sensitive" in the API will not
 34148  // be included in the string output. The member name will be present, but the
 34149  // value will be replaced with "sensitive".
 34150  func (s LimitExceededException) GoString() string {
 34151  	return s.String()
 34152  }
 34153  
 34154  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 34155  	return &LimitExceededException{
 34156  		RespMetadata: v,
 34157  	}
 34158  }
 34159  
 34160  // Code returns the exception type name.
 34161  func (s *LimitExceededException) Code() string {
 34162  	return "LimitExceededException"
 34163  }
 34164  
 34165  // Message returns the exception's message.
 34166  func (s *LimitExceededException) Message() string {
 34167  	if s.Message_ != nil {
 34168  		return *s.Message_
 34169  	}
 34170  	return ""
 34171  }
 34172  
 34173  // OrigErr always returns nil, satisfies awserr.Error interface.
 34174  func (s *LimitExceededException) OrigErr() error {
 34175  	return nil
 34176  }
 34177  
 34178  func (s *LimitExceededException) Error() string {
 34179  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 34180  }
 34181  
 34182  // Status code returns the HTTP status code for the request's response error.
 34183  func (s *LimitExceededException) StatusCode() int {
 34184  	return s.RespMetadata.StatusCode
 34185  }
 34186  
 34187  // RequestID returns the service's response RequestID for request.
 34188  func (s *LimitExceededException) RequestID() string {
 34189  	return s.RespMetadata.RequestID
 34190  }
 34191  
 34192  type ListEnabledProductsForImportInput struct {
 34193  	_ struct{} `type:"structure" nopayload:"true"`
 34194  
 34195  	// The maximum number of items to return in the response.
 34196  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 34197  
 34198  	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
 34199  	// operation, set the value of this parameter to NULL.
 34200  	//
 34201  	// For subsequent calls to the operation, to continue listing data, set the
 34202  	// value of this parameter to the value returned from the previous response.
 34203  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 34204  }
 34205  
 34206  // String returns the string representation.
 34207  //
 34208  // API parameter values that are decorated as "sensitive" in the API will not
 34209  // be included in the string output. The member name will be present, but the
 34210  // value will be replaced with "sensitive".
 34211  func (s ListEnabledProductsForImportInput) String() string {
 34212  	return awsutil.Prettify(s)
 34213  }
 34214  
 34215  // GoString returns the string representation.
 34216  //
 34217  // API parameter values that are decorated as "sensitive" in the API will not
 34218  // be included in the string output. The member name will be present, but the
 34219  // value will be replaced with "sensitive".
 34220  func (s ListEnabledProductsForImportInput) GoString() string {
 34221  	return s.String()
 34222  }
 34223  
 34224  // Validate inspects the fields of the type to determine if they are valid.
 34225  func (s *ListEnabledProductsForImportInput) Validate() error {
 34226  	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
 34227  	if s.MaxResults != nil && *s.MaxResults < 1 {
 34228  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 34229  	}
 34230  
 34231  	if invalidParams.Len() > 0 {
 34232  		return invalidParams
 34233  	}
 34234  	return nil
 34235  }
 34236  
 34237  // SetMaxResults sets the MaxResults field's value.
 34238  func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
 34239  	s.MaxResults = &v
 34240  	return s
 34241  }
 34242  
 34243  // SetNextToken sets the NextToken field's value.
 34244  func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
 34245  	s.NextToken = &v
 34246  	return s
 34247  }
 34248  
 34249  type ListEnabledProductsForImportOutput struct {
 34250  	_ struct{} `type:"structure"`
 34251  
 34252  	// The pagination token to use to request the next page of results.
 34253  	NextToken *string `type:"string"`
 34254  
 34255  	// The list of ARNs for the resources that represent your subscriptions to products.
 34256  	ProductSubscriptions []*string `type:"list"`
 34257  }
 34258  
 34259  // String returns the string representation.
 34260  //
 34261  // API parameter values that are decorated as "sensitive" in the API will not
 34262  // be included in the string output. The member name will be present, but the
 34263  // value will be replaced with "sensitive".
 34264  func (s ListEnabledProductsForImportOutput) String() string {
 34265  	return awsutil.Prettify(s)
 34266  }
 34267  
 34268  // GoString returns the string representation.
 34269  //
 34270  // API parameter values that are decorated as "sensitive" in the API will not
 34271  // be included in the string output. The member name will be present, but the
 34272  // value will be replaced with "sensitive".
 34273  func (s ListEnabledProductsForImportOutput) GoString() string {
 34274  	return s.String()
 34275  }
 34276  
 34277  // SetNextToken sets the NextToken field's value.
 34278  func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
 34279  	s.NextToken = &v
 34280  	return s
 34281  }
 34282  
 34283  // SetProductSubscriptions sets the ProductSubscriptions field's value.
 34284  func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
 34285  	s.ProductSubscriptions = v
 34286  	return s
 34287  }
 34288  
 34289  type ListInvitationsInput struct {
 34290  	_ struct{} `type:"structure" nopayload:"true"`
 34291  
 34292  	// The maximum number of items to return in the response.
 34293  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 34294  
 34295  	// The token that is required for pagination. On your first call to the ListInvitations
 34296  	// operation, set the value of this parameter to NULL.
 34297  	//
 34298  	// For subsequent calls to the operation, to continue listing data, set the
 34299  	// value of this parameter to the value returned from the previous response.
 34300  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 34301  }
 34302  
 34303  // String returns the string representation.
 34304  //
 34305  // API parameter values that are decorated as "sensitive" in the API will not
 34306  // be included in the string output. The member name will be present, but the
 34307  // value will be replaced with "sensitive".
 34308  func (s ListInvitationsInput) String() string {
 34309  	return awsutil.Prettify(s)
 34310  }
 34311  
 34312  // GoString returns the string representation.
 34313  //
 34314  // API parameter values that are decorated as "sensitive" in the API will not
 34315  // be included in the string output. The member name will be present, but the
 34316  // value will be replaced with "sensitive".
 34317  func (s ListInvitationsInput) GoString() string {
 34318  	return s.String()
 34319  }
 34320  
 34321  // Validate inspects the fields of the type to determine if they are valid.
 34322  func (s *ListInvitationsInput) Validate() error {
 34323  	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
 34324  	if s.MaxResults != nil && *s.MaxResults < 1 {
 34325  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 34326  	}
 34327  
 34328  	if invalidParams.Len() > 0 {
 34329  		return invalidParams
 34330  	}
 34331  	return nil
 34332  }
 34333  
 34334  // SetMaxResults sets the MaxResults field's value.
 34335  func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
 34336  	s.MaxResults = &v
 34337  	return s
 34338  }
 34339  
 34340  // SetNextToken sets the NextToken field's value.
 34341  func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
 34342  	s.NextToken = &v
 34343  	return s
 34344  }
 34345  
 34346  type ListInvitationsOutput struct {
 34347  	_ struct{} `type:"structure"`
 34348  
 34349  	// The details of the invitations returned by the operation.
 34350  	Invitations []*Invitation `type:"list"`
 34351  
 34352  	// The pagination token to use to request the next page of results.
 34353  	NextToken *string `type:"string"`
 34354  }
 34355  
 34356  // String returns the string representation.
 34357  //
 34358  // API parameter values that are decorated as "sensitive" in the API will not
 34359  // be included in the string output. The member name will be present, but the
 34360  // value will be replaced with "sensitive".
 34361  func (s ListInvitationsOutput) String() string {
 34362  	return awsutil.Prettify(s)
 34363  }
 34364  
 34365  // GoString returns the string representation.
 34366  //
 34367  // API parameter values that are decorated as "sensitive" in the API will not
 34368  // be included in the string output. The member name will be present, but the
 34369  // value will be replaced with "sensitive".
 34370  func (s ListInvitationsOutput) GoString() string {
 34371  	return s.String()
 34372  }
 34373  
 34374  // SetInvitations sets the Invitations field's value.
 34375  func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
 34376  	s.Invitations = v
 34377  	return s
 34378  }
 34379  
 34380  // SetNextToken sets the NextToken field's value.
 34381  func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
 34382  	s.NextToken = &v
 34383  	return s
 34384  }
 34385  
 34386  type ListMembersInput struct {
 34387  	_ struct{} `type:"structure" nopayload:"true"`
 34388  
 34389  	// The maximum number of items to return in the response.
 34390  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 34391  
 34392  	// The token that is required for pagination. On your first call to the ListMembers
 34393  	// operation, set the value of this parameter to NULL.
 34394  	//
 34395  	// For subsequent calls to the operation, to continue listing data, set the
 34396  	// value of this parameter to the value returned from the previous response.
 34397  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 34398  
 34399  	// Specifies which member accounts to include in the response based on their
 34400  	// relationship status with the administrator account. The default value is
 34401  	// TRUE.
 34402  	//
 34403  	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
 34404  	// relationship status with the administrator account is set to ENABLED.
 34405  	//
 34406  	// If OnlyAssociated is set to FALSE, the response includes all existing member
 34407  	// accounts.
 34408  	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
 34409  }
 34410  
 34411  // String returns the string representation.
 34412  //
 34413  // API parameter values that are decorated as "sensitive" in the API will not
 34414  // be included in the string output. The member name will be present, but the
 34415  // value will be replaced with "sensitive".
 34416  func (s ListMembersInput) String() string {
 34417  	return awsutil.Prettify(s)
 34418  }
 34419  
 34420  // GoString returns the string representation.
 34421  //
 34422  // API parameter values that are decorated as "sensitive" in the API will not
 34423  // be included in the string output. The member name will be present, but the
 34424  // value will be replaced with "sensitive".
 34425  func (s ListMembersInput) GoString() string {
 34426  	return s.String()
 34427  }
 34428  
 34429  // Validate inspects the fields of the type to determine if they are valid.
 34430  func (s *ListMembersInput) Validate() error {
 34431  	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
 34432  	if s.MaxResults != nil && *s.MaxResults < 1 {
 34433  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 34434  	}
 34435  
 34436  	if invalidParams.Len() > 0 {
 34437  		return invalidParams
 34438  	}
 34439  	return nil
 34440  }
 34441  
 34442  // SetMaxResults sets the MaxResults field's value.
 34443  func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
 34444  	s.MaxResults = &v
 34445  	return s
 34446  }
 34447  
 34448  // SetNextToken sets the NextToken field's value.
 34449  func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
 34450  	s.NextToken = &v
 34451  	return s
 34452  }
 34453  
 34454  // SetOnlyAssociated sets the OnlyAssociated field's value.
 34455  func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
 34456  	s.OnlyAssociated = &v
 34457  	return s
 34458  }
 34459  
 34460  type ListMembersOutput struct {
 34461  	_ struct{} `type:"structure"`
 34462  
 34463  	// Member details returned by the operation.
 34464  	Members []*Member `type:"list"`
 34465  
 34466  	// The pagination token to use to request the next page of results.
 34467  	NextToken *string `type:"string"`
 34468  }
 34469  
 34470  // String returns the string representation.
 34471  //
 34472  // API parameter values that are decorated as "sensitive" in the API will not
 34473  // be included in the string output. The member name will be present, but the
 34474  // value will be replaced with "sensitive".
 34475  func (s ListMembersOutput) String() string {
 34476  	return awsutil.Prettify(s)
 34477  }
 34478  
 34479  // GoString returns the string representation.
 34480  //
 34481  // API parameter values that are decorated as "sensitive" in the API will not
 34482  // be included in the string output. The member name will be present, but the
 34483  // value will be replaced with "sensitive".
 34484  func (s ListMembersOutput) GoString() string {
 34485  	return s.String()
 34486  }
 34487  
 34488  // SetMembers sets the Members field's value.
 34489  func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
 34490  	s.Members = v
 34491  	return s
 34492  }
 34493  
 34494  // SetNextToken sets the NextToken field's value.
 34495  func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
 34496  	s.NextToken = &v
 34497  	return s
 34498  }
 34499  
 34500  type ListOrganizationAdminAccountsInput struct {
 34501  	_ struct{} `type:"structure" nopayload:"true"`
 34502  
 34503  	// The maximum number of items to return in the response.
 34504  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
 34505  
 34506  	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
 34507  	// operation, set the value of this parameter to NULL. For subsequent calls
 34508  	// to the operation, to continue listing data, set the value of this parameter
 34509  	// to the value returned from the previous response.
 34510  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 34511  }
 34512  
 34513  // String returns the string representation.
 34514  //
 34515  // API parameter values that are decorated as "sensitive" in the API will not
 34516  // be included in the string output. The member name will be present, but the
 34517  // value will be replaced with "sensitive".
 34518  func (s ListOrganizationAdminAccountsInput) String() string {
 34519  	return awsutil.Prettify(s)
 34520  }
 34521  
 34522  // GoString returns the string representation.
 34523  //
 34524  // API parameter values that are decorated as "sensitive" in the API will not
 34525  // be included in the string output. The member name will be present, but the
 34526  // value will be replaced with "sensitive".
 34527  func (s ListOrganizationAdminAccountsInput) GoString() string {
 34528  	return s.String()
 34529  }
 34530  
 34531  // Validate inspects the fields of the type to determine if they are valid.
 34532  func (s *ListOrganizationAdminAccountsInput) Validate() error {
 34533  	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
 34534  	if s.MaxResults != nil && *s.MaxResults < 1 {
 34535  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 34536  	}
 34537  
 34538  	if invalidParams.Len() > 0 {
 34539  		return invalidParams
 34540  	}
 34541  	return nil
 34542  }
 34543  
 34544  // SetMaxResults sets the MaxResults field's value.
 34545  func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
 34546  	s.MaxResults = &v
 34547  	return s
 34548  }
 34549  
 34550  // SetNextToken sets the NextToken field's value.
 34551  func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
 34552  	s.NextToken = &v
 34553  	return s
 34554  }
 34555  
 34556  type ListOrganizationAdminAccountsOutput struct {
 34557  	_ struct{} `type:"structure"`
 34558  
 34559  	// The list of Security Hub administrator accounts.
 34560  	AdminAccounts []*AdminAccount `type:"list"`
 34561  
 34562  	// The pagination token to use to request the next page of results.
 34563  	NextToken *string `type:"string"`
 34564  }
 34565  
 34566  // String returns the string representation.
 34567  //
 34568  // API parameter values that are decorated as "sensitive" in the API will not
 34569  // be included in the string output. The member name will be present, but the
 34570  // value will be replaced with "sensitive".
 34571  func (s ListOrganizationAdminAccountsOutput) String() string {
 34572  	return awsutil.Prettify(s)
 34573  }
 34574  
 34575  // GoString returns the string representation.
 34576  //
 34577  // API parameter values that are decorated as "sensitive" in the API will not
 34578  // be included in the string output. The member name will be present, but the
 34579  // value will be replaced with "sensitive".
 34580  func (s ListOrganizationAdminAccountsOutput) GoString() string {
 34581  	return s.String()
 34582  }
 34583  
 34584  // SetAdminAccounts sets the AdminAccounts field's value.
 34585  func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
 34586  	s.AdminAccounts = v
 34587  	return s
 34588  }
 34589  
 34590  // SetNextToken sets the NextToken field's value.
 34591  func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
 34592  	s.NextToken = &v
 34593  	return s
 34594  }
 34595  
 34596  type ListTagsForResourceInput struct {
 34597  	_ struct{} `type:"structure" nopayload:"true"`
 34598  
 34599  	// The ARN of the resource to retrieve tags for.
 34600  	//
 34601  	// ResourceArn is a required field
 34602  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 34603  }
 34604  
 34605  // String returns the string representation.
 34606  //
 34607  // API parameter values that are decorated as "sensitive" in the API will not
 34608  // be included in the string output. The member name will be present, but the
 34609  // value will be replaced with "sensitive".
 34610  func (s ListTagsForResourceInput) String() string {
 34611  	return awsutil.Prettify(s)
 34612  }
 34613  
 34614  // GoString returns the string representation.
 34615  //
 34616  // API parameter values that are decorated as "sensitive" in the API will not
 34617  // be included in the string output. The member name will be present, but the
 34618  // value will be replaced with "sensitive".
 34619  func (s ListTagsForResourceInput) GoString() string {
 34620  	return s.String()
 34621  }
 34622  
 34623  // Validate inspects the fields of the type to determine if they are valid.
 34624  func (s *ListTagsForResourceInput) Validate() error {
 34625  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 34626  	if s.ResourceArn == nil {
 34627  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 34628  	}
 34629  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 34630  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 34631  	}
 34632  
 34633  	if invalidParams.Len() > 0 {
 34634  		return invalidParams
 34635  	}
 34636  	return nil
 34637  }
 34638  
 34639  // SetResourceArn sets the ResourceArn field's value.
 34640  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 34641  	s.ResourceArn = &v
 34642  	return s
 34643  }
 34644  
 34645  type ListTagsForResourceOutput struct {
 34646  	_ struct{} `type:"structure"`
 34647  
 34648  	// The tags associated with a resource.
 34649  	Tags map[string]*string `min:"1" type:"map"`
 34650  }
 34651  
 34652  // String returns the string representation.
 34653  //
 34654  // API parameter values that are decorated as "sensitive" in the API will not
 34655  // be included in the string output. The member name will be present, but the
 34656  // value will be replaced with "sensitive".
 34657  func (s ListTagsForResourceOutput) String() string {
 34658  	return awsutil.Prettify(s)
 34659  }
 34660  
 34661  // GoString returns the string representation.
 34662  //
 34663  // API parameter values that are decorated as "sensitive" in the API will not
 34664  // be included in the string output. The member name will be present, but the
 34665  // value will be replaced with "sensitive".
 34666  func (s ListTagsForResourceOutput) GoString() string {
 34667  	return s.String()
 34668  }
 34669  
 34670  // SetTags sets the Tags field's value.
 34671  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 34672  	s.Tags = v
 34673  	return s
 34674  }
 34675  
 34676  // Information about the state of the load balancer.
 34677  type LoadBalancerState struct {
 34678  	_ struct{} `type:"structure"`
 34679  
 34680  	// The state code. The initial state of the load balancer is provisioning.
 34681  	//
 34682  	// After the load balancer is fully set up and ready to route traffic, its state
 34683  	// is active.
 34684  	//
 34685  	// If the load balancer could not be set up, its state is failed.
 34686  	Code *string `type:"string"`
 34687  
 34688  	// A description of the state.
 34689  	Reason *string `type:"string"`
 34690  }
 34691  
 34692  // String returns the string representation.
 34693  //
 34694  // API parameter values that are decorated as "sensitive" in the API will not
 34695  // be included in the string output. The member name will be present, but the
 34696  // value will be replaced with "sensitive".
 34697  func (s LoadBalancerState) String() string {
 34698  	return awsutil.Prettify(s)
 34699  }
 34700  
 34701  // GoString returns the string representation.
 34702  //
 34703  // API parameter values that are decorated as "sensitive" in the API will not
 34704  // be included in the string output. The member name will be present, but the
 34705  // value will be replaced with "sensitive".
 34706  func (s LoadBalancerState) GoString() string {
 34707  	return s.String()
 34708  }
 34709  
 34710  // SetCode sets the Code field's value.
 34711  func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
 34712  	s.Code = &v
 34713  	return s
 34714  }
 34715  
 34716  // SetReason sets the Reason field's value.
 34717  func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
 34718  	s.Reason = &v
 34719  	return s
 34720  }
 34721  
 34722  // A list of malware related to a finding.
 34723  type Malware struct {
 34724  	_ struct{} `type:"structure"`
 34725  
 34726  	// The name of the malware that was observed.
 34727  	//
 34728  	// Name is a required field
 34729  	Name *string `type:"string" required:"true"`
 34730  
 34731  	// The file system path of the malware that was observed.
 34732  	Path *string `type:"string"`
 34733  
 34734  	// The state of the malware that was observed.
 34735  	State *string `type:"string" enum:"MalwareState"`
 34736  
 34737  	// The type of the malware that was observed.
 34738  	Type *string `type:"string" enum:"MalwareType"`
 34739  }
 34740  
 34741  // String returns the string representation.
 34742  //
 34743  // API parameter values that are decorated as "sensitive" in the API will not
 34744  // be included in the string output. The member name will be present, but the
 34745  // value will be replaced with "sensitive".
 34746  func (s Malware) String() string {
 34747  	return awsutil.Prettify(s)
 34748  }
 34749  
 34750  // GoString returns the string representation.
 34751  //
 34752  // API parameter values that are decorated as "sensitive" in the API will not
 34753  // be included in the string output. The member name will be present, but the
 34754  // value will be replaced with "sensitive".
 34755  func (s Malware) GoString() string {
 34756  	return s.String()
 34757  }
 34758  
 34759  // Validate inspects the fields of the type to determine if they are valid.
 34760  func (s *Malware) Validate() error {
 34761  	invalidParams := request.ErrInvalidParams{Context: "Malware"}
 34762  	if s.Name == nil {
 34763  		invalidParams.Add(request.NewErrParamRequired("Name"))
 34764  	}
 34765  
 34766  	if invalidParams.Len() > 0 {
 34767  		return invalidParams
 34768  	}
 34769  	return nil
 34770  }
 34771  
 34772  // SetName sets the Name field's value.
 34773  func (s *Malware) SetName(v string) *Malware {
 34774  	s.Name = &v
 34775  	return s
 34776  }
 34777  
 34778  // SetPath sets the Path field's value.
 34779  func (s *Malware) SetPath(v string) *Malware {
 34780  	s.Path = &v
 34781  	return s
 34782  }
 34783  
 34784  // SetState sets the State field's value.
 34785  func (s *Malware) SetState(v string) *Malware {
 34786  	s.State = &v
 34787  	return s
 34788  }
 34789  
 34790  // SetType sets the Type field's value.
 34791  func (s *Malware) SetType(v string) *Malware {
 34792  	s.Type = &v
 34793  	return s
 34794  }
 34795  
 34796  // A map filter for querying findings. Each map filter provides the field to
 34797  // check, the value to look for, and the comparison operator.
 34798  type MapFilter struct {
 34799  	_ struct{} `type:"structure"`
 34800  
 34801  	// The condition to apply to the key value when querying for findings with a
 34802  	// map filter.
 34803  	//
 34804  	// To search for values that exactly match the filter value, use EQUALS. For
 34805  	// example, for the ResourceTags field, the filter Department EQUALS Security
 34806  	// matches findings that have the value Security for the tag Department.
 34807  	//
 34808  	// To search for values other than the filter value, use NOT_EQUALS. For example,
 34809  	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
 34810  	// findings that do not have the value Finance for the tag Department.
 34811  	//
 34812  	// EQUALS filters on the same field are joined by OR. A finding matches if it
 34813  	// matches any one of those filters.
 34814  	//
 34815  	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
 34816  	// only if it matches all of those filters.
 34817  	//
 34818  	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
 34819  	// field.
 34820  	Comparison *string `type:"string" enum:"MapFilterComparison"`
 34821  
 34822  	// The key of the map filter. For example, for ResourceTags, Key identifies
 34823  	// the name of the tag. For UserDefinedFields, Key is the name of the field.
 34824  	Key *string `type:"string"`
 34825  
 34826  	// The value for the key in the map filter. Filter values are case sensitive.
 34827  	// For example, one of the values for a tag called Department might be Security.
 34828  	// If you provide security as the filter value, then there is no match.
 34829  	Value *string `type:"string"`
 34830  }
 34831  
 34832  // String returns the string representation.
 34833  //
 34834  // API parameter values that are decorated as "sensitive" in the API will not
 34835  // be included in the string output. The member name will be present, but the
 34836  // value will be replaced with "sensitive".
 34837  func (s MapFilter) String() string {
 34838  	return awsutil.Prettify(s)
 34839  }
 34840  
 34841  // GoString returns the string representation.
 34842  //
 34843  // API parameter values that are decorated as "sensitive" in the API will not
 34844  // be included in the string output. The member name will be present, but the
 34845  // value will be replaced with "sensitive".
 34846  func (s MapFilter) GoString() string {
 34847  	return s.String()
 34848  }
 34849  
 34850  // SetComparison sets the Comparison field's value.
 34851  func (s *MapFilter) SetComparison(v string) *MapFilter {
 34852  	s.Comparison = &v
 34853  	return s
 34854  }
 34855  
 34856  // SetKey sets the Key field's value.
 34857  func (s *MapFilter) SetKey(v string) *MapFilter {
 34858  	s.Key = &v
 34859  	return s
 34860  }
 34861  
 34862  // SetValue sets the Value field's value.
 34863  func (s *MapFilter) SetValue(v string) *MapFilter {
 34864  	s.Value = &v
 34865  	return s
 34866  }
 34867  
 34868  // The details about a member account.
 34869  type Member struct {
 34870  	_ struct{} `type:"structure"`
 34871  
 34872  	// The Amazon Web Services account ID of the member account.
 34873  	AccountId *string `type:"string"`
 34874  
 34875  	// The Amazon Web Services account ID of the Security Hub administrator account
 34876  	// associated with this member account.
 34877  	AdministratorId *string `type:"string"`
 34878  
 34879  	// The email address of the member account.
 34880  	Email *string `type:"string"`
 34881  
 34882  	// A timestamp for the date and time when the invitation was sent to the member
 34883  	// account.
 34884  	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 34885  
 34886  	// This is replaced by AdministratorID.
 34887  	//
 34888  	// The Amazon Web Services account ID of the Security Hub administrator account
 34889  	// associated with this member account.
 34890  	//
 34891  	// Deprecated: This field is deprecated, use AdministratorId instead.
 34892  	MasterId *string `deprecated:"true" type:"string"`
 34893  
 34894  	// The status of the relationship between the member account and its administrator
 34895  	// account.
 34896  	//
 34897  	// The status can have one of the following values:
 34898  	//
 34899  	//    * CREATED - Indicates that the administrator account added the member
 34900  	//    account, but has not yet invited the member account.
 34901  	//
 34902  	//    * INVITED - Indicates that the administrator account invited the member
 34903  	//    account. The member account has not yet responded to the invitation.
 34904  	//
 34905  	//    * ENABLED - Indicates that the member account is currently active. For
 34906  	//    manually invited member accounts, indicates that the member account accepted
 34907  	//    the invitation.
 34908  	//
 34909  	//    * REMOVED - Indicates that the administrator account disassociated the
 34910  	//    member account.
 34911  	//
 34912  	//    * RESIGNED - Indicates that the member account disassociated themselves
 34913  	//    from the administrator account.
 34914  	//
 34915  	//    * DELETED - Indicates that the administrator account deleted the member
 34916  	//    account.
 34917  	//
 34918  	//    * ACCOUNT_SUSPENDED - Indicates that an organization account was suspended
 34919  	//    from Amazon Web Services at the same time that the administrator account
 34920  	//    tried to enable the organization account as a member account.
 34921  	MemberStatus *string `type:"string"`
 34922  
 34923  	// The timestamp for the date and time when the member account was updated.
 34924  	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 34925  }
 34926  
 34927  // String returns the string representation.
 34928  //
 34929  // API parameter values that are decorated as "sensitive" in the API will not
 34930  // be included in the string output. The member name will be present, but the
 34931  // value will be replaced with "sensitive".
 34932  func (s Member) String() string {
 34933  	return awsutil.Prettify(s)
 34934  }
 34935  
 34936  // GoString returns the string representation.
 34937  //
 34938  // API parameter values that are decorated as "sensitive" in the API will not
 34939  // be included in the string output. The member name will be present, but the
 34940  // value will be replaced with "sensitive".
 34941  func (s Member) GoString() string {
 34942  	return s.String()
 34943  }
 34944  
 34945  // SetAccountId sets the AccountId field's value.
 34946  func (s *Member) SetAccountId(v string) *Member {
 34947  	s.AccountId = &v
 34948  	return s
 34949  }
 34950  
 34951  // SetAdministratorId sets the AdministratorId field's value.
 34952  func (s *Member) SetAdministratorId(v string) *Member {
 34953  	s.AdministratorId = &v
 34954  	return s
 34955  }
 34956  
 34957  // SetEmail sets the Email field's value.
 34958  func (s *Member) SetEmail(v string) *Member {
 34959  	s.Email = &v
 34960  	return s
 34961  }
 34962  
 34963  // SetInvitedAt sets the InvitedAt field's value.
 34964  func (s *Member) SetInvitedAt(v time.Time) *Member {
 34965  	s.InvitedAt = &v
 34966  	return s
 34967  }
 34968  
 34969  // SetMasterId sets the MasterId field's value.
 34970  func (s *Member) SetMasterId(v string) *Member {
 34971  	s.MasterId = &v
 34972  	return s
 34973  }
 34974  
 34975  // SetMemberStatus sets the MemberStatus field's value.
 34976  func (s *Member) SetMemberStatus(v string) *Member {
 34977  	s.MemberStatus = &v
 34978  	return s
 34979  }
 34980  
 34981  // SetUpdatedAt sets the UpdatedAt field's value.
 34982  func (s *Member) SetUpdatedAt(v time.Time) *Member {
 34983  	s.UpdatedAt = &v
 34984  	return s
 34985  }
 34986  
 34987  // The details of network-related information about a finding.
 34988  type Network struct {
 34989  	_ struct{} `type:"structure"`
 34990  
 34991  	// The destination domain of network-related information about a finding.
 34992  	DestinationDomain *string `type:"string"`
 34993  
 34994  	// The destination IPv4 address of network-related information about a finding.
 34995  	DestinationIpV4 *string `type:"string"`
 34996  
 34997  	// The destination IPv6 address of network-related information about a finding.
 34998  	DestinationIpV6 *string `type:"string"`
 34999  
 35000  	// The destination port of network-related information about a finding.
 35001  	DestinationPort *int64 `type:"integer"`
 35002  
 35003  	// The direction of network traffic associated with a finding.
 35004  	Direction *string `type:"string" enum:"NetworkDirection"`
 35005  
 35006  	// The range of open ports that is present on the network.
 35007  	OpenPortRange *PortRange `type:"structure"`
 35008  
 35009  	// The protocol of network-related information about a finding.
 35010  	Protocol *string `type:"string"`
 35011  
 35012  	// The source domain of network-related information about a finding.
 35013  	SourceDomain *string `type:"string"`
 35014  
 35015  	// The source IPv4 address of network-related information about a finding.
 35016  	SourceIpV4 *string `type:"string"`
 35017  
 35018  	// The source IPv6 address of network-related information about a finding.
 35019  	SourceIpV6 *string `type:"string"`
 35020  
 35021  	// The source media access control (MAC) address of network-related information
 35022  	// about a finding.
 35023  	SourceMac *string `type:"string"`
 35024  
 35025  	// The source port of network-related information about a finding.
 35026  	SourcePort *int64 `type:"integer"`
 35027  }
 35028  
 35029  // String returns the string representation.
 35030  //
 35031  // API parameter values that are decorated as "sensitive" in the API will not
 35032  // be included in the string output. The member name will be present, but the
 35033  // value will be replaced with "sensitive".
 35034  func (s Network) String() string {
 35035  	return awsutil.Prettify(s)
 35036  }
 35037  
 35038  // GoString returns the string representation.
 35039  //
 35040  // API parameter values that are decorated as "sensitive" in the API will not
 35041  // be included in the string output. The member name will be present, but the
 35042  // value will be replaced with "sensitive".
 35043  func (s Network) GoString() string {
 35044  	return s.String()
 35045  }
 35046  
 35047  // SetDestinationDomain sets the DestinationDomain field's value.
 35048  func (s *Network) SetDestinationDomain(v string) *Network {
 35049  	s.DestinationDomain = &v
 35050  	return s
 35051  }
 35052  
 35053  // SetDestinationIpV4 sets the DestinationIpV4 field's value.
 35054  func (s *Network) SetDestinationIpV4(v string) *Network {
 35055  	s.DestinationIpV4 = &v
 35056  	return s
 35057  }
 35058  
 35059  // SetDestinationIpV6 sets the DestinationIpV6 field's value.
 35060  func (s *Network) SetDestinationIpV6(v string) *Network {
 35061  	s.DestinationIpV6 = &v
 35062  	return s
 35063  }
 35064  
 35065  // SetDestinationPort sets the DestinationPort field's value.
 35066  func (s *Network) SetDestinationPort(v int64) *Network {
 35067  	s.DestinationPort = &v
 35068  	return s
 35069  }
 35070  
 35071  // SetDirection sets the Direction field's value.
 35072  func (s *Network) SetDirection(v string) *Network {
 35073  	s.Direction = &v
 35074  	return s
 35075  }
 35076  
 35077  // SetOpenPortRange sets the OpenPortRange field's value.
 35078  func (s *Network) SetOpenPortRange(v *PortRange) *Network {
 35079  	s.OpenPortRange = v
 35080  	return s
 35081  }
 35082  
 35083  // SetProtocol sets the Protocol field's value.
 35084  func (s *Network) SetProtocol(v string) *Network {
 35085  	s.Protocol = &v
 35086  	return s
 35087  }
 35088  
 35089  // SetSourceDomain sets the SourceDomain field's value.
 35090  func (s *Network) SetSourceDomain(v string) *Network {
 35091  	s.SourceDomain = &v
 35092  	return s
 35093  }
 35094  
 35095  // SetSourceIpV4 sets the SourceIpV4 field's value.
 35096  func (s *Network) SetSourceIpV4(v string) *Network {
 35097  	s.SourceIpV4 = &v
 35098  	return s
 35099  }
 35100  
 35101  // SetSourceIpV6 sets the SourceIpV6 field's value.
 35102  func (s *Network) SetSourceIpV6(v string) *Network {
 35103  	s.SourceIpV6 = &v
 35104  	return s
 35105  }
 35106  
 35107  // SetSourceMac sets the SourceMac field's value.
 35108  func (s *Network) SetSourceMac(v string) *Network {
 35109  	s.SourceMac = &v
 35110  	return s
 35111  }
 35112  
 35113  // SetSourcePort sets the SourcePort field's value.
 35114  func (s *Network) SetSourcePort(v int64) *Network {
 35115  	s.SourcePort = &v
 35116  	return s
 35117  }
 35118  
 35119  // Provided if ActionType is NETWORK_CONNECTION. It provides details about the
 35120  // attempted network connection that was detected.
 35121  type NetworkConnectionAction struct {
 35122  	_ struct{} `type:"structure"`
 35123  
 35124  	// Indicates whether the network connection attempt was blocked.
 35125  	Blocked *bool `type:"boolean"`
 35126  
 35127  	// The direction of the network connection request (IN or OUT).
 35128  	ConnectionDirection *string `type:"string"`
 35129  
 35130  	// Information about the port on the EC2 instance.
 35131  	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
 35132  
 35133  	// The protocol used to make the network connection request.
 35134  	Protocol *string `type:"string"`
 35135  
 35136  	// Information about the remote IP address that issued the network connection
 35137  	// request.
 35138  	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
 35139  
 35140  	// Information about the port on the remote IP address.
 35141  	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
 35142  }
 35143  
 35144  // String returns the string representation.
 35145  //
 35146  // API parameter values that are decorated as "sensitive" in the API will not
 35147  // be included in the string output. The member name will be present, but the
 35148  // value will be replaced with "sensitive".
 35149  func (s NetworkConnectionAction) String() string {
 35150  	return awsutil.Prettify(s)
 35151  }
 35152  
 35153  // GoString returns the string representation.
 35154  //
 35155  // API parameter values that are decorated as "sensitive" in the API will not
 35156  // be included in the string output. The member name will be present, but the
 35157  // value will be replaced with "sensitive".
 35158  func (s NetworkConnectionAction) GoString() string {
 35159  	return s.String()
 35160  }
 35161  
 35162  // SetBlocked sets the Blocked field's value.
 35163  func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
 35164  	s.Blocked = &v
 35165  	return s
 35166  }
 35167  
 35168  // SetConnectionDirection sets the ConnectionDirection field's value.
 35169  func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
 35170  	s.ConnectionDirection = &v
 35171  	return s
 35172  }
 35173  
 35174  // SetLocalPortDetails sets the LocalPortDetails field's value.
 35175  func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
 35176  	s.LocalPortDetails = v
 35177  	return s
 35178  }
 35179  
 35180  // SetProtocol sets the Protocol field's value.
 35181  func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
 35182  	s.Protocol = &v
 35183  	return s
 35184  }
 35185  
 35186  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
 35187  func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
 35188  	s.RemoteIpDetails = v
 35189  	return s
 35190  }
 35191  
 35192  // SetRemotePortDetails sets the RemotePortDetails field's value.
 35193  func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
 35194  	s.RemotePortDetails = v
 35195  	return s
 35196  }
 35197  
 35198  // Details about a network path component that occurs before or after the current
 35199  // component.
 35200  type NetworkHeader struct {
 35201  	_ struct{} `type:"structure"`
 35202  
 35203  	// Information about the destination of the component.
 35204  	Destination *NetworkPathComponentDetails `type:"structure"`
 35205  
 35206  	// The protocol used for the component.
 35207  	Protocol *string `type:"string"`
 35208  
 35209  	// Information about the origin of the component.
 35210  	Source *NetworkPathComponentDetails `type:"structure"`
 35211  }
 35212  
 35213  // String returns the string representation.
 35214  //
 35215  // API parameter values that are decorated as "sensitive" in the API will not
 35216  // be included in the string output. The member name will be present, but the
 35217  // value will be replaced with "sensitive".
 35218  func (s NetworkHeader) String() string {
 35219  	return awsutil.Prettify(s)
 35220  }
 35221  
 35222  // GoString returns the string representation.
 35223  //
 35224  // API parameter values that are decorated as "sensitive" in the API will not
 35225  // be included in the string output. The member name will be present, but the
 35226  // value will be replaced with "sensitive".
 35227  func (s NetworkHeader) GoString() string {
 35228  	return s.String()
 35229  }
 35230  
 35231  // SetDestination sets the Destination field's value.
 35232  func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
 35233  	s.Destination = v
 35234  	return s
 35235  }
 35236  
 35237  // SetProtocol sets the Protocol field's value.
 35238  func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
 35239  	s.Protocol = &v
 35240  	return s
 35241  }
 35242  
 35243  // SetSource sets the Source field's value.
 35244  func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
 35245  	s.Source = v
 35246  	return s
 35247  }
 35248  
 35249  // Information about a network path component.
 35250  type NetworkPathComponent struct {
 35251  	_ struct{} `type:"structure"`
 35252  
 35253  	// The identifier of a component in the network path.
 35254  	ComponentId *string `type:"string"`
 35255  
 35256  	// The type of component.
 35257  	ComponentType *string `type:"string"`
 35258  
 35259  	// Information about the component that comes after the current component in
 35260  	// the network path.
 35261  	Egress *NetworkHeader `type:"structure"`
 35262  
 35263  	// Information about the component that comes before the current node in the
 35264  	// network path.
 35265  	Ingress *NetworkHeader `type:"structure"`
 35266  }
 35267  
 35268  // String returns the string representation.
 35269  //
 35270  // API parameter values that are decorated as "sensitive" in the API will not
 35271  // be included in the string output. The member name will be present, but the
 35272  // value will be replaced with "sensitive".
 35273  func (s NetworkPathComponent) String() string {
 35274  	return awsutil.Prettify(s)
 35275  }
 35276  
 35277  // GoString returns the string representation.
 35278  //
 35279  // API parameter values that are decorated as "sensitive" in the API will not
 35280  // be included in the string output. The member name will be present, but the
 35281  // value will be replaced with "sensitive".
 35282  func (s NetworkPathComponent) GoString() string {
 35283  	return s.String()
 35284  }
 35285  
 35286  // SetComponentId sets the ComponentId field's value.
 35287  func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
 35288  	s.ComponentId = &v
 35289  	return s
 35290  }
 35291  
 35292  // SetComponentType sets the ComponentType field's value.
 35293  func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
 35294  	s.ComponentType = &v
 35295  	return s
 35296  }
 35297  
 35298  // SetEgress sets the Egress field's value.
 35299  func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
 35300  	s.Egress = v
 35301  	return s
 35302  }
 35303  
 35304  // SetIngress sets the Ingress field's value.
 35305  func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
 35306  	s.Ingress = v
 35307  	return s
 35308  }
 35309  
 35310  // Information about the destination of the next component in the network path.
 35311  type NetworkPathComponentDetails struct {
 35312  	_ struct{} `type:"structure"`
 35313  
 35314  	// The IP addresses of the destination.
 35315  	Address []*string `type:"list"`
 35316  
 35317  	// A list of port ranges for the destination.
 35318  	PortRanges []*PortRange `type:"list"`
 35319  }
 35320  
 35321  // String returns the string representation.
 35322  //
 35323  // API parameter values that are decorated as "sensitive" in the API will not
 35324  // be included in the string output. The member name will be present, but the
 35325  // value will be replaced with "sensitive".
 35326  func (s NetworkPathComponentDetails) String() string {
 35327  	return awsutil.Prettify(s)
 35328  }
 35329  
 35330  // GoString returns the string representation.
 35331  //
 35332  // API parameter values that are decorated as "sensitive" in the API will not
 35333  // be included in the string output. The member name will be present, but the
 35334  // value will be replaced with "sensitive".
 35335  func (s NetworkPathComponentDetails) GoString() string {
 35336  	return s.String()
 35337  }
 35338  
 35339  // SetAddress sets the Address field's value.
 35340  func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
 35341  	s.Address = v
 35342  	return s
 35343  }
 35344  
 35345  // SetPortRanges sets the PortRanges field's value.
 35346  func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
 35347  	s.PortRanges = v
 35348  	return s
 35349  }
 35350  
 35351  // A user-defined note added to a finding.
 35352  type Note struct {
 35353  	_ struct{} `type:"structure"`
 35354  
 35355  	// The text of a note.
 35356  	//
 35357  	// Text is a required field
 35358  	Text *string `type:"string" required:"true"`
 35359  
 35360  	// The timestamp of when the note was updated.
 35361  	//
 35362  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 35363  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 35364  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 35365  	//
 35366  	// UpdatedAt is a required field
 35367  	UpdatedAt *string `type:"string" required:"true"`
 35368  
 35369  	// The principal that created a note.
 35370  	//
 35371  	// UpdatedBy is a required field
 35372  	UpdatedBy *string `type:"string" required:"true"`
 35373  }
 35374  
 35375  // String returns the string representation.
 35376  //
 35377  // API parameter values that are decorated as "sensitive" in the API will not
 35378  // be included in the string output. The member name will be present, but the
 35379  // value will be replaced with "sensitive".
 35380  func (s Note) String() string {
 35381  	return awsutil.Prettify(s)
 35382  }
 35383  
 35384  // GoString returns the string representation.
 35385  //
 35386  // API parameter values that are decorated as "sensitive" in the API will not
 35387  // be included in the string output. The member name will be present, but the
 35388  // value will be replaced with "sensitive".
 35389  func (s Note) GoString() string {
 35390  	return s.String()
 35391  }
 35392  
 35393  // Validate inspects the fields of the type to determine if they are valid.
 35394  func (s *Note) Validate() error {
 35395  	invalidParams := request.ErrInvalidParams{Context: "Note"}
 35396  	if s.Text == nil {
 35397  		invalidParams.Add(request.NewErrParamRequired("Text"))
 35398  	}
 35399  	if s.UpdatedAt == nil {
 35400  		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
 35401  	}
 35402  	if s.UpdatedBy == nil {
 35403  		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
 35404  	}
 35405  
 35406  	if invalidParams.Len() > 0 {
 35407  		return invalidParams
 35408  	}
 35409  	return nil
 35410  }
 35411  
 35412  // SetText sets the Text field's value.
 35413  func (s *Note) SetText(v string) *Note {
 35414  	s.Text = &v
 35415  	return s
 35416  }
 35417  
 35418  // SetUpdatedAt sets the UpdatedAt field's value.
 35419  func (s *Note) SetUpdatedAt(v string) *Note {
 35420  	s.UpdatedAt = &v
 35421  	return s
 35422  }
 35423  
 35424  // SetUpdatedBy sets the UpdatedBy field's value.
 35425  func (s *Note) SetUpdatedBy(v string) *Note {
 35426  	s.UpdatedBy = &v
 35427  	return s
 35428  }
 35429  
 35430  // The updated note.
 35431  type NoteUpdate struct {
 35432  	_ struct{} `type:"structure"`
 35433  
 35434  	// The updated note text.
 35435  	//
 35436  	// Text is a required field
 35437  	Text *string `type:"string" required:"true"`
 35438  
 35439  	// The principal that updated the note.
 35440  	//
 35441  	// UpdatedBy is a required field
 35442  	UpdatedBy *string `type:"string" required:"true"`
 35443  }
 35444  
 35445  // String returns the string representation.
 35446  //
 35447  // API parameter values that are decorated as "sensitive" in the API will not
 35448  // be included in the string output. The member name will be present, but the
 35449  // value will be replaced with "sensitive".
 35450  func (s NoteUpdate) String() string {
 35451  	return awsutil.Prettify(s)
 35452  }
 35453  
 35454  // GoString returns the string representation.
 35455  //
 35456  // API parameter values that are decorated as "sensitive" in the API will not
 35457  // be included in the string output. The member name will be present, but the
 35458  // value will be replaced with "sensitive".
 35459  func (s NoteUpdate) GoString() string {
 35460  	return s.String()
 35461  }
 35462  
 35463  // Validate inspects the fields of the type to determine if they are valid.
 35464  func (s *NoteUpdate) Validate() error {
 35465  	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
 35466  	if s.Text == nil {
 35467  		invalidParams.Add(request.NewErrParamRequired("Text"))
 35468  	}
 35469  	if s.UpdatedBy == nil {
 35470  		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
 35471  	}
 35472  
 35473  	if invalidParams.Len() > 0 {
 35474  		return invalidParams
 35475  	}
 35476  	return nil
 35477  }
 35478  
 35479  // SetText sets the Text field's value.
 35480  func (s *NoteUpdate) SetText(v string) *NoteUpdate {
 35481  	s.Text = &v
 35482  	return s
 35483  }
 35484  
 35485  // SetUpdatedBy sets the UpdatedBy field's value.
 35486  func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
 35487  	s.UpdatedBy = &v
 35488  	return s
 35489  }
 35490  
 35491  // A number filter for querying findings.
 35492  type NumberFilter struct {
 35493  	_ struct{} `type:"structure"`
 35494  
 35495  	// The equal-to condition to be applied to a single field when querying for
 35496  	// findings.
 35497  	Eq *float64 `type:"double"`
 35498  
 35499  	// The greater-than-equal condition to be applied to a single field when querying
 35500  	// for findings.
 35501  	Gte *float64 `type:"double"`
 35502  
 35503  	// The less-than-equal condition to be applied to a single field when querying
 35504  	// for findings.
 35505  	Lte *float64 `type:"double"`
 35506  }
 35507  
 35508  // String returns the string representation.
 35509  //
 35510  // API parameter values that are decorated as "sensitive" in the API will not
 35511  // be included in the string output. The member name will be present, but the
 35512  // value will be replaced with "sensitive".
 35513  func (s NumberFilter) String() string {
 35514  	return awsutil.Prettify(s)
 35515  }
 35516  
 35517  // GoString returns the string representation.
 35518  //
 35519  // API parameter values that are decorated as "sensitive" in the API will not
 35520  // be included in the string output. The member name will be present, but the
 35521  // value will be replaced with "sensitive".
 35522  func (s NumberFilter) GoString() string {
 35523  	return s.String()
 35524  }
 35525  
 35526  // SetEq sets the Eq field's value.
 35527  func (s *NumberFilter) SetEq(v float64) *NumberFilter {
 35528  	s.Eq = &v
 35529  	return s
 35530  }
 35531  
 35532  // SetGte sets the Gte field's value.
 35533  func (s *NumberFilter) SetGte(v float64) *NumberFilter {
 35534  	s.Gte = &v
 35535  	return s
 35536  }
 35537  
 35538  // SetLte sets the Lte field's value.
 35539  func (s *NumberFilter) SetLte(v float64) *NumberFilter {
 35540  	s.Lte = &v
 35541  	return s
 35542  }
 35543  
 35544  // The detected occurrences of sensitive data.
 35545  type Occurrences struct {
 35546  	_ struct{} `type:"structure"`
 35547  
 35548  	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
 35549  	// value (CSV) files, or tab-separated value (TSV) files.
 35550  	Cells []*Cell `type:"list"`
 35551  
 35552  	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
 35553  	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
 35554  	// TXT files.
 35555  	LineRanges []*Range `type:"list"`
 35556  
 35557  	// Occurrences of sensitive data detected in a binary text file.
 35558  	OffsetRanges []*Range `type:"list"`
 35559  
 35560  	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
 35561  	// file.
 35562  	Pages []*Page `type:"list"`
 35563  
 35564  	// Occurrences of sensitive data in an Apache Avro object container or an Apache
 35565  	// Parquet file.
 35566  	Records []*Record `type:"list"`
 35567  }
 35568  
 35569  // String returns the string representation.
 35570  //
 35571  // API parameter values that are decorated as "sensitive" in the API will not
 35572  // be included in the string output. The member name will be present, but the
 35573  // value will be replaced with "sensitive".
 35574  func (s Occurrences) String() string {
 35575  	return awsutil.Prettify(s)
 35576  }
 35577  
 35578  // GoString returns the string representation.
 35579  //
 35580  // API parameter values that are decorated as "sensitive" in the API will not
 35581  // be included in the string output. The member name will be present, but the
 35582  // value will be replaced with "sensitive".
 35583  func (s Occurrences) GoString() string {
 35584  	return s.String()
 35585  }
 35586  
 35587  // SetCells sets the Cells field's value.
 35588  func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
 35589  	s.Cells = v
 35590  	return s
 35591  }
 35592  
 35593  // SetLineRanges sets the LineRanges field's value.
 35594  func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
 35595  	s.LineRanges = v
 35596  	return s
 35597  }
 35598  
 35599  // SetOffsetRanges sets the OffsetRanges field's value.
 35600  func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
 35601  	s.OffsetRanges = v
 35602  	return s
 35603  }
 35604  
 35605  // SetPages sets the Pages field's value.
 35606  func (s *Occurrences) SetPages(v []*Page) *Occurrences {
 35607  	s.Pages = v
 35608  	return s
 35609  }
 35610  
 35611  // SetRecords sets the Records field's value.
 35612  func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
 35613  	s.Records = v
 35614  	return s
 35615  }
 35616  
 35617  // An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
 35618  // file.
 35619  type Page struct {
 35620  	_ struct{} `type:"structure"`
 35621  
 35622  	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
 35623  	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
 35624  	// TXT files.
 35625  	LineRange *Range `type:"structure"`
 35626  
 35627  	// An occurrence of sensitive data detected in a binary text file.
 35628  	OffsetRange *Range `type:"structure"`
 35629  
 35630  	// The page number of the page that contains the sensitive data.
 35631  	PageNumber *int64 `type:"long"`
 35632  }
 35633  
 35634  // String returns the string representation.
 35635  //
 35636  // API parameter values that are decorated as "sensitive" in the API will not
 35637  // be included in the string output. The member name will be present, but the
 35638  // value will be replaced with "sensitive".
 35639  func (s Page) String() string {
 35640  	return awsutil.Prettify(s)
 35641  }
 35642  
 35643  // GoString returns the string representation.
 35644  //
 35645  // API parameter values that are decorated as "sensitive" in the API will not
 35646  // be included in the string output. The member name will be present, but the
 35647  // value will be replaced with "sensitive".
 35648  func (s Page) GoString() string {
 35649  	return s.String()
 35650  }
 35651  
 35652  // SetLineRange sets the LineRange field's value.
 35653  func (s *Page) SetLineRange(v *Range) *Page {
 35654  	s.LineRange = v
 35655  	return s
 35656  }
 35657  
 35658  // SetOffsetRange sets the OffsetRange field's value.
 35659  func (s *Page) SetOffsetRange(v *Range) *Page {
 35660  	s.OffsetRange = v
 35661  	return s
 35662  }
 35663  
 35664  // SetPageNumber sets the PageNumber field's value.
 35665  func (s *Page) SetPageNumber(v int64) *Page {
 35666  	s.PageNumber = &v
 35667  	return s
 35668  }
 35669  
 35670  // Provides an overview of the patch compliance status for an instance against
 35671  // a selected compliance standard.
 35672  type PatchSummary struct {
 35673  	_ struct{} `type:"structure"`
 35674  
 35675  	// The number of patches from the compliance standard that failed to install.
 35676  	FailedCount *int64 `type:"integer"`
 35677  
 35678  	// The identifier of the compliance standard that was used to determine the
 35679  	// patch compliance status.
 35680  	//
 35681  	// Id is a required field
 35682  	Id *string `type:"string" required:"true"`
 35683  
 35684  	// The number of patches from the compliance standard that were installed successfully.
 35685  	InstalledCount *int64 `type:"integer"`
 35686  
 35687  	// The number of installed patches that are not part of the compliance standard.
 35688  	InstalledOtherCount *int64 `type:"integer"`
 35689  
 35690  	// The number of patches that were applied, but that require the instance to
 35691  	// be rebooted in order to be marked as installed.
 35692  	InstalledPendingReboot *int64 `type:"integer"`
 35693  
 35694  	// The number of patches that are installed but are also on a list of patches
 35695  	// that the customer rejected.
 35696  	InstalledRejectedCount *int64 `type:"integer"`
 35697  
 35698  	// The number of patches that are part of the compliance standard but are not
 35699  	// installed. The count includes patches that failed to install.
 35700  	MissingCount *int64 `type:"integer"`
 35701  
 35702  	// The type of patch operation performed. For Patch Manager, the values are
 35703  	// SCAN and INSTALL.
 35704  	Operation *string `type:"string"`
 35705  
 35706  	// Indicates when the operation completed.
 35707  	//
 35708  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 35709  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 35710  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 35711  	OperationEndTime *string `type:"string"`
 35712  
 35713  	// Indicates when the operation started.
 35714  	//
 35715  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 35716  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 35717  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 35718  	OperationStartTime *string `type:"string"`
 35719  
 35720  	// The reboot option specified for the instance.
 35721  	RebootOption *string `type:"string"`
 35722  }
 35723  
 35724  // String returns the string representation.
 35725  //
 35726  // API parameter values that are decorated as "sensitive" in the API will not
 35727  // be included in the string output. The member name will be present, but the
 35728  // value will be replaced with "sensitive".
 35729  func (s PatchSummary) String() string {
 35730  	return awsutil.Prettify(s)
 35731  }
 35732  
 35733  // GoString returns the string representation.
 35734  //
 35735  // API parameter values that are decorated as "sensitive" in the API will not
 35736  // be included in the string output. The member name will be present, but the
 35737  // value will be replaced with "sensitive".
 35738  func (s PatchSummary) GoString() string {
 35739  	return s.String()
 35740  }
 35741  
 35742  // Validate inspects the fields of the type to determine if they are valid.
 35743  func (s *PatchSummary) Validate() error {
 35744  	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
 35745  	if s.Id == nil {
 35746  		invalidParams.Add(request.NewErrParamRequired("Id"))
 35747  	}
 35748  
 35749  	if invalidParams.Len() > 0 {
 35750  		return invalidParams
 35751  	}
 35752  	return nil
 35753  }
 35754  
 35755  // SetFailedCount sets the FailedCount field's value.
 35756  func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
 35757  	s.FailedCount = &v
 35758  	return s
 35759  }
 35760  
 35761  // SetId sets the Id field's value.
 35762  func (s *PatchSummary) SetId(v string) *PatchSummary {
 35763  	s.Id = &v
 35764  	return s
 35765  }
 35766  
 35767  // SetInstalledCount sets the InstalledCount field's value.
 35768  func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
 35769  	s.InstalledCount = &v
 35770  	return s
 35771  }
 35772  
 35773  // SetInstalledOtherCount sets the InstalledOtherCount field's value.
 35774  func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
 35775  	s.InstalledOtherCount = &v
 35776  	return s
 35777  }
 35778  
 35779  // SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
 35780  func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
 35781  	s.InstalledPendingReboot = &v
 35782  	return s
 35783  }
 35784  
 35785  // SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
 35786  func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
 35787  	s.InstalledRejectedCount = &v
 35788  	return s
 35789  }
 35790  
 35791  // SetMissingCount sets the MissingCount field's value.
 35792  func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
 35793  	s.MissingCount = &v
 35794  	return s
 35795  }
 35796  
 35797  // SetOperation sets the Operation field's value.
 35798  func (s *PatchSummary) SetOperation(v string) *PatchSummary {
 35799  	s.Operation = &v
 35800  	return s
 35801  }
 35802  
 35803  // SetOperationEndTime sets the OperationEndTime field's value.
 35804  func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
 35805  	s.OperationEndTime = &v
 35806  	return s
 35807  }
 35808  
 35809  // SetOperationStartTime sets the OperationStartTime field's value.
 35810  func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
 35811  	s.OperationStartTime = &v
 35812  	return s
 35813  }
 35814  
 35815  // SetRebootOption sets the RebootOption field's value.
 35816  func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
 35817  	s.RebootOption = &v
 35818  	return s
 35819  }
 35820  
 35821  // Provided if ActionType is PORT_PROBE. It provides details about the attempted
 35822  // port probe that was detected.
 35823  type PortProbeAction struct {
 35824  	_ struct{} `type:"structure"`
 35825  
 35826  	// Indicates whether the port probe was blocked.
 35827  	Blocked *bool `type:"boolean"`
 35828  
 35829  	// Information about the ports affected by the port probe.
 35830  	PortProbeDetails []*PortProbeDetail `type:"list"`
 35831  }
 35832  
 35833  // String returns the string representation.
 35834  //
 35835  // API parameter values that are decorated as "sensitive" in the API will not
 35836  // be included in the string output. The member name will be present, but the
 35837  // value will be replaced with "sensitive".
 35838  func (s PortProbeAction) String() string {
 35839  	return awsutil.Prettify(s)
 35840  }
 35841  
 35842  // GoString returns the string representation.
 35843  //
 35844  // API parameter values that are decorated as "sensitive" in the API will not
 35845  // be included in the string output. The member name will be present, but the
 35846  // value will be replaced with "sensitive".
 35847  func (s PortProbeAction) GoString() string {
 35848  	return s.String()
 35849  }
 35850  
 35851  // SetBlocked sets the Blocked field's value.
 35852  func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
 35853  	s.Blocked = &v
 35854  	return s
 35855  }
 35856  
 35857  // SetPortProbeDetails sets the PortProbeDetails field's value.
 35858  func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
 35859  	s.PortProbeDetails = v
 35860  	return s
 35861  }
 35862  
 35863  // A port scan that was part of the port probe. For each scan, PortProbeDetails
 35864  // provides information about the local IP address and port that were scanned,
 35865  // and the remote IP address that the scan originated from.
 35866  type PortProbeDetail struct {
 35867  	_ struct{} `type:"structure"`
 35868  
 35869  	// Provides information about the IP address where the scanned port is located.
 35870  	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
 35871  
 35872  	// Provides information about the port that was scanned.
 35873  	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
 35874  
 35875  	// Provides information about the remote IP address that performed the scan.
 35876  	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
 35877  }
 35878  
 35879  // String returns the string representation.
 35880  //
 35881  // API parameter values that are decorated as "sensitive" in the API will not
 35882  // be included in the string output. The member name will be present, but the
 35883  // value will be replaced with "sensitive".
 35884  func (s PortProbeDetail) String() string {
 35885  	return awsutil.Prettify(s)
 35886  }
 35887  
 35888  // GoString returns the string representation.
 35889  //
 35890  // API parameter values that are decorated as "sensitive" in the API will not
 35891  // be included in the string output. The member name will be present, but the
 35892  // value will be replaced with "sensitive".
 35893  func (s PortProbeDetail) GoString() string {
 35894  	return s.String()
 35895  }
 35896  
 35897  // SetLocalIpDetails sets the LocalIpDetails field's value.
 35898  func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
 35899  	s.LocalIpDetails = v
 35900  	return s
 35901  }
 35902  
 35903  // SetLocalPortDetails sets the LocalPortDetails field's value.
 35904  func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
 35905  	s.LocalPortDetails = v
 35906  	return s
 35907  }
 35908  
 35909  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
 35910  func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
 35911  	s.RemoteIpDetails = v
 35912  	return s
 35913  }
 35914  
 35915  // A range of ports.
 35916  type PortRange struct {
 35917  	_ struct{} `type:"structure"`
 35918  
 35919  	// The first port in the port range.
 35920  	Begin *int64 `type:"integer"`
 35921  
 35922  	// The last port in the port range.
 35923  	End *int64 `type:"integer"`
 35924  }
 35925  
 35926  // String returns the string representation.
 35927  //
 35928  // API parameter values that are decorated as "sensitive" in the API will not
 35929  // be included in the string output. The member name will be present, but the
 35930  // value will be replaced with "sensitive".
 35931  func (s PortRange) String() string {
 35932  	return awsutil.Prettify(s)
 35933  }
 35934  
 35935  // GoString returns the string representation.
 35936  //
 35937  // API parameter values that are decorated as "sensitive" in the API will not
 35938  // be included in the string output. The member name will be present, but the
 35939  // value will be replaced with "sensitive".
 35940  func (s PortRange) GoString() string {
 35941  	return s.String()
 35942  }
 35943  
 35944  // SetBegin sets the Begin field's value.
 35945  func (s *PortRange) SetBegin(v int64) *PortRange {
 35946  	s.Begin = &v
 35947  	return s
 35948  }
 35949  
 35950  // SetEnd sets the End field's value.
 35951  func (s *PortRange) SetEnd(v int64) *PortRange {
 35952  	s.End = &v
 35953  	return s
 35954  }
 35955  
 35956  // A range of ports.
 35957  type PortRangeFromTo struct {
 35958  	_ struct{} `type:"structure"`
 35959  
 35960  	// The first port in the port range.
 35961  	From *int64 `type:"integer"`
 35962  
 35963  	// The last port in the port range.
 35964  	To *int64 `type:"integer"`
 35965  }
 35966  
 35967  // String returns the string representation.
 35968  //
 35969  // API parameter values that are decorated as "sensitive" in the API will not
 35970  // be included in the string output. The member name will be present, but the
 35971  // value will be replaced with "sensitive".
 35972  func (s PortRangeFromTo) String() string {
 35973  	return awsutil.Prettify(s)
 35974  }
 35975  
 35976  // GoString returns the string representation.
 35977  //
 35978  // API parameter values that are decorated as "sensitive" in the API will not
 35979  // be included in the string output. The member name will be present, but the
 35980  // value will be replaced with "sensitive".
 35981  func (s PortRangeFromTo) GoString() string {
 35982  	return s.String()
 35983  }
 35984  
 35985  // SetFrom sets the From field's value.
 35986  func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
 35987  	s.From = &v
 35988  	return s
 35989  }
 35990  
 35991  // SetTo sets the To field's value.
 35992  func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
 35993  	s.To = &v
 35994  	return s
 35995  }
 35996  
 35997  // The details of process-related information about a finding.
 35998  type ProcessDetails struct {
 35999  	_ struct{} `type:"structure"`
 36000  
 36001  	// Indicates when the process was launched.
 36002  	//
 36003  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 36004  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 36005  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 36006  	LaunchedAt *string `type:"string"`
 36007  
 36008  	// The name of the process.
 36009  	Name *string `type:"string"`
 36010  
 36011  	// The parent process ID.
 36012  	ParentPid *int64 `type:"integer"`
 36013  
 36014  	// The path to the process executable.
 36015  	Path *string `type:"string"`
 36016  
 36017  	// The process ID.
 36018  	Pid *int64 `type:"integer"`
 36019  
 36020  	// Indicates when the process was terminated.
 36021  	//
 36022  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 36023  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 36024  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 36025  	TerminatedAt *string `type:"string"`
 36026  }
 36027  
 36028  // String returns the string representation.
 36029  //
 36030  // API parameter values that are decorated as "sensitive" in the API will not
 36031  // be included in the string output. The member name will be present, but the
 36032  // value will be replaced with "sensitive".
 36033  func (s ProcessDetails) String() string {
 36034  	return awsutil.Prettify(s)
 36035  }
 36036  
 36037  // GoString returns the string representation.
 36038  //
 36039  // API parameter values that are decorated as "sensitive" in the API will not
 36040  // be included in the string output. The member name will be present, but the
 36041  // value will be replaced with "sensitive".
 36042  func (s ProcessDetails) GoString() string {
 36043  	return s.String()
 36044  }
 36045  
 36046  // SetLaunchedAt sets the LaunchedAt field's value.
 36047  func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
 36048  	s.LaunchedAt = &v
 36049  	return s
 36050  }
 36051  
 36052  // SetName sets the Name field's value.
 36053  func (s *ProcessDetails) SetName(v string) *ProcessDetails {
 36054  	s.Name = &v
 36055  	return s
 36056  }
 36057  
 36058  // SetParentPid sets the ParentPid field's value.
 36059  func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
 36060  	s.ParentPid = &v
 36061  	return s
 36062  }
 36063  
 36064  // SetPath sets the Path field's value.
 36065  func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
 36066  	s.Path = &v
 36067  	return s
 36068  }
 36069  
 36070  // SetPid sets the Pid field's value.
 36071  func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
 36072  	s.Pid = &v
 36073  	return s
 36074  }
 36075  
 36076  // SetTerminatedAt sets the TerminatedAt field's value.
 36077  func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
 36078  	s.TerminatedAt = &v
 36079  	return s
 36080  }
 36081  
 36082  // Contains details about a product.
 36083  type Product struct {
 36084  	_ struct{} `type:"structure"`
 36085  
 36086  	// The URL to the service or product documentation about the integration with
 36087  	// Security Hub, including how to activate the integration.
 36088  	ActivationUrl *string `type:"string"`
 36089  
 36090  	// The categories assigned to the product.
 36091  	Categories []*string `type:"list"`
 36092  
 36093  	// The name of the company that provides the product.
 36094  	CompanyName *string `type:"string"`
 36095  
 36096  	// A description of the product.
 36097  	Description *string `type:"string"`
 36098  
 36099  	// The types of integration that the product supports. Available values are
 36100  	// the following.
 36101  	//
 36102  	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
 36103  	//    Hub.
 36104  	//
 36105  	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
 36106  	//    from Security Hub.
 36107  	//
 36108  	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
 36109  	//    findings to Security Hub, but does make updates to the findings that it
 36110  	//    receives from Security Hub.
 36111  	IntegrationTypes []*string `type:"list"`
 36112  
 36113  	// For integrations with Amazon Web Services services, the Amazon Web Services
 36114  	// Console URL from which to activate the service.
 36115  	//
 36116  	// For integrations with third-party products, the Amazon Web Services Marketplace
 36117  	// URL from which to subscribe to or purchase the product.
 36118  	MarketplaceUrl *string `type:"string"`
 36119  
 36120  	// The ARN assigned to the product.
 36121  	//
 36122  	// ProductArn is a required field
 36123  	ProductArn *string `type:"string" required:"true"`
 36124  
 36125  	// The name of the product.
 36126  	ProductName *string `type:"string"`
 36127  
 36128  	// The resource policy associated with the product.
 36129  	ProductSubscriptionResourcePolicy *string `type:"string"`
 36130  }
 36131  
 36132  // String returns the string representation.
 36133  //
 36134  // API parameter values that are decorated as "sensitive" in the API will not
 36135  // be included in the string output. The member name will be present, but the
 36136  // value will be replaced with "sensitive".
 36137  func (s Product) String() string {
 36138  	return awsutil.Prettify(s)
 36139  }
 36140  
 36141  // GoString returns the string representation.
 36142  //
 36143  // API parameter values that are decorated as "sensitive" in the API will not
 36144  // be included in the string output. The member name will be present, but the
 36145  // value will be replaced with "sensitive".
 36146  func (s Product) GoString() string {
 36147  	return s.String()
 36148  }
 36149  
 36150  // SetActivationUrl sets the ActivationUrl field's value.
 36151  func (s *Product) SetActivationUrl(v string) *Product {
 36152  	s.ActivationUrl = &v
 36153  	return s
 36154  }
 36155  
 36156  // SetCategories sets the Categories field's value.
 36157  func (s *Product) SetCategories(v []*string) *Product {
 36158  	s.Categories = v
 36159  	return s
 36160  }
 36161  
 36162  // SetCompanyName sets the CompanyName field's value.
 36163  func (s *Product) SetCompanyName(v string) *Product {
 36164  	s.CompanyName = &v
 36165  	return s
 36166  }
 36167  
 36168  // SetDescription sets the Description field's value.
 36169  func (s *Product) SetDescription(v string) *Product {
 36170  	s.Description = &v
 36171  	return s
 36172  }
 36173  
 36174  // SetIntegrationTypes sets the IntegrationTypes field's value.
 36175  func (s *Product) SetIntegrationTypes(v []*string) *Product {
 36176  	s.IntegrationTypes = v
 36177  	return s
 36178  }
 36179  
 36180  // SetMarketplaceUrl sets the MarketplaceUrl field's value.
 36181  func (s *Product) SetMarketplaceUrl(v string) *Product {
 36182  	s.MarketplaceUrl = &v
 36183  	return s
 36184  }
 36185  
 36186  // SetProductArn sets the ProductArn field's value.
 36187  func (s *Product) SetProductArn(v string) *Product {
 36188  	s.ProductArn = &v
 36189  	return s
 36190  }
 36191  
 36192  // SetProductName sets the ProductName field's value.
 36193  func (s *Product) SetProductName(v string) *Product {
 36194  	s.ProductName = &v
 36195  	return s
 36196  }
 36197  
 36198  // SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
 36199  func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
 36200  	s.ProductSubscriptionResourcePolicy = &v
 36201  	return s
 36202  }
 36203  
 36204  // Identifies where the sensitive data begins and ends.
 36205  type Range struct {
 36206  	_ struct{} `type:"structure"`
 36207  
 36208  	// The number of lines (for a line range) or characters (for an offset range)
 36209  	// from the beginning of the file to the end of the sensitive data.
 36210  	End *int64 `type:"long"`
 36211  
 36212  	// The number of lines (for a line range) or characters (for an offset range)
 36213  	// from the beginning of the file to the end of the sensitive data.
 36214  	Start *int64 `type:"long"`
 36215  
 36216  	// In the line where the sensitive data starts, the column within the line where
 36217  	// the sensitive data starts.
 36218  	StartColumn *int64 `type:"long"`
 36219  }
 36220  
 36221  // String returns the string representation.
 36222  //
 36223  // API parameter values that are decorated as "sensitive" in the API will not
 36224  // be included in the string output. The member name will be present, but the
 36225  // value will be replaced with "sensitive".
 36226  func (s Range) String() string {
 36227  	return awsutil.Prettify(s)
 36228  }
 36229  
 36230  // GoString returns the string representation.
 36231  //
 36232  // API parameter values that are decorated as "sensitive" in the API will not
 36233  // be included in the string output. The member name will be present, but the
 36234  // value will be replaced with "sensitive".
 36235  func (s Range) GoString() string {
 36236  	return s.String()
 36237  }
 36238  
 36239  // SetEnd sets the End field's value.
 36240  func (s *Range) SetEnd(v int64) *Range {
 36241  	s.End = &v
 36242  	return s
 36243  }
 36244  
 36245  // SetStart sets the Start field's value.
 36246  func (s *Range) SetStart(v int64) *Range {
 36247  	s.Start = &v
 36248  	return s
 36249  }
 36250  
 36251  // SetStartColumn sets the StartColumn field's value.
 36252  func (s *Range) SetStartColumn(v int64) *Range {
 36253  	s.StartColumn = &v
 36254  	return s
 36255  }
 36256  
 36257  // A recommendation on how to remediate the issue identified in a finding.
 36258  type Recommendation struct {
 36259  	_ struct{} `type:"structure"`
 36260  
 36261  	// Describes the recommended steps to take to remediate an issue identified
 36262  	// in a finding.
 36263  	Text *string `type:"string"`
 36264  
 36265  	// A URL to a page or site that contains information about how to remediate
 36266  	// a finding.
 36267  	Url *string `type:"string"`
 36268  }
 36269  
 36270  // String returns the string representation.
 36271  //
 36272  // API parameter values that are decorated as "sensitive" in the API will not
 36273  // be included in the string output. The member name will be present, but the
 36274  // value will be replaced with "sensitive".
 36275  func (s Recommendation) String() string {
 36276  	return awsutil.Prettify(s)
 36277  }
 36278  
 36279  // GoString returns the string representation.
 36280  //
 36281  // API parameter values that are decorated as "sensitive" in the API will not
 36282  // be included in the string output. The member name will be present, but the
 36283  // value will be replaced with "sensitive".
 36284  func (s Recommendation) GoString() string {
 36285  	return s.String()
 36286  }
 36287  
 36288  // SetText sets the Text field's value.
 36289  func (s *Recommendation) SetText(v string) *Recommendation {
 36290  	s.Text = &v
 36291  	return s
 36292  }
 36293  
 36294  // SetUrl sets the Url field's value.
 36295  func (s *Recommendation) SetUrl(v string) *Recommendation {
 36296  	s.Url = &v
 36297  	return s
 36298  }
 36299  
 36300  // An occurrence of sensitive data in an Apache Avro object container or an
 36301  // Apache Parquet file.
 36302  type Record struct {
 36303  	_ struct{} `type:"structure"`
 36304  
 36305  	// The path, as a JSONPath expression, to the field in the record that contains
 36306  	// the data. If the field name is longer than 20 characters, it is truncated.
 36307  	// If the path is longer than 250 characters, it is truncated.
 36308  	JsonPath *string `type:"string"`
 36309  
 36310  	// The record index, starting from 0, for the record that contains the data.
 36311  	RecordIndex *int64 `type:"long"`
 36312  }
 36313  
 36314  // String returns the string representation.
 36315  //
 36316  // API parameter values that are decorated as "sensitive" in the API will not
 36317  // be included in the string output. The member name will be present, but the
 36318  // value will be replaced with "sensitive".
 36319  func (s Record) String() string {
 36320  	return awsutil.Prettify(s)
 36321  }
 36322  
 36323  // GoString returns the string representation.
 36324  //
 36325  // API parameter values that are decorated as "sensitive" in the API will not
 36326  // be included in the string output. The member name will be present, but the
 36327  // value will be replaced with "sensitive".
 36328  func (s Record) GoString() string {
 36329  	return s.String()
 36330  }
 36331  
 36332  // SetJsonPath sets the JsonPath field's value.
 36333  func (s *Record) SetJsonPath(v string) *Record {
 36334  	s.JsonPath = &v
 36335  	return s
 36336  }
 36337  
 36338  // SetRecordIndex sets the RecordIndex field's value.
 36339  func (s *Record) SetRecordIndex(v int64) *Record {
 36340  	s.RecordIndex = &v
 36341  	return s
 36342  }
 36343  
 36344  // Details about a related finding.
 36345  type RelatedFinding struct {
 36346  	_ struct{} `type:"structure"`
 36347  
 36348  	// The product-generated identifier for a related finding.
 36349  	//
 36350  	// Id is a required field
 36351  	Id *string `type:"string" required:"true"`
 36352  
 36353  	// The ARN of the product that generated a related finding.
 36354  	//
 36355  	// ProductArn is a required field
 36356  	ProductArn *string `type:"string" required:"true"`
 36357  }
 36358  
 36359  // String returns the string representation.
 36360  //
 36361  // API parameter values that are decorated as "sensitive" in the API will not
 36362  // be included in the string output. The member name will be present, but the
 36363  // value will be replaced with "sensitive".
 36364  func (s RelatedFinding) String() string {
 36365  	return awsutil.Prettify(s)
 36366  }
 36367  
 36368  // GoString returns the string representation.
 36369  //
 36370  // API parameter values that are decorated as "sensitive" in the API will not
 36371  // be included in the string output. The member name will be present, but the
 36372  // value will be replaced with "sensitive".
 36373  func (s RelatedFinding) GoString() string {
 36374  	return s.String()
 36375  }
 36376  
 36377  // Validate inspects the fields of the type to determine if they are valid.
 36378  func (s *RelatedFinding) Validate() error {
 36379  	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
 36380  	if s.Id == nil {
 36381  		invalidParams.Add(request.NewErrParamRequired("Id"))
 36382  	}
 36383  	if s.ProductArn == nil {
 36384  		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
 36385  	}
 36386  
 36387  	if invalidParams.Len() > 0 {
 36388  		return invalidParams
 36389  	}
 36390  	return nil
 36391  }
 36392  
 36393  // SetId sets the Id field's value.
 36394  func (s *RelatedFinding) SetId(v string) *RelatedFinding {
 36395  	s.Id = &v
 36396  	return s
 36397  }
 36398  
 36399  // SetProductArn sets the ProductArn field's value.
 36400  func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
 36401  	s.ProductArn = &v
 36402  	return s
 36403  }
 36404  
 36405  // Details about the remediation steps for a finding.
 36406  type Remediation struct {
 36407  	_ struct{} `type:"structure"`
 36408  
 36409  	// A recommendation on the steps to take to remediate the issue identified by
 36410  	// a finding.
 36411  	Recommendation *Recommendation `type:"structure"`
 36412  }
 36413  
 36414  // String returns the string representation.
 36415  //
 36416  // API parameter values that are decorated as "sensitive" in the API will not
 36417  // be included in the string output. The member name will be present, but the
 36418  // value will be replaced with "sensitive".
 36419  func (s Remediation) String() string {
 36420  	return awsutil.Prettify(s)
 36421  }
 36422  
 36423  // GoString returns the string representation.
 36424  //
 36425  // API parameter values that are decorated as "sensitive" in the API will not
 36426  // be included in the string output. The member name will be present, but the
 36427  // value will be replaced with "sensitive".
 36428  func (s Remediation) GoString() string {
 36429  	return s.String()
 36430  }
 36431  
 36432  // SetRecommendation sets the Recommendation field's value.
 36433  func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
 36434  	s.Recommendation = v
 36435  	return s
 36436  }
 36437  
 36438  // A resource related to a finding.
 36439  type Resource struct {
 36440  	_ struct{} `type:"structure"`
 36441  
 36442  	// Contains information about sensitive data that was detected on the resource.
 36443  	DataClassification *DataClassificationDetails `type:"structure"`
 36444  
 36445  	// Additional details about the resource related to a finding.
 36446  	Details *ResourceDetails `type:"structure"`
 36447  
 36448  	// The canonical identifier for the given resource type.
 36449  	//
 36450  	// Id is a required field
 36451  	Id *string `type:"string" required:"true"`
 36452  
 36453  	// The canonical Amazon Web Services partition name that the Region is assigned
 36454  	// to.
 36455  	Partition *string `type:"string" enum:"Partition"`
 36456  
 36457  	// The canonical Amazon Web Services external Region name where this resource
 36458  	// is located.
 36459  	Region *string `type:"string"`
 36460  
 36461  	// Identifies the role of the resource in the finding. A resource is either
 36462  	// the actor or target of the finding activity,
 36463  	ResourceRole *string `type:"string"`
 36464  
 36465  	// A list of Amazon Web Services tags associated with a resource at the time
 36466  	// the finding was processed.
 36467  	Tags map[string]*string `type:"map"`
 36468  
 36469  	// The type of the resource that details are provided for. If possible, set
 36470  	// Type to one of the supported resource types. For example, if the resource
 36471  	// is an EC2 instance, then set Type to AwsEc2Instance.
 36472  	//
 36473  	// If the resource does not match any of the provided types, then set Type to
 36474  	// Other.
 36475  	//
 36476  	// Type is a required field
 36477  	Type *string `type:"string" required:"true"`
 36478  }
 36479  
 36480  // String returns the string representation.
 36481  //
 36482  // API parameter values that are decorated as "sensitive" in the API will not
 36483  // be included in the string output. The member name will be present, but the
 36484  // value will be replaced with "sensitive".
 36485  func (s Resource) String() string {
 36486  	return awsutil.Prettify(s)
 36487  }
 36488  
 36489  // GoString returns the string representation.
 36490  //
 36491  // API parameter values that are decorated as "sensitive" in the API will not
 36492  // be included in the string output. The member name will be present, but the
 36493  // value will be replaced with "sensitive".
 36494  func (s Resource) GoString() string {
 36495  	return s.String()
 36496  }
 36497  
 36498  // Validate inspects the fields of the type to determine if they are valid.
 36499  func (s *Resource) Validate() error {
 36500  	invalidParams := request.ErrInvalidParams{Context: "Resource"}
 36501  	if s.Id == nil {
 36502  		invalidParams.Add(request.NewErrParamRequired("Id"))
 36503  	}
 36504  	if s.Type == nil {
 36505  		invalidParams.Add(request.NewErrParamRequired("Type"))
 36506  	}
 36507  	if s.Details != nil {
 36508  		if err := s.Details.Validate(); err != nil {
 36509  			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
 36510  		}
 36511  	}
 36512  
 36513  	if invalidParams.Len() > 0 {
 36514  		return invalidParams
 36515  	}
 36516  	return nil
 36517  }
 36518  
 36519  // SetDataClassification sets the DataClassification field's value.
 36520  func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
 36521  	s.DataClassification = v
 36522  	return s
 36523  }
 36524  
 36525  // SetDetails sets the Details field's value.
 36526  func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
 36527  	s.Details = v
 36528  	return s
 36529  }
 36530  
 36531  // SetId sets the Id field's value.
 36532  func (s *Resource) SetId(v string) *Resource {
 36533  	s.Id = &v
 36534  	return s
 36535  }
 36536  
 36537  // SetPartition sets the Partition field's value.
 36538  func (s *Resource) SetPartition(v string) *Resource {
 36539  	s.Partition = &v
 36540  	return s
 36541  }
 36542  
 36543  // SetRegion sets the Region field's value.
 36544  func (s *Resource) SetRegion(v string) *Resource {
 36545  	s.Region = &v
 36546  	return s
 36547  }
 36548  
 36549  // SetResourceRole sets the ResourceRole field's value.
 36550  func (s *Resource) SetResourceRole(v string) *Resource {
 36551  	s.ResourceRole = &v
 36552  	return s
 36553  }
 36554  
 36555  // SetTags sets the Tags field's value.
 36556  func (s *Resource) SetTags(v map[string]*string) *Resource {
 36557  	s.Tags = v
 36558  	return s
 36559  }
 36560  
 36561  // SetType sets the Type field's value.
 36562  func (s *Resource) SetType(v string) *Resource {
 36563  	s.Type = &v
 36564  	return s
 36565  }
 36566  
 36567  // The resource specified in the request conflicts with an existing resource.
 36568  type ResourceConflictException struct {
 36569  	_            struct{}                  `type:"structure"`
 36570  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 36571  
 36572  	Code_ *string `locationName:"Code" type:"string"`
 36573  
 36574  	Message_ *string `locationName:"Message" type:"string"`
 36575  }
 36576  
 36577  // String returns the string representation.
 36578  //
 36579  // API parameter values that are decorated as "sensitive" in the API will not
 36580  // be included in the string output. The member name will be present, but the
 36581  // value will be replaced with "sensitive".
 36582  func (s ResourceConflictException) String() string {
 36583  	return awsutil.Prettify(s)
 36584  }
 36585  
 36586  // GoString returns the string representation.
 36587  //
 36588  // API parameter values that are decorated as "sensitive" in the API will not
 36589  // be included in the string output. The member name will be present, but the
 36590  // value will be replaced with "sensitive".
 36591  func (s ResourceConflictException) GoString() string {
 36592  	return s.String()
 36593  }
 36594  
 36595  func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
 36596  	return &ResourceConflictException{
 36597  		RespMetadata: v,
 36598  	}
 36599  }
 36600  
 36601  // Code returns the exception type name.
 36602  func (s *ResourceConflictException) Code() string {
 36603  	return "ResourceConflictException"
 36604  }
 36605  
 36606  // Message returns the exception's message.
 36607  func (s *ResourceConflictException) Message() string {
 36608  	if s.Message_ != nil {
 36609  		return *s.Message_
 36610  	}
 36611  	return ""
 36612  }
 36613  
 36614  // OrigErr always returns nil, satisfies awserr.Error interface.
 36615  func (s *ResourceConflictException) OrigErr() error {
 36616  	return nil
 36617  }
 36618  
 36619  func (s *ResourceConflictException) Error() string {
 36620  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 36621  }
 36622  
 36623  // Status code returns the HTTP status code for the request's response error.
 36624  func (s *ResourceConflictException) StatusCode() int {
 36625  	return s.RespMetadata.StatusCode
 36626  }
 36627  
 36628  // RequestID returns the service's response RequestID for request.
 36629  func (s *ResourceConflictException) RequestID() string {
 36630  	return s.RespMetadata.RequestID
 36631  }
 36632  
 36633  // Additional details about a resource related to a finding.
 36634  //
 36635  // To provide the details, use the object that corresponds to the resource type.
 36636  // For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
 36637  // object to provide the details.
 36638  //
 36639  // If the type-specific object does not contain all of the fields you want to
 36640  // populate, then you use the Other object to populate those additional fields.
 36641  //
 36642  // You also use the Other object to populate the details when the selected type
 36643  // does not have a corresponding object.
 36644  type ResourceDetails struct {
 36645  	_ struct{} `type:"structure"`
 36646  
 36647  	// Provides information about a REST API in version 1 of Amazon API Gateway.
 36648  	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
 36649  
 36650  	// Provides information about a version 1 Amazon API Gateway stage.
 36651  	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
 36652  
 36653  	// Provides information about a version 2 API in Amazon API Gateway.
 36654  	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
 36655  
 36656  	// Provides information about a version 2 stage for Amazon API Gateway.
 36657  	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
 36658  
 36659  	// Details for an autoscaling group.
 36660  	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
 36661  
 36662  	// Provides details about a launch configuration.
 36663  	AwsAutoScalingLaunchConfiguration *AwsAutoScalingLaunchConfigurationDetails `type:"structure"`
 36664  
 36665  	// Provides details about an Certificate Manager certificate.
 36666  	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
 36667  
 36668  	// Details about a CloudFront distribution.
 36669  	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
 36670  
 36671  	// Provides details about a CloudTrail trail.
 36672  	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
 36673  
 36674  	// Details for an CodeBuild project.
 36675  	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
 36676  
 36677  	// Details about a DynamoDB table.
 36678  	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
 36679  
 36680  	// Details about an Elastic IP address.
 36681  	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
 36682  
 36683  	// Details about an EC2 instance related to a finding.
 36684  	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
 36685  
 36686  	// Details about an EC2 network access control list (ACL).
 36687  	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
 36688  
 36689  	// Details for an EC2 network interface.
 36690  	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
 36691  
 36692  	// Details for an EC2 security group.
 36693  	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
 36694  
 36695  	// Details about a subnet in Amazon EC2.
 36696  	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
 36697  
 36698  	// Details for an EC2 volume.
 36699  	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
 36700  
 36701  	// Details for an EC2 VPC.
 36702  	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
 36703  
 36704  	// Details about the service configuration for a VPC endpoint service.
 36705  	AwsEc2VpcEndpointService *AwsEc2VpcEndpointServiceDetails `type:"structure"`
 36706  
 36707  	// Details about an EC2 VPN connection.
 36708  	AwsEc2VpnConnection *AwsEc2VpnConnectionDetails `type:"structure"`
 36709  
 36710  	// Information about an Amazon ECR image.
 36711  	AwsEcrContainerImage *AwsEcrContainerImageDetails `type:"structure"`
 36712  
 36713  	// Information about an Amazon Elastic Container Registry repository.
 36714  	AwsEcrRepository *AwsEcrRepositoryDetails `type:"structure"`
 36715  
 36716  	// Details about an ECS cluster.
 36717  	AwsEcsCluster *AwsEcsClusterDetails `type:"structure"`
 36718  
 36719  	// Details about a service within an ECS cluster.
 36720  	AwsEcsService *AwsEcsServiceDetails `type:"structure"`
 36721  
 36722  	// Details about a task definition. A task definition describes the container
 36723  	// and volume definitions of an Amazon Elastic Container Service task.
 36724  	AwsEcsTaskDefinition *AwsEcsTaskDefinitionDetails `type:"structure"`
 36725  
 36726  	// Details about an Amazon EKS cluster.
 36727  	AwsEksCluster *AwsEksClusterDetails `type:"structure"`
 36728  
 36729  	// Details about an Elastic Beanstalk environment.
 36730  	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
 36731  
 36732  	// Details for an Elasticsearch domain.
 36733  	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
 36734  
 36735  	// Contains details about a Classic Load Balancer.
 36736  	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
 36737  
 36738  	// Details about a load balancer.
 36739  	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
 36740  
 36741  	// Details about an IAM access key related to a finding.
 36742  	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
 36743  
 36744  	// Contains details about an IAM group.
 36745  	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
 36746  
 36747  	// Details about an IAM permissions policy.
 36748  	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
 36749  
 36750  	// Details about an IAM role.
 36751  	AwsIamRole *AwsIamRoleDetails `type:"structure"`
 36752  
 36753  	// Details about an IAM user.
 36754  	AwsIamUser *AwsIamUserDetails `type:"structure"`
 36755  
 36756  	// Details about an KMS key.
 36757  	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
 36758  
 36759  	// Details about a Lambda function.
 36760  	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
 36761  
 36762  	// Details for a Lambda layer version.
 36763  	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
 36764  
 36765  	// Details about an Amazon OpenSearch Service domain.
 36766  	AwsOpenSearchServiceDomain *AwsOpenSearchServiceDomainDetails `type:"structure"`
 36767  
 36768  	// Details about an Amazon RDS database cluster.
 36769  	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
 36770  
 36771  	// Details about an Amazon RDS database cluster snapshot.
 36772  	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
 36773  
 36774  	// Details about an Amazon RDS database instance.
 36775  	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
 36776  
 36777  	// Details about an Amazon RDS database snapshot.
 36778  	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
 36779  
 36780  	// Details about an RDS event notification subscription.
 36781  	AwsRdsEventSubscription *AwsRdsEventSubscriptionDetails `type:"structure"`
 36782  
 36783  	// Contains details about an Amazon Redshift cluster.
 36784  	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
 36785  
 36786  	// Details about the Amazon S3 Public Access Block configuration for an account.
 36787  	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
 36788  
 36789  	// Details about an S3 bucket related to a finding.
 36790  	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
 36791  
 36792  	// Details about an S3 object related to a finding.
 36793  	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
 36794  
 36795  	// Details about a Secrets Manager secret.
 36796  	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
 36797  
 36798  	// Details about an SNS topic.
 36799  	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
 36800  
 36801  	// Details about an SQS queue.
 36802  	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
 36803  
 36804  	// Provides information about the state of a patch on an instance based on the
 36805  	// patch baseline that was used to patch the instance.
 36806  	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
 36807  
 36808  	// Details about a rate-based rule for global resources.
 36809  	AwsWafRateBasedRule *AwsWafRateBasedRuleDetails `type:"structure"`
 36810  
 36811  	// Details about a rate-based rule for Regional resources.
 36812  	AwsWafRegionalRateBasedRule *AwsWafRegionalRateBasedRuleDetails `type:"structure"`
 36813  
 36814  	// Details for an WAF WebACL.
 36815  	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
 36816  
 36817  	// Information about the encryption configuration for X-Ray.
 36818  	AwsXrayEncryptionConfig *AwsXrayEncryptionConfigDetails `type:"structure"`
 36819  
 36820  	// Details about a container resource related to a finding.
 36821  	Container *ContainerDetails `type:"structure"`
 36822  
 36823  	// Details about a resource that are not available in a type-specific details
 36824  	// object. Use the Other object in the following cases.
 36825  	//
 36826  	//    * The type-specific object does not contain all of the fields that you
 36827  	//    want to populate. In this case, first use the type-specific object to
 36828  	//    populate those fields. Use the Other object to populate the fields that
 36829  	//    are missing from the type-specific object.
 36830  	//
 36831  	//    * The resource type does not have a corresponding object. This includes
 36832  	//    resources for which the type is Other.
 36833  	Other map[string]*string `type:"map"`
 36834  }
 36835  
 36836  // String returns the string representation.
 36837  //
 36838  // API parameter values that are decorated as "sensitive" in the API will not
 36839  // be included in the string output. The member name will be present, but the
 36840  // value will be replaced with "sensitive".
 36841  func (s ResourceDetails) String() string {
 36842  	return awsutil.Prettify(s)
 36843  }
 36844  
 36845  // GoString returns the string representation.
 36846  //
 36847  // API parameter values that are decorated as "sensitive" in the API will not
 36848  // be included in the string output. The member name will be present, but the
 36849  // value will be replaced with "sensitive".
 36850  func (s ResourceDetails) GoString() string {
 36851  	return s.String()
 36852  }
 36853  
 36854  // Validate inspects the fields of the type to determine if they are valid.
 36855  func (s *ResourceDetails) Validate() error {
 36856  	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
 36857  	if s.AwsIamRole != nil {
 36858  		if err := s.AwsIamRole.Validate(); err != nil {
 36859  			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
 36860  		}
 36861  	}
 36862  
 36863  	if invalidParams.Len() > 0 {
 36864  		return invalidParams
 36865  	}
 36866  	return nil
 36867  }
 36868  
 36869  // SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
 36870  func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
 36871  	s.AwsApiGatewayRestApi = v
 36872  	return s
 36873  }
 36874  
 36875  // SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
 36876  func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
 36877  	s.AwsApiGatewayStage = v
 36878  	return s
 36879  }
 36880  
 36881  // SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
 36882  func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
 36883  	s.AwsApiGatewayV2Api = v
 36884  	return s
 36885  }
 36886  
 36887  // SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
 36888  func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
 36889  	s.AwsApiGatewayV2Stage = v
 36890  	return s
 36891  }
 36892  
 36893  // SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
 36894  func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
 36895  	s.AwsAutoScalingAutoScalingGroup = v
 36896  	return s
 36897  }
 36898  
 36899  // SetAwsAutoScalingLaunchConfiguration sets the AwsAutoScalingLaunchConfiguration field's value.
 36900  func (s *ResourceDetails) SetAwsAutoScalingLaunchConfiguration(v *AwsAutoScalingLaunchConfigurationDetails) *ResourceDetails {
 36901  	s.AwsAutoScalingLaunchConfiguration = v
 36902  	return s
 36903  }
 36904  
 36905  // SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
 36906  func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
 36907  	s.AwsCertificateManagerCertificate = v
 36908  	return s
 36909  }
 36910  
 36911  // SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
 36912  func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
 36913  	s.AwsCloudFrontDistribution = v
 36914  	return s
 36915  }
 36916  
 36917  // SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
 36918  func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
 36919  	s.AwsCloudTrailTrail = v
 36920  	return s
 36921  }
 36922  
 36923  // SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
 36924  func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
 36925  	s.AwsCodeBuildProject = v
 36926  	return s
 36927  }
 36928  
 36929  // SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
 36930  func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
 36931  	s.AwsDynamoDbTable = v
 36932  	return s
 36933  }
 36934  
 36935  // SetAwsEc2Eip sets the AwsEc2Eip field's value.
 36936  func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
 36937  	s.AwsEc2Eip = v
 36938  	return s
 36939  }
 36940  
 36941  // SetAwsEc2Instance sets the AwsEc2Instance field's value.
 36942  func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
 36943  	s.AwsEc2Instance = v
 36944  	return s
 36945  }
 36946  
 36947  // SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
 36948  func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
 36949  	s.AwsEc2NetworkAcl = v
 36950  	return s
 36951  }
 36952  
 36953  // SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
 36954  func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
 36955  	s.AwsEc2NetworkInterface = v
 36956  	return s
 36957  }
 36958  
 36959  // SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
 36960  func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
 36961  	s.AwsEc2SecurityGroup = v
 36962  	return s
 36963  }
 36964  
 36965  // SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
 36966  func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
 36967  	s.AwsEc2Subnet = v
 36968  	return s
 36969  }
 36970  
 36971  // SetAwsEc2Volume sets the AwsEc2Volume field's value.
 36972  func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
 36973  	s.AwsEc2Volume = v
 36974  	return s
 36975  }
 36976  
 36977  // SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
 36978  func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
 36979  	s.AwsEc2Vpc = v
 36980  	return s
 36981  }
 36982  
 36983  // SetAwsEc2VpcEndpointService sets the AwsEc2VpcEndpointService field's value.
 36984  func (s *ResourceDetails) SetAwsEc2VpcEndpointService(v *AwsEc2VpcEndpointServiceDetails) *ResourceDetails {
 36985  	s.AwsEc2VpcEndpointService = v
 36986  	return s
 36987  }
 36988  
 36989  // SetAwsEc2VpnConnection sets the AwsEc2VpnConnection field's value.
 36990  func (s *ResourceDetails) SetAwsEc2VpnConnection(v *AwsEc2VpnConnectionDetails) *ResourceDetails {
 36991  	s.AwsEc2VpnConnection = v
 36992  	return s
 36993  }
 36994  
 36995  // SetAwsEcrContainerImage sets the AwsEcrContainerImage field's value.
 36996  func (s *ResourceDetails) SetAwsEcrContainerImage(v *AwsEcrContainerImageDetails) *ResourceDetails {
 36997  	s.AwsEcrContainerImage = v
 36998  	return s
 36999  }
 37000  
 37001  // SetAwsEcrRepository sets the AwsEcrRepository field's value.
 37002  func (s *ResourceDetails) SetAwsEcrRepository(v *AwsEcrRepositoryDetails) *ResourceDetails {
 37003  	s.AwsEcrRepository = v
 37004  	return s
 37005  }
 37006  
 37007  // SetAwsEcsCluster sets the AwsEcsCluster field's value.
 37008  func (s *ResourceDetails) SetAwsEcsCluster(v *AwsEcsClusterDetails) *ResourceDetails {
 37009  	s.AwsEcsCluster = v
 37010  	return s
 37011  }
 37012  
 37013  // SetAwsEcsService sets the AwsEcsService field's value.
 37014  func (s *ResourceDetails) SetAwsEcsService(v *AwsEcsServiceDetails) *ResourceDetails {
 37015  	s.AwsEcsService = v
 37016  	return s
 37017  }
 37018  
 37019  // SetAwsEcsTaskDefinition sets the AwsEcsTaskDefinition field's value.
 37020  func (s *ResourceDetails) SetAwsEcsTaskDefinition(v *AwsEcsTaskDefinitionDetails) *ResourceDetails {
 37021  	s.AwsEcsTaskDefinition = v
 37022  	return s
 37023  }
 37024  
 37025  // SetAwsEksCluster sets the AwsEksCluster field's value.
 37026  func (s *ResourceDetails) SetAwsEksCluster(v *AwsEksClusterDetails) *ResourceDetails {
 37027  	s.AwsEksCluster = v
 37028  	return s
 37029  }
 37030  
 37031  // SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
 37032  func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
 37033  	s.AwsElasticBeanstalkEnvironment = v
 37034  	return s
 37035  }
 37036  
 37037  // SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
 37038  func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
 37039  	s.AwsElasticsearchDomain = v
 37040  	return s
 37041  }
 37042  
 37043  // SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
 37044  func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
 37045  	s.AwsElbLoadBalancer = v
 37046  	return s
 37047  }
 37048  
 37049  // SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
 37050  func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
 37051  	s.AwsElbv2LoadBalancer = v
 37052  	return s
 37053  }
 37054  
 37055  // SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
 37056  func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
 37057  	s.AwsIamAccessKey = v
 37058  	return s
 37059  }
 37060  
 37061  // SetAwsIamGroup sets the AwsIamGroup field's value.
 37062  func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
 37063  	s.AwsIamGroup = v
 37064  	return s
 37065  }
 37066  
 37067  // SetAwsIamPolicy sets the AwsIamPolicy field's value.
 37068  func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
 37069  	s.AwsIamPolicy = v
 37070  	return s
 37071  }
 37072  
 37073  // SetAwsIamRole sets the AwsIamRole field's value.
 37074  func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
 37075  	s.AwsIamRole = v
 37076  	return s
 37077  }
 37078  
 37079  // SetAwsIamUser sets the AwsIamUser field's value.
 37080  func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
 37081  	s.AwsIamUser = v
 37082  	return s
 37083  }
 37084  
 37085  // SetAwsKmsKey sets the AwsKmsKey field's value.
 37086  func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
 37087  	s.AwsKmsKey = v
 37088  	return s
 37089  }
 37090  
 37091  // SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
 37092  func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
 37093  	s.AwsLambdaFunction = v
 37094  	return s
 37095  }
 37096  
 37097  // SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
 37098  func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
 37099  	s.AwsLambdaLayerVersion = v
 37100  	return s
 37101  }
 37102  
 37103  // SetAwsOpenSearchServiceDomain sets the AwsOpenSearchServiceDomain field's value.
 37104  func (s *ResourceDetails) SetAwsOpenSearchServiceDomain(v *AwsOpenSearchServiceDomainDetails) *ResourceDetails {
 37105  	s.AwsOpenSearchServiceDomain = v
 37106  	return s
 37107  }
 37108  
 37109  // SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
 37110  func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
 37111  	s.AwsRdsDbCluster = v
 37112  	return s
 37113  }
 37114  
 37115  // SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
 37116  func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
 37117  	s.AwsRdsDbClusterSnapshot = v
 37118  	return s
 37119  }
 37120  
 37121  // SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
 37122  func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
 37123  	s.AwsRdsDbInstance = v
 37124  	return s
 37125  }
 37126  
 37127  // SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
 37128  func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
 37129  	s.AwsRdsDbSnapshot = v
 37130  	return s
 37131  }
 37132  
 37133  // SetAwsRdsEventSubscription sets the AwsRdsEventSubscription field's value.
 37134  func (s *ResourceDetails) SetAwsRdsEventSubscription(v *AwsRdsEventSubscriptionDetails) *ResourceDetails {
 37135  	s.AwsRdsEventSubscription = v
 37136  	return s
 37137  }
 37138  
 37139  // SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
 37140  func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
 37141  	s.AwsRedshiftCluster = v
 37142  	return s
 37143  }
 37144  
 37145  // SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
 37146  func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
 37147  	s.AwsS3AccountPublicAccessBlock = v
 37148  	return s
 37149  }
 37150  
 37151  // SetAwsS3Bucket sets the AwsS3Bucket field's value.
 37152  func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
 37153  	s.AwsS3Bucket = v
 37154  	return s
 37155  }
 37156  
 37157  // SetAwsS3Object sets the AwsS3Object field's value.
 37158  func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
 37159  	s.AwsS3Object = v
 37160  	return s
 37161  }
 37162  
 37163  // SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
 37164  func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
 37165  	s.AwsSecretsManagerSecret = v
 37166  	return s
 37167  }
 37168  
 37169  // SetAwsSnsTopic sets the AwsSnsTopic field's value.
 37170  func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
 37171  	s.AwsSnsTopic = v
 37172  	return s
 37173  }
 37174  
 37175  // SetAwsSqsQueue sets the AwsSqsQueue field's value.
 37176  func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
 37177  	s.AwsSqsQueue = v
 37178  	return s
 37179  }
 37180  
 37181  // SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
 37182  func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
 37183  	s.AwsSsmPatchCompliance = v
 37184  	return s
 37185  }
 37186  
 37187  // SetAwsWafRateBasedRule sets the AwsWafRateBasedRule field's value.
 37188  func (s *ResourceDetails) SetAwsWafRateBasedRule(v *AwsWafRateBasedRuleDetails) *ResourceDetails {
 37189  	s.AwsWafRateBasedRule = v
 37190  	return s
 37191  }
 37192  
 37193  // SetAwsWafRegionalRateBasedRule sets the AwsWafRegionalRateBasedRule field's value.
 37194  func (s *ResourceDetails) SetAwsWafRegionalRateBasedRule(v *AwsWafRegionalRateBasedRuleDetails) *ResourceDetails {
 37195  	s.AwsWafRegionalRateBasedRule = v
 37196  	return s
 37197  }
 37198  
 37199  // SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
 37200  func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
 37201  	s.AwsWafWebAcl = v
 37202  	return s
 37203  }
 37204  
 37205  // SetAwsXrayEncryptionConfig sets the AwsXrayEncryptionConfig field's value.
 37206  func (s *ResourceDetails) SetAwsXrayEncryptionConfig(v *AwsXrayEncryptionConfigDetails) *ResourceDetails {
 37207  	s.AwsXrayEncryptionConfig = v
 37208  	return s
 37209  }
 37210  
 37211  // SetContainer sets the Container field's value.
 37212  func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
 37213  	s.Container = v
 37214  	return s
 37215  }
 37216  
 37217  // SetOther sets the Other field's value.
 37218  func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
 37219  	s.Other = v
 37220  	return s
 37221  }
 37222  
 37223  // The request was rejected because we can't find the specified resource.
 37224  type ResourceNotFoundException struct {
 37225  	_            struct{}                  `type:"structure"`
 37226  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 37227  
 37228  	Code_ *string `locationName:"Code" type:"string"`
 37229  
 37230  	Message_ *string `locationName:"Message" type:"string"`
 37231  }
 37232  
 37233  // String returns the string representation.
 37234  //
 37235  // API parameter values that are decorated as "sensitive" in the API will not
 37236  // be included in the string output. The member name will be present, but the
 37237  // value will be replaced with "sensitive".
 37238  func (s ResourceNotFoundException) String() string {
 37239  	return awsutil.Prettify(s)
 37240  }
 37241  
 37242  // GoString returns the string representation.
 37243  //
 37244  // API parameter values that are decorated as "sensitive" in the API will not
 37245  // be included in the string output. The member name will be present, but the
 37246  // value will be replaced with "sensitive".
 37247  func (s ResourceNotFoundException) GoString() string {
 37248  	return s.String()
 37249  }
 37250  
 37251  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 37252  	return &ResourceNotFoundException{
 37253  		RespMetadata: v,
 37254  	}
 37255  }
 37256  
 37257  // Code returns the exception type name.
 37258  func (s *ResourceNotFoundException) Code() string {
 37259  	return "ResourceNotFoundException"
 37260  }
 37261  
 37262  // Message returns the exception's message.
 37263  func (s *ResourceNotFoundException) Message() string {
 37264  	if s.Message_ != nil {
 37265  		return *s.Message_
 37266  	}
 37267  	return ""
 37268  }
 37269  
 37270  // OrigErr always returns nil, satisfies awserr.Error interface.
 37271  func (s *ResourceNotFoundException) OrigErr() error {
 37272  	return nil
 37273  }
 37274  
 37275  func (s *ResourceNotFoundException) Error() string {
 37276  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 37277  }
 37278  
 37279  // Status code returns the HTTP status code for the request's response error.
 37280  func (s *ResourceNotFoundException) StatusCode() int {
 37281  	return s.RespMetadata.StatusCode
 37282  }
 37283  
 37284  // RequestID returns the service's response RequestID for request.
 37285  func (s *ResourceNotFoundException) RequestID() string {
 37286  	return s.RespMetadata.RequestID
 37287  }
 37288  
 37289  // Details about the account that was not processed.
 37290  type Result struct {
 37291  	_ struct{} `type:"structure"`
 37292  
 37293  	// An Amazon Web Services account ID of the account that was not processed.
 37294  	AccountId *string `type:"string"`
 37295  
 37296  	// The reason that the account was not processed.
 37297  	ProcessingResult *string `type:"string"`
 37298  }
 37299  
 37300  // String returns the string representation.
 37301  //
 37302  // API parameter values that are decorated as "sensitive" in the API will not
 37303  // be included in the string output. The member name will be present, but the
 37304  // value will be replaced with "sensitive".
 37305  func (s Result) String() string {
 37306  	return awsutil.Prettify(s)
 37307  }
 37308  
 37309  // GoString returns the string representation.
 37310  //
 37311  // API parameter values that are decorated as "sensitive" in the API will not
 37312  // be included in the string output. The member name will be present, but the
 37313  // value will be replaced with "sensitive".
 37314  func (s Result) GoString() string {
 37315  	return s.String()
 37316  }
 37317  
 37318  // SetAccountId sets the AccountId field's value.
 37319  func (s *Result) SetAccountId(v string) *Result {
 37320  	s.AccountId = &v
 37321  	return s
 37322  }
 37323  
 37324  // SetProcessingResult sets the ProcessingResult field's value.
 37325  func (s *Result) SetProcessingResult(v string) *Result {
 37326  	s.ProcessingResult = &v
 37327  	return s
 37328  }
 37329  
 37330  // The list of detected instances of sensitive data.
 37331  type SensitiveDataDetections struct {
 37332  	_ struct{} `type:"structure"`
 37333  
 37334  	// The total number of occurrences of sensitive data that were detected.
 37335  	Count *int64 `type:"long"`
 37336  
 37337  	// Details about the sensitive data that was detected.
 37338  	Occurrences *Occurrences `type:"structure"`
 37339  
 37340  	// The type of sensitive data that was detected. For example, the type might
 37341  	// indicate that the data is an email address.
 37342  	Type *string `type:"string"`
 37343  }
 37344  
 37345  // String returns the string representation.
 37346  //
 37347  // API parameter values that are decorated as "sensitive" in the API will not
 37348  // be included in the string output. The member name will be present, but the
 37349  // value will be replaced with "sensitive".
 37350  func (s SensitiveDataDetections) String() string {
 37351  	return awsutil.Prettify(s)
 37352  }
 37353  
 37354  // GoString returns the string representation.
 37355  //
 37356  // API parameter values that are decorated as "sensitive" in the API will not
 37357  // be included in the string output. The member name will be present, but the
 37358  // value will be replaced with "sensitive".
 37359  func (s SensitiveDataDetections) GoString() string {
 37360  	return s.String()
 37361  }
 37362  
 37363  // SetCount sets the Count field's value.
 37364  func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
 37365  	s.Count = &v
 37366  	return s
 37367  }
 37368  
 37369  // SetOccurrences sets the Occurrences field's value.
 37370  func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
 37371  	s.Occurrences = v
 37372  	return s
 37373  }
 37374  
 37375  // SetType sets the Type field's value.
 37376  func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
 37377  	s.Type = &v
 37378  	return s
 37379  }
 37380  
 37381  // Contains a detected instance of sensitive data that are based on built-in
 37382  // identifiers.
 37383  type SensitiveDataResult struct {
 37384  	_ struct{} `type:"structure"`
 37385  
 37386  	// The category of sensitive data that was detected. For example, the category
 37387  	// can indicate that the sensitive data involved credentials, financial information,
 37388  	// or personal information.
 37389  	Category *string `type:"string"`
 37390  
 37391  	// The list of detected instances of sensitive data.
 37392  	Detections []*SensitiveDataDetections `type:"list"`
 37393  
 37394  	// The total number of occurrences of sensitive data.
 37395  	TotalCount *int64 `type:"long"`
 37396  }
 37397  
 37398  // String returns the string representation.
 37399  //
 37400  // API parameter values that are decorated as "sensitive" in the API will not
 37401  // be included in the string output. The member name will be present, but the
 37402  // value will be replaced with "sensitive".
 37403  func (s SensitiveDataResult) String() string {
 37404  	return awsutil.Prettify(s)
 37405  }
 37406  
 37407  // GoString returns the string representation.
 37408  //
 37409  // API parameter values that are decorated as "sensitive" in the API will not
 37410  // be included in the string output. The member name will be present, but the
 37411  // value will be replaced with "sensitive".
 37412  func (s SensitiveDataResult) GoString() string {
 37413  	return s.String()
 37414  }
 37415  
 37416  // SetCategory sets the Category field's value.
 37417  func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
 37418  	s.Category = &v
 37419  	return s
 37420  }
 37421  
 37422  // SetDetections sets the Detections field's value.
 37423  func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
 37424  	s.Detections = v
 37425  	return s
 37426  }
 37427  
 37428  // SetTotalCount sets the TotalCount field's value.
 37429  func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
 37430  	s.TotalCount = &v
 37431  	return s
 37432  }
 37433  
 37434  // The severity of the finding.
 37435  //
 37436  // The finding provider can provide the initial severity. The finding provider
 37437  // can only update the severity if it has not been updated using BatchUpdateFindings.
 37438  //
 37439  // The finding must have either Label or Normalized populated. If only one of
 37440  // these attributes is populated, then Security Hub automatically populates
 37441  // the other one. If neither attribute is populated, then the finding is invalid.
 37442  // Label is the preferred attribute.
 37443  type Severity struct {
 37444  	_ struct{} `type:"structure"`
 37445  
 37446  	// The severity value of the finding. The allowed values are the following.
 37447  	//
 37448  	//    * INFORMATIONAL - No issue was found.
 37449  	//
 37450  	//    * LOW - The issue does not require action on its own.
 37451  	//
 37452  	//    * MEDIUM - The issue must be addressed but not urgently.
 37453  	//
 37454  	//    * HIGH - The issue must be addressed as a priority.
 37455  	//
 37456  	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
 37457  	//
 37458  	// If you provide Normalized and do not provide Label, then Label is set automatically
 37459  	// as follows.
 37460  	//
 37461  	//    * 0 - INFORMATIONAL
 37462  	//
 37463  	//    * 1–39 - LOW
 37464  	//
 37465  	//    * 40–69 - MEDIUM
 37466  	//
 37467  	//    * 70–89 - HIGH
 37468  	//
 37469  	//    * 90–100 - CRITICAL
 37470  	Label *string `type:"string" enum:"SeverityLabel"`
 37471  
 37472  	// Deprecated. The normalized severity of a finding. This attribute is being
 37473  	// deprecated. Instead of providing Normalized, provide Label.
 37474  	//
 37475  	// If you provide Label and do not provide Normalized, then Normalized is set
 37476  	// automatically as follows.
 37477  	//
 37478  	//    * INFORMATIONAL - 0
 37479  	//
 37480  	//    * LOW - 1
 37481  	//
 37482  	//    * MEDIUM - 40
 37483  	//
 37484  	//    * HIGH - 70
 37485  	//
 37486  	//    * CRITICAL - 90
 37487  	Normalized *int64 `type:"integer"`
 37488  
 37489  	// The native severity from the finding product that generated the finding.
 37490  	Original *string `type:"string"`
 37491  
 37492  	// Deprecated. This attribute is being deprecated. Instead of providing Product,
 37493  	// provide Original.
 37494  	//
 37495  	// The native severity as defined by the Amazon Web Services service or integrated
 37496  	// partner product that generated the finding.
 37497  	Product *float64 `type:"double"`
 37498  }
 37499  
 37500  // String returns the string representation.
 37501  //
 37502  // API parameter values that are decorated as "sensitive" in the API will not
 37503  // be included in the string output. The member name will be present, but the
 37504  // value will be replaced with "sensitive".
 37505  func (s Severity) String() string {
 37506  	return awsutil.Prettify(s)
 37507  }
 37508  
 37509  // GoString returns the string representation.
 37510  //
 37511  // API parameter values that are decorated as "sensitive" in the API will not
 37512  // be included in the string output. The member name will be present, but the
 37513  // value will be replaced with "sensitive".
 37514  func (s Severity) GoString() string {
 37515  	return s.String()
 37516  }
 37517  
 37518  // SetLabel sets the Label field's value.
 37519  func (s *Severity) SetLabel(v string) *Severity {
 37520  	s.Label = &v
 37521  	return s
 37522  }
 37523  
 37524  // SetNormalized sets the Normalized field's value.
 37525  func (s *Severity) SetNormalized(v int64) *Severity {
 37526  	s.Normalized = &v
 37527  	return s
 37528  }
 37529  
 37530  // SetOriginal sets the Original field's value.
 37531  func (s *Severity) SetOriginal(v string) *Severity {
 37532  	s.Original = &v
 37533  	return s
 37534  }
 37535  
 37536  // SetProduct sets the Product field's value.
 37537  func (s *Severity) SetProduct(v float64) *Severity {
 37538  	s.Product = &v
 37539  	return s
 37540  }
 37541  
 37542  // Updates to the severity information for a finding.
 37543  type SeverityUpdate struct {
 37544  	_ struct{} `type:"structure"`
 37545  
 37546  	// The severity value of the finding. The allowed values are the following.
 37547  	//
 37548  	//    * INFORMATIONAL - No issue was found.
 37549  	//
 37550  	//    * LOW - The issue does not require action on its own.
 37551  	//
 37552  	//    * MEDIUM - The issue must be addressed but not urgently.
 37553  	//
 37554  	//    * HIGH - The issue must be addressed as a priority.
 37555  	//
 37556  	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
 37557  	Label *string `type:"string" enum:"SeverityLabel"`
 37558  
 37559  	// The normalized severity for the finding. This attribute is to be deprecated
 37560  	// in favor of Label.
 37561  	//
 37562  	// If you provide Normalized and do not provide Label, Label is set automatically
 37563  	// as follows.
 37564  	//
 37565  	//    * 0 - INFORMATIONAL
 37566  	//
 37567  	//    * 1–39 - LOW
 37568  	//
 37569  	//    * 40–69 - MEDIUM
 37570  	//
 37571  	//    * 70–89 - HIGH
 37572  	//
 37573  	//    * 90–100 - CRITICAL
 37574  	Normalized *int64 `type:"integer"`
 37575  
 37576  	// The native severity as defined by the Amazon Web Services service or integrated
 37577  	// partner product that generated the finding.
 37578  	Product *float64 `type:"double"`
 37579  }
 37580  
 37581  // String returns the string representation.
 37582  //
 37583  // API parameter values that are decorated as "sensitive" in the API will not
 37584  // be included in the string output. The member name will be present, but the
 37585  // value will be replaced with "sensitive".
 37586  func (s SeverityUpdate) String() string {
 37587  	return awsutil.Prettify(s)
 37588  }
 37589  
 37590  // GoString returns the string representation.
 37591  //
 37592  // API parameter values that are decorated as "sensitive" in the API will not
 37593  // be included in the string output. The member name will be present, but the
 37594  // value will be replaced with "sensitive".
 37595  func (s SeverityUpdate) GoString() string {
 37596  	return s.String()
 37597  }
 37598  
 37599  // SetLabel sets the Label field's value.
 37600  func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
 37601  	s.Label = &v
 37602  	return s
 37603  }
 37604  
 37605  // SetNormalized sets the Normalized field's value.
 37606  func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
 37607  	s.Normalized = &v
 37608  	return s
 37609  }
 37610  
 37611  // SetProduct sets the Product field's value.
 37612  func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
 37613  	s.Product = &v
 37614  	return s
 37615  }
 37616  
 37617  // Information about a software package.
 37618  type SoftwarePackage struct {
 37619  	_ struct{} `type:"structure"`
 37620  
 37621  	// The architecture used for the software package.
 37622  	Architecture *string `type:"string"`
 37623  
 37624  	// The epoch of the software package.
 37625  	Epoch *string `type:"string"`
 37626  
 37627  	// The file system path to the package manager inventory file.
 37628  	FilePath *string `type:"string"`
 37629  
 37630  	// The name of the software package.
 37631  	Name *string `type:"string"`
 37632  
 37633  	// The source of the package.
 37634  	PackageManager *string `type:"string"`
 37635  
 37636  	// The release of the software package.
 37637  	Release *string `type:"string"`
 37638  
 37639  	// The version of the software package.
 37640  	Version *string `type:"string"`
 37641  }
 37642  
 37643  // String returns the string representation.
 37644  //
 37645  // API parameter values that are decorated as "sensitive" in the API will not
 37646  // be included in the string output. The member name will be present, but the
 37647  // value will be replaced with "sensitive".
 37648  func (s SoftwarePackage) String() string {
 37649  	return awsutil.Prettify(s)
 37650  }
 37651  
 37652  // GoString returns the string representation.
 37653  //
 37654  // API parameter values that are decorated as "sensitive" in the API will not
 37655  // be included in the string output. The member name will be present, but the
 37656  // value will be replaced with "sensitive".
 37657  func (s SoftwarePackage) GoString() string {
 37658  	return s.String()
 37659  }
 37660  
 37661  // SetArchitecture sets the Architecture field's value.
 37662  func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
 37663  	s.Architecture = &v
 37664  	return s
 37665  }
 37666  
 37667  // SetEpoch sets the Epoch field's value.
 37668  func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
 37669  	s.Epoch = &v
 37670  	return s
 37671  }
 37672  
 37673  // SetFilePath sets the FilePath field's value.
 37674  func (s *SoftwarePackage) SetFilePath(v string) *SoftwarePackage {
 37675  	s.FilePath = &v
 37676  	return s
 37677  }
 37678  
 37679  // SetName sets the Name field's value.
 37680  func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
 37681  	s.Name = &v
 37682  	return s
 37683  }
 37684  
 37685  // SetPackageManager sets the PackageManager field's value.
 37686  func (s *SoftwarePackage) SetPackageManager(v string) *SoftwarePackage {
 37687  	s.PackageManager = &v
 37688  	return s
 37689  }
 37690  
 37691  // SetRelease sets the Release field's value.
 37692  func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
 37693  	s.Release = &v
 37694  	return s
 37695  }
 37696  
 37697  // SetVersion sets the Version field's value.
 37698  func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
 37699  	s.Version = &v
 37700  	return s
 37701  }
 37702  
 37703  // A collection of finding attributes used to sort findings.
 37704  type SortCriterion struct {
 37705  	_ struct{} `type:"structure"`
 37706  
 37707  	// The finding attribute used to sort findings.
 37708  	Field *string `type:"string"`
 37709  
 37710  	// The order used to sort findings.
 37711  	SortOrder *string `type:"string" enum:"SortOrder"`
 37712  }
 37713  
 37714  // String returns the string representation.
 37715  //
 37716  // API parameter values that are decorated as "sensitive" in the API will not
 37717  // be included in the string output. The member name will be present, but the
 37718  // value will be replaced with "sensitive".
 37719  func (s SortCriterion) String() string {
 37720  	return awsutil.Prettify(s)
 37721  }
 37722  
 37723  // GoString returns the string representation.
 37724  //
 37725  // API parameter values that are decorated as "sensitive" in the API will not
 37726  // be included in the string output. The member name will be present, but the
 37727  // value will be replaced with "sensitive".
 37728  func (s SortCriterion) GoString() string {
 37729  	return s.String()
 37730  }
 37731  
 37732  // SetField sets the Field field's value.
 37733  func (s *SortCriterion) SetField(v string) *SortCriterion {
 37734  	s.Field = &v
 37735  	return s
 37736  }
 37737  
 37738  // SetSortOrder sets the SortOrder field's value.
 37739  func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
 37740  	s.SortOrder = &v
 37741  	return s
 37742  }
 37743  
 37744  // Provides information about a specific standard.
 37745  type Standard struct {
 37746  	_ struct{} `type:"structure"`
 37747  
 37748  	// A description of the standard.
 37749  	Description *string `type:"string"`
 37750  
 37751  	// Whether the standard is enabled by default. When Security Hub is enabled
 37752  	// from the console, if a standard is enabled by default, the check box for
 37753  	// that standard is selected by default.
 37754  	//
 37755  	// When Security Hub is enabled using the EnableSecurityHub API operation, the
 37756  	// standard is enabled by default unless EnableDefaultStandards is set to false.
 37757  	EnabledByDefault *bool `type:"boolean"`
 37758  
 37759  	// The name of the standard.
 37760  	Name *string `type:"string"`
 37761  
 37762  	// The ARN of a standard.
 37763  	StandardsArn *string `type:"string"`
 37764  }
 37765  
 37766  // String returns the string representation.
 37767  //
 37768  // API parameter values that are decorated as "sensitive" in the API will not
 37769  // be included in the string output. The member name will be present, but the
 37770  // value will be replaced with "sensitive".
 37771  func (s Standard) String() string {
 37772  	return awsutil.Prettify(s)
 37773  }
 37774  
 37775  // GoString returns the string representation.
 37776  //
 37777  // API parameter values that are decorated as "sensitive" in the API will not
 37778  // be included in the string output. The member name will be present, but the
 37779  // value will be replaced with "sensitive".
 37780  func (s Standard) GoString() string {
 37781  	return s.String()
 37782  }
 37783  
 37784  // SetDescription sets the Description field's value.
 37785  func (s *Standard) SetDescription(v string) *Standard {
 37786  	s.Description = &v
 37787  	return s
 37788  }
 37789  
 37790  // SetEnabledByDefault sets the EnabledByDefault field's value.
 37791  func (s *Standard) SetEnabledByDefault(v bool) *Standard {
 37792  	s.EnabledByDefault = &v
 37793  	return s
 37794  }
 37795  
 37796  // SetName sets the Name field's value.
 37797  func (s *Standard) SetName(v string) *Standard {
 37798  	s.Name = &v
 37799  	return s
 37800  }
 37801  
 37802  // SetStandardsArn sets the StandardsArn field's value.
 37803  func (s *Standard) SetStandardsArn(v string) *Standard {
 37804  	s.StandardsArn = &v
 37805  	return s
 37806  }
 37807  
 37808  // Details for an individual security standard control.
 37809  type StandardsControl struct {
 37810  	_ struct{} `type:"structure"`
 37811  
 37812  	// The identifier of the security standard control.
 37813  	ControlId *string `type:"string"`
 37814  
 37815  	// The current status of the security standard control. Indicates whether the
 37816  	// control is enabled or disabled. Security Hub does not check against disabled
 37817  	// controls.
 37818  	ControlStatus *string `type:"string" enum:"ControlStatus"`
 37819  
 37820  	// The date and time that the status of the security standard control was most
 37821  	// recently updated.
 37822  	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
 37823  
 37824  	// The longer description of the security standard control. Provides information
 37825  	// about what the control is checking for.
 37826  	Description *string `type:"string"`
 37827  
 37828  	// The reason provided for the most recent change in status for the control.
 37829  	DisabledReason *string `type:"string"`
 37830  
 37831  	// The list of requirements that are related to this control.
 37832  	RelatedRequirements []*string `type:"list"`
 37833  
 37834  	// A link to remediation information for the control in the Security Hub user
 37835  	// documentation.
 37836  	RemediationUrl *string `type:"string"`
 37837  
 37838  	// The severity of findings generated from this security standard control.
 37839  	//
 37840  	// The finding severity is based on an assessment of how easy it would be to
 37841  	// compromise Amazon Web Services resources if the issue is detected.
 37842  	SeverityRating *string `type:"string" enum:"SeverityRating"`
 37843  
 37844  	// The ARN of the security standard control.
 37845  	StandardsControlArn *string `type:"string"`
 37846  
 37847  	// The title of the security standard control.
 37848  	Title *string `type:"string"`
 37849  }
 37850  
 37851  // String returns the string representation.
 37852  //
 37853  // API parameter values that are decorated as "sensitive" in the API will not
 37854  // be included in the string output. The member name will be present, but the
 37855  // value will be replaced with "sensitive".
 37856  func (s StandardsControl) String() string {
 37857  	return awsutil.Prettify(s)
 37858  }
 37859  
 37860  // GoString returns the string representation.
 37861  //
 37862  // API parameter values that are decorated as "sensitive" in the API will not
 37863  // be included in the string output. The member name will be present, but the
 37864  // value will be replaced with "sensitive".
 37865  func (s StandardsControl) GoString() string {
 37866  	return s.String()
 37867  }
 37868  
 37869  // SetControlId sets the ControlId field's value.
 37870  func (s *StandardsControl) SetControlId(v string) *StandardsControl {
 37871  	s.ControlId = &v
 37872  	return s
 37873  }
 37874  
 37875  // SetControlStatus sets the ControlStatus field's value.
 37876  func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
 37877  	s.ControlStatus = &v
 37878  	return s
 37879  }
 37880  
 37881  // SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
 37882  func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
 37883  	s.ControlStatusUpdatedAt = &v
 37884  	return s
 37885  }
 37886  
 37887  // SetDescription sets the Description field's value.
 37888  func (s *StandardsControl) SetDescription(v string) *StandardsControl {
 37889  	s.Description = &v
 37890  	return s
 37891  }
 37892  
 37893  // SetDisabledReason sets the DisabledReason field's value.
 37894  func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
 37895  	s.DisabledReason = &v
 37896  	return s
 37897  }
 37898  
 37899  // SetRelatedRequirements sets the RelatedRequirements field's value.
 37900  func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
 37901  	s.RelatedRequirements = v
 37902  	return s
 37903  }
 37904  
 37905  // SetRemediationUrl sets the RemediationUrl field's value.
 37906  func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
 37907  	s.RemediationUrl = &v
 37908  	return s
 37909  }
 37910  
 37911  // SetSeverityRating sets the SeverityRating field's value.
 37912  func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
 37913  	s.SeverityRating = &v
 37914  	return s
 37915  }
 37916  
 37917  // SetStandardsControlArn sets the StandardsControlArn field's value.
 37918  func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
 37919  	s.StandardsControlArn = &v
 37920  	return s
 37921  }
 37922  
 37923  // SetTitle sets the Title field's value.
 37924  func (s *StandardsControl) SetTitle(v string) *StandardsControl {
 37925  	s.Title = &v
 37926  	return s
 37927  }
 37928  
 37929  // A resource that represents your subscription to a supported standard.
 37930  type StandardsSubscription struct {
 37931  	_ struct{} `type:"structure"`
 37932  
 37933  	// The ARN of a standard.
 37934  	//
 37935  	// StandardsArn is a required field
 37936  	StandardsArn *string `type:"string" required:"true"`
 37937  
 37938  	// A key-value pair of input for the standard.
 37939  	//
 37940  	// StandardsInput is a required field
 37941  	StandardsInput map[string]*string `type:"map" required:"true"`
 37942  
 37943  	// The status of the standard subscription.
 37944  	//
 37945  	// The status values are as follows:
 37946  	//
 37947  	//    * PENDING - Standard is in the process of being enabled.
 37948  	//
 37949  	//    * READY - Standard is enabled.
 37950  	//
 37951  	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
 37952  	//    may not be available.
 37953  	//
 37954  	//    * DELETING - Standard is in the process of being disabled.
 37955  	//
 37956  	//    * FAILED - Standard could not be disabled.
 37957  	//
 37958  	// StandardsStatus is a required field
 37959  	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
 37960  
 37961  	// The ARN of a resource that represents your subscription to a supported standard.
 37962  	//
 37963  	// StandardsSubscriptionArn is a required field
 37964  	StandardsSubscriptionArn *string `type:"string" required:"true"`
 37965  }
 37966  
 37967  // String returns the string representation.
 37968  //
 37969  // API parameter values that are decorated as "sensitive" in the API will not
 37970  // be included in the string output. The member name will be present, but the
 37971  // value will be replaced with "sensitive".
 37972  func (s StandardsSubscription) String() string {
 37973  	return awsutil.Prettify(s)
 37974  }
 37975  
 37976  // GoString returns the string representation.
 37977  //
 37978  // API parameter values that are decorated as "sensitive" in the API will not
 37979  // be included in the string output. The member name will be present, but the
 37980  // value will be replaced with "sensitive".
 37981  func (s StandardsSubscription) GoString() string {
 37982  	return s.String()
 37983  }
 37984  
 37985  // SetStandardsArn sets the StandardsArn field's value.
 37986  func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
 37987  	s.StandardsArn = &v
 37988  	return s
 37989  }
 37990  
 37991  // SetStandardsInput sets the StandardsInput field's value.
 37992  func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
 37993  	s.StandardsInput = v
 37994  	return s
 37995  }
 37996  
 37997  // SetStandardsStatus sets the StandardsStatus field's value.
 37998  func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
 37999  	s.StandardsStatus = &v
 38000  	return s
 38001  }
 38002  
 38003  // SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
 38004  func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
 38005  	s.StandardsSubscriptionArn = &v
 38006  	return s
 38007  }
 38008  
 38009  // The standard that you want to enable.
 38010  type StandardsSubscriptionRequest struct {
 38011  	_ struct{} `type:"structure"`
 38012  
 38013  	// The ARN of the standard that you want to enable. To view the list of available
 38014  	// standards and their ARNs, use the DescribeStandards operation.
 38015  	//
 38016  	// StandardsArn is a required field
 38017  	StandardsArn *string `type:"string" required:"true"`
 38018  
 38019  	// A key-value pair of input for the standard.
 38020  	StandardsInput map[string]*string `type:"map"`
 38021  }
 38022  
 38023  // String returns the string representation.
 38024  //
 38025  // API parameter values that are decorated as "sensitive" in the API will not
 38026  // be included in the string output. The member name will be present, but the
 38027  // value will be replaced with "sensitive".
 38028  func (s StandardsSubscriptionRequest) String() string {
 38029  	return awsutil.Prettify(s)
 38030  }
 38031  
 38032  // GoString returns the string representation.
 38033  //
 38034  // API parameter values that are decorated as "sensitive" in the API will not
 38035  // be included in the string output. The member name will be present, but the
 38036  // value will be replaced with "sensitive".
 38037  func (s StandardsSubscriptionRequest) GoString() string {
 38038  	return s.String()
 38039  }
 38040  
 38041  // Validate inspects the fields of the type to determine if they are valid.
 38042  func (s *StandardsSubscriptionRequest) Validate() error {
 38043  	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
 38044  	if s.StandardsArn == nil {
 38045  		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
 38046  	}
 38047  
 38048  	if invalidParams.Len() > 0 {
 38049  		return invalidParams
 38050  	}
 38051  	return nil
 38052  }
 38053  
 38054  // SetStandardsArn sets the StandardsArn field's value.
 38055  func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
 38056  	s.StandardsArn = &v
 38057  	return s
 38058  }
 38059  
 38060  // SetStandardsInput sets the StandardsInput field's value.
 38061  func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
 38062  	s.StandardsInput = v
 38063  	return s
 38064  }
 38065  
 38066  // Provides additional context for the value of Compliance.Status.
 38067  type StatusReason struct {
 38068  	_ struct{} `type:"structure"`
 38069  
 38070  	// The corresponding description for the status reason code.
 38071  	Description *string `type:"string"`
 38072  
 38073  	// A code that represents a reason for the control status. For the list of status
 38074  	// reason codes and their meanings, see Standards-related information in the
 38075  	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
 38076  	// in the Security Hub User Guide.
 38077  	//
 38078  	// ReasonCode is a required field
 38079  	ReasonCode *string `type:"string" required:"true"`
 38080  }
 38081  
 38082  // String returns the string representation.
 38083  //
 38084  // API parameter values that are decorated as "sensitive" in the API will not
 38085  // be included in the string output. The member name will be present, but the
 38086  // value will be replaced with "sensitive".
 38087  func (s StatusReason) String() string {
 38088  	return awsutil.Prettify(s)
 38089  }
 38090  
 38091  // GoString returns the string representation.
 38092  //
 38093  // API parameter values that are decorated as "sensitive" in the API will not
 38094  // be included in the string output. The member name will be present, but the
 38095  // value will be replaced with "sensitive".
 38096  func (s StatusReason) GoString() string {
 38097  	return s.String()
 38098  }
 38099  
 38100  // Validate inspects the fields of the type to determine if they are valid.
 38101  func (s *StatusReason) Validate() error {
 38102  	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
 38103  	if s.ReasonCode == nil {
 38104  		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
 38105  	}
 38106  
 38107  	if invalidParams.Len() > 0 {
 38108  		return invalidParams
 38109  	}
 38110  	return nil
 38111  }
 38112  
 38113  // SetDescription sets the Description field's value.
 38114  func (s *StatusReason) SetDescription(v string) *StatusReason {
 38115  	s.Description = &v
 38116  	return s
 38117  }
 38118  
 38119  // SetReasonCode sets the ReasonCode field's value.
 38120  func (s *StatusReason) SetReasonCode(v string) *StatusReason {
 38121  	s.ReasonCode = &v
 38122  	return s
 38123  }
 38124  
 38125  // A string filter for querying findings.
 38126  type StringFilter struct {
 38127  	_ struct{} `type:"structure"`
 38128  
 38129  	// The condition to apply to a string value when querying for findings. To search
 38130  	// for values that contain the filter criteria value, use one of the following
 38131  	// comparison operators:
 38132  	//
 38133  	//    * To search for values that exactly match the filter value, use EQUALS.
 38134  	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
 38135  	//    findings that have a resource type of AwsEc2SecurityGroup.
 38136  	//
 38137  	//    * To search for values that start with the filter value, use PREFIX. For
 38138  	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
 38139  	//    a resource type that starts with AwsIam. Findings with a resource type
 38140  	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
 38141  	//
 38142  	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
 38143  	// if it matches any one of those filters.
 38144  	//
 38145  	// To search for values that do not contain the filter criteria value, use one
 38146  	// of the following comparison operators:
 38147  	//
 38148  	//    * To search for values that do not exactly match the filter value, use
 38149  	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
 38150  	//    matches findings that have a resource type other than AwsIamPolicy.
 38151  	//
 38152  	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
 38153  	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
 38154  	//    findings that have a resource type that does not start with AwsIam. Findings
 38155  	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
 38156  	//    all be excluded from the results.
 38157  	//
 38158  	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
 38159  	// AND. A finding matches only if it matches all of those filters.
 38160  	//
 38161  	// For filters on the same field, you cannot provide both an EQUALS filter and
 38162  	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
 38163  	// returns an error, even if the provided filter values would return valid results.
 38164  	//
 38165  	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
 38166  	// for the same field. Security Hub first processes the PREFIX filters, then
 38167  	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
 38168  	//
 38169  	// For example, for the following filter, Security Hub first identifies findings
 38170  	// that have resource types that start with either AwsIAM or AwsEc2. It then
 38171  	// excludes findings that have a resource type of AwsIamPolicy and findings
 38172  	// that have a resource type of AwsEc2NetworkInterface.
 38173  	//
 38174  	//    * ResourceType PREFIX AwsIam
 38175  	//
 38176  	//    * ResourceType PREFIX AwsEc2
 38177  	//
 38178  	//    * ResourceType NOT_EQUALS AwsIamPolicy
 38179  	//
 38180  	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
 38181  	Comparison *string `type:"string" enum:"StringFilterComparison"`
 38182  
 38183  	// The string filter value. Filter values are case sensitive. For example, the
 38184  	// product name for control-based findings is Security Hub. If you provide security
 38185  	// hub as the filter text, then there is no match.
 38186  	Value *string `type:"string"`
 38187  }
 38188  
 38189  // String returns the string representation.
 38190  //
 38191  // API parameter values that are decorated as "sensitive" in the API will not
 38192  // be included in the string output. The member name will be present, but the
 38193  // value will be replaced with "sensitive".
 38194  func (s StringFilter) String() string {
 38195  	return awsutil.Prettify(s)
 38196  }
 38197  
 38198  // GoString returns the string representation.
 38199  //
 38200  // API parameter values that are decorated as "sensitive" in the API will not
 38201  // be included in the string output. The member name will be present, but the
 38202  // value will be replaced with "sensitive".
 38203  func (s StringFilter) GoString() string {
 38204  	return s.String()
 38205  }
 38206  
 38207  // SetComparison sets the Comparison field's value.
 38208  func (s *StringFilter) SetComparison(v string) *StringFilter {
 38209  	s.Comparison = &v
 38210  	return s
 38211  }
 38212  
 38213  // SetValue sets the Value field's value.
 38214  func (s *StringFilter) SetValue(v string) *StringFilter {
 38215  	s.Value = &v
 38216  	return s
 38217  }
 38218  
 38219  type TagResourceInput struct {
 38220  	_ struct{} `type:"structure"`
 38221  
 38222  	// The ARN of the resource to apply the tags to.
 38223  	//
 38224  	// ResourceArn is a required field
 38225  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 38226  
 38227  	// The tags to add to the resource. You can add up to 50 tags at a time. The
 38228  	// tag keys can be no longer than 128 characters. The tag values can be no longer
 38229  	// than 256 characters.
 38230  	//
 38231  	// Tags is a required field
 38232  	Tags map[string]*string `min:"1" type:"map" required:"true"`
 38233  }
 38234  
 38235  // String returns the string representation.
 38236  //
 38237  // API parameter values that are decorated as "sensitive" in the API will not
 38238  // be included in the string output. The member name will be present, but the
 38239  // value will be replaced with "sensitive".
 38240  func (s TagResourceInput) String() string {
 38241  	return awsutil.Prettify(s)
 38242  }
 38243  
 38244  // GoString returns the string representation.
 38245  //
 38246  // API parameter values that are decorated as "sensitive" in the API will not
 38247  // be included in the string output. The member name will be present, but the
 38248  // value will be replaced with "sensitive".
 38249  func (s TagResourceInput) GoString() string {
 38250  	return s.String()
 38251  }
 38252  
 38253  // Validate inspects the fields of the type to determine if they are valid.
 38254  func (s *TagResourceInput) Validate() error {
 38255  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 38256  	if s.ResourceArn == nil {
 38257  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 38258  	}
 38259  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 38260  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 38261  	}
 38262  	if s.Tags == nil {
 38263  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 38264  	}
 38265  	if s.Tags != nil && len(s.Tags) < 1 {
 38266  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 38267  	}
 38268  
 38269  	if invalidParams.Len() > 0 {
 38270  		return invalidParams
 38271  	}
 38272  	return nil
 38273  }
 38274  
 38275  // SetResourceArn sets the ResourceArn field's value.
 38276  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 38277  	s.ResourceArn = &v
 38278  	return s
 38279  }
 38280  
 38281  // SetTags sets the Tags field's value.
 38282  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 38283  	s.Tags = v
 38284  	return s
 38285  }
 38286  
 38287  type TagResourceOutput struct {
 38288  	_ struct{} `type:"structure" nopayload:"true"`
 38289  }
 38290  
 38291  // String returns the string representation.
 38292  //
 38293  // API parameter values that are decorated as "sensitive" in the API will not
 38294  // be included in the string output. The member name will be present, but the
 38295  // value will be replaced with "sensitive".
 38296  func (s TagResourceOutput) String() string {
 38297  	return awsutil.Prettify(s)
 38298  }
 38299  
 38300  // GoString returns the string representation.
 38301  //
 38302  // API parameter values that are decorated as "sensitive" in the API will not
 38303  // be included in the string output. The member name will be present, but the
 38304  // value will be replaced with "sensitive".
 38305  func (s TagResourceOutput) GoString() string {
 38306  	return s.String()
 38307  }
 38308  
 38309  // Details about the threat intelligence related to a finding.
 38310  type ThreatIntelIndicator struct {
 38311  	_ struct{} `type:"structure"`
 38312  
 38313  	// The category of a threat intelligence indicator.
 38314  	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
 38315  
 38316  	// Indicates when the most recent instance of a threat intelligence indicator
 38317  	// was observed.
 38318  	//
 38319  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 38320  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 38321  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 38322  	LastObservedAt *string `type:"string"`
 38323  
 38324  	// The source of the threat intelligence indicator.
 38325  	Source *string `type:"string"`
 38326  
 38327  	// The URL to the page or site where you can get more information about the
 38328  	// threat intelligence indicator.
 38329  	SourceUrl *string `type:"string"`
 38330  
 38331  	// The type of threat intelligence indicator.
 38332  	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
 38333  
 38334  	// The value of a threat intelligence indicator.
 38335  	Value *string `type:"string"`
 38336  }
 38337  
 38338  // String returns the string representation.
 38339  //
 38340  // API parameter values that are decorated as "sensitive" in the API will not
 38341  // be included in the string output. The member name will be present, but the
 38342  // value will be replaced with "sensitive".
 38343  func (s ThreatIntelIndicator) String() string {
 38344  	return awsutil.Prettify(s)
 38345  }
 38346  
 38347  // GoString returns the string representation.
 38348  //
 38349  // API parameter values that are decorated as "sensitive" in the API will not
 38350  // be included in the string output. The member name will be present, but the
 38351  // value will be replaced with "sensitive".
 38352  func (s ThreatIntelIndicator) GoString() string {
 38353  	return s.String()
 38354  }
 38355  
 38356  // SetCategory sets the Category field's value.
 38357  func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
 38358  	s.Category = &v
 38359  	return s
 38360  }
 38361  
 38362  // SetLastObservedAt sets the LastObservedAt field's value.
 38363  func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
 38364  	s.LastObservedAt = &v
 38365  	return s
 38366  }
 38367  
 38368  // SetSource sets the Source field's value.
 38369  func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
 38370  	s.Source = &v
 38371  	return s
 38372  }
 38373  
 38374  // SetSourceUrl sets the SourceUrl field's value.
 38375  func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
 38376  	s.SourceUrl = &v
 38377  	return s
 38378  }
 38379  
 38380  // SetType sets the Type field's value.
 38381  func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
 38382  	s.Type = &v
 38383  	return s
 38384  }
 38385  
 38386  // SetValue sets the Value field's value.
 38387  func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
 38388  	s.Value = &v
 38389  	return s
 38390  }
 38391  
 38392  type UntagResourceInput struct {
 38393  	_ struct{} `type:"structure" nopayload:"true"`
 38394  
 38395  	// The ARN of the resource to remove the tags from.
 38396  	//
 38397  	// ResourceArn is a required field
 38398  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
 38399  
 38400  	// The tag keys associated with the tags to remove from the resource. You can
 38401  	// remove up to 50 tags at a time.
 38402  	//
 38403  	// TagKeys is a required field
 38404  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 38405  }
 38406  
 38407  // String returns the string representation.
 38408  //
 38409  // API parameter values that are decorated as "sensitive" in the API will not
 38410  // be included in the string output. The member name will be present, but the
 38411  // value will be replaced with "sensitive".
 38412  func (s UntagResourceInput) String() string {
 38413  	return awsutil.Prettify(s)
 38414  }
 38415  
 38416  // GoString returns the string representation.
 38417  //
 38418  // API parameter values that are decorated as "sensitive" in the API will not
 38419  // be included in the string output. The member name will be present, but the
 38420  // value will be replaced with "sensitive".
 38421  func (s UntagResourceInput) GoString() string {
 38422  	return s.String()
 38423  }
 38424  
 38425  // Validate inspects the fields of the type to determine if they are valid.
 38426  func (s *UntagResourceInput) Validate() error {
 38427  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 38428  	if s.ResourceArn == nil {
 38429  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 38430  	}
 38431  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 38432  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 38433  	}
 38434  	if s.TagKeys == nil {
 38435  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 38436  	}
 38437  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 38438  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 38439  	}
 38440  
 38441  	if invalidParams.Len() > 0 {
 38442  		return invalidParams
 38443  	}
 38444  	return nil
 38445  }
 38446  
 38447  // SetResourceArn sets the ResourceArn field's value.
 38448  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 38449  	s.ResourceArn = &v
 38450  	return s
 38451  }
 38452  
 38453  // SetTagKeys sets the TagKeys field's value.
 38454  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 38455  	s.TagKeys = v
 38456  	return s
 38457  }
 38458  
 38459  type UntagResourceOutput struct {
 38460  	_ struct{} `type:"structure" nopayload:"true"`
 38461  }
 38462  
 38463  // String returns the string representation.
 38464  //
 38465  // API parameter values that are decorated as "sensitive" in the API will not
 38466  // be included in the string output. The member name will be present, but the
 38467  // value will be replaced with "sensitive".
 38468  func (s UntagResourceOutput) String() string {
 38469  	return awsutil.Prettify(s)
 38470  }
 38471  
 38472  // GoString returns the string representation.
 38473  //
 38474  // API parameter values that are decorated as "sensitive" in the API will not
 38475  // be included in the string output. The member name will be present, but the
 38476  // value will be replaced with "sensitive".
 38477  func (s UntagResourceOutput) GoString() string {
 38478  	return s.String()
 38479  }
 38480  
 38481  type UpdateActionTargetInput struct {
 38482  	_ struct{} `type:"structure"`
 38483  
 38484  	// The ARN of the custom action target to update.
 38485  	//
 38486  	// ActionTargetArn is a required field
 38487  	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
 38488  
 38489  	// The updated description for the custom action target.
 38490  	Description *string `type:"string"`
 38491  
 38492  	// The updated name of the custom action target.
 38493  	Name *string `type:"string"`
 38494  }
 38495  
 38496  // String returns the string representation.
 38497  //
 38498  // API parameter values that are decorated as "sensitive" in the API will not
 38499  // be included in the string output. The member name will be present, but the
 38500  // value will be replaced with "sensitive".
 38501  func (s UpdateActionTargetInput) String() string {
 38502  	return awsutil.Prettify(s)
 38503  }
 38504  
 38505  // GoString returns the string representation.
 38506  //
 38507  // API parameter values that are decorated as "sensitive" in the API will not
 38508  // be included in the string output. The member name will be present, but the
 38509  // value will be replaced with "sensitive".
 38510  func (s UpdateActionTargetInput) GoString() string {
 38511  	return s.String()
 38512  }
 38513  
 38514  // Validate inspects the fields of the type to determine if they are valid.
 38515  func (s *UpdateActionTargetInput) Validate() error {
 38516  	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
 38517  	if s.ActionTargetArn == nil {
 38518  		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
 38519  	}
 38520  	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
 38521  		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
 38522  	}
 38523  
 38524  	if invalidParams.Len() > 0 {
 38525  		return invalidParams
 38526  	}
 38527  	return nil
 38528  }
 38529  
 38530  // SetActionTargetArn sets the ActionTargetArn field's value.
 38531  func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
 38532  	s.ActionTargetArn = &v
 38533  	return s
 38534  }
 38535  
 38536  // SetDescription sets the Description field's value.
 38537  func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
 38538  	s.Description = &v
 38539  	return s
 38540  }
 38541  
 38542  // SetName sets the Name field's value.
 38543  func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
 38544  	s.Name = &v
 38545  	return s
 38546  }
 38547  
 38548  type UpdateActionTargetOutput struct {
 38549  	_ struct{} `type:"structure" nopayload:"true"`
 38550  }
 38551  
 38552  // String returns the string representation.
 38553  //
 38554  // API parameter values that are decorated as "sensitive" in the API will not
 38555  // be included in the string output. The member name will be present, but the
 38556  // value will be replaced with "sensitive".
 38557  func (s UpdateActionTargetOutput) String() string {
 38558  	return awsutil.Prettify(s)
 38559  }
 38560  
 38561  // GoString returns the string representation.
 38562  //
 38563  // API parameter values that are decorated as "sensitive" in the API will not
 38564  // be included in the string output. The member name will be present, but the
 38565  // value will be replaced with "sensitive".
 38566  func (s UpdateActionTargetOutput) GoString() string {
 38567  	return s.String()
 38568  }
 38569  
 38570  type UpdateFindingsInput struct {
 38571  	_ struct{} `type:"structure"`
 38572  
 38573  	// A collection of attributes that specify which findings you want to update.
 38574  	//
 38575  	// Filters is a required field
 38576  	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
 38577  
 38578  	// The updated note for the finding.
 38579  	Note *NoteUpdate `type:"structure"`
 38580  
 38581  	// The updated record state for the finding.
 38582  	RecordState *string `type:"string" enum:"RecordState"`
 38583  }
 38584  
 38585  // String returns the string representation.
 38586  //
 38587  // API parameter values that are decorated as "sensitive" in the API will not
 38588  // be included in the string output. The member name will be present, but the
 38589  // value will be replaced with "sensitive".
 38590  func (s UpdateFindingsInput) String() string {
 38591  	return awsutil.Prettify(s)
 38592  }
 38593  
 38594  // GoString returns the string representation.
 38595  //
 38596  // API parameter values that are decorated as "sensitive" in the API will not
 38597  // be included in the string output. The member name will be present, but the
 38598  // value will be replaced with "sensitive".
 38599  func (s UpdateFindingsInput) GoString() string {
 38600  	return s.String()
 38601  }
 38602  
 38603  // Validate inspects the fields of the type to determine if they are valid.
 38604  func (s *UpdateFindingsInput) Validate() error {
 38605  	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
 38606  	if s.Filters == nil {
 38607  		invalidParams.Add(request.NewErrParamRequired("Filters"))
 38608  	}
 38609  	if s.Note != nil {
 38610  		if err := s.Note.Validate(); err != nil {
 38611  			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
 38612  		}
 38613  	}
 38614  
 38615  	if invalidParams.Len() > 0 {
 38616  		return invalidParams
 38617  	}
 38618  	return nil
 38619  }
 38620  
 38621  // SetFilters sets the Filters field's value.
 38622  func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
 38623  	s.Filters = v
 38624  	return s
 38625  }
 38626  
 38627  // SetNote sets the Note field's value.
 38628  func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
 38629  	s.Note = v
 38630  	return s
 38631  }
 38632  
 38633  // SetRecordState sets the RecordState field's value.
 38634  func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
 38635  	s.RecordState = &v
 38636  	return s
 38637  }
 38638  
 38639  type UpdateFindingsOutput struct {
 38640  	_ struct{} `type:"structure" nopayload:"true"`
 38641  }
 38642  
 38643  // String returns the string representation.
 38644  //
 38645  // API parameter values that are decorated as "sensitive" in the API will not
 38646  // be included in the string output. The member name will be present, but the
 38647  // value will be replaced with "sensitive".
 38648  func (s UpdateFindingsOutput) String() string {
 38649  	return awsutil.Prettify(s)
 38650  }
 38651  
 38652  // GoString returns the string representation.
 38653  //
 38654  // API parameter values that are decorated as "sensitive" in the API will not
 38655  // be included in the string output. The member name will be present, but the
 38656  // value will be replaced with "sensitive".
 38657  func (s UpdateFindingsOutput) GoString() string {
 38658  	return s.String()
 38659  }
 38660  
 38661  type UpdateInsightInput struct {
 38662  	_ struct{} `type:"structure"`
 38663  
 38664  	// The updated filters that define this insight.
 38665  	Filters *AwsSecurityFindingFilters `type:"structure"`
 38666  
 38667  	// The updated GroupBy attribute that defines this insight.
 38668  	GroupByAttribute *string `type:"string"`
 38669  
 38670  	// The ARN of the insight that you want to update.
 38671  	//
 38672  	// InsightArn is a required field
 38673  	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
 38674  
 38675  	// The updated name for the insight.
 38676  	Name *string `type:"string"`
 38677  }
 38678  
 38679  // String returns the string representation.
 38680  //
 38681  // API parameter values that are decorated as "sensitive" in the API will not
 38682  // be included in the string output. The member name will be present, but the
 38683  // value will be replaced with "sensitive".
 38684  func (s UpdateInsightInput) String() string {
 38685  	return awsutil.Prettify(s)
 38686  }
 38687  
 38688  // GoString returns the string representation.
 38689  //
 38690  // API parameter values that are decorated as "sensitive" in the API will not
 38691  // be included in the string output. The member name will be present, but the
 38692  // value will be replaced with "sensitive".
 38693  func (s UpdateInsightInput) GoString() string {
 38694  	return s.String()
 38695  }
 38696  
 38697  // Validate inspects the fields of the type to determine if they are valid.
 38698  func (s *UpdateInsightInput) Validate() error {
 38699  	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
 38700  	if s.InsightArn == nil {
 38701  		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
 38702  	}
 38703  	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
 38704  		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
 38705  	}
 38706  
 38707  	if invalidParams.Len() > 0 {
 38708  		return invalidParams
 38709  	}
 38710  	return nil
 38711  }
 38712  
 38713  // SetFilters sets the Filters field's value.
 38714  func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
 38715  	s.Filters = v
 38716  	return s
 38717  }
 38718  
 38719  // SetGroupByAttribute sets the GroupByAttribute field's value.
 38720  func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
 38721  	s.GroupByAttribute = &v
 38722  	return s
 38723  }
 38724  
 38725  // SetInsightArn sets the InsightArn field's value.
 38726  func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
 38727  	s.InsightArn = &v
 38728  	return s
 38729  }
 38730  
 38731  // SetName sets the Name field's value.
 38732  func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
 38733  	s.Name = &v
 38734  	return s
 38735  }
 38736  
 38737  type UpdateInsightOutput struct {
 38738  	_ struct{} `type:"structure" nopayload:"true"`
 38739  }
 38740  
 38741  // String returns the string representation.
 38742  //
 38743  // API parameter values that are decorated as "sensitive" in the API will not
 38744  // be included in the string output. The member name will be present, but the
 38745  // value will be replaced with "sensitive".
 38746  func (s UpdateInsightOutput) String() string {
 38747  	return awsutil.Prettify(s)
 38748  }
 38749  
 38750  // GoString returns the string representation.
 38751  //
 38752  // API parameter values that are decorated as "sensitive" in the API will not
 38753  // be included in the string output. The member name will be present, but the
 38754  // value will be replaced with "sensitive".
 38755  func (s UpdateInsightOutput) GoString() string {
 38756  	return s.String()
 38757  }
 38758  
 38759  type UpdateOrganizationConfigurationInput struct {
 38760  	_ struct{} `type:"structure"`
 38761  
 38762  	// Whether to automatically enable Security Hub for new accounts in the organization.
 38763  	//
 38764  	// By default, this is false, and new accounts are not added automatically.
 38765  	//
 38766  	// To automatically enable Security Hub for new accounts, set this to true.
 38767  	//
 38768  	// AutoEnable is a required field
 38769  	AutoEnable *bool `type:"boolean" required:"true"`
 38770  }
 38771  
 38772  // String returns the string representation.
 38773  //
 38774  // API parameter values that are decorated as "sensitive" in the API will not
 38775  // be included in the string output. The member name will be present, but the
 38776  // value will be replaced with "sensitive".
 38777  func (s UpdateOrganizationConfigurationInput) String() string {
 38778  	return awsutil.Prettify(s)
 38779  }
 38780  
 38781  // GoString returns the string representation.
 38782  //
 38783  // API parameter values that are decorated as "sensitive" in the API will not
 38784  // be included in the string output. The member name will be present, but the
 38785  // value will be replaced with "sensitive".
 38786  func (s UpdateOrganizationConfigurationInput) GoString() string {
 38787  	return s.String()
 38788  }
 38789  
 38790  // Validate inspects the fields of the type to determine if they are valid.
 38791  func (s *UpdateOrganizationConfigurationInput) Validate() error {
 38792  	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
 38793  	if s.AutoEnable == nil {
 38794  		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
 38795  	}
 38796  
 38797  	if invalidParams.Len() > 0 {
 38798  		return invalidParams
 38799  	}
 38800  	return nil
 38801  }
 38802  
 38803  // SetAutoEnable sets the AutoEnable field's value.
 38804  func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
 38805  	s.AutoEnable = &v
 38806  	return s
 38807  }
 38808  
 38809  type UpdateOrganizationConfigurationOutput struct {
 38810  	_ struct{} `type:"structure" nopayload:"true"`
 38811  }
 38812  
 38813  // String returns the string representation.
 38814  //
 38815  // API parameter values that are decorated as "sensitive" in the API will not
 38816  // be included in the string output. The member name will be present, but the
 38817  // value will be replaced with "sensitive".
 38818  func (s UpdateOrganizationConfigurationOutput) String() string {
 38819  	return awsutil.Prettify(s)
 38820  }
 38821  
 38822  // GoString returns the string representation.
 38823  //
 38824  // API parameter values that are decorated as "sensitive" in the API will not
 38825  // be included in the string output. The member name will be present, but the
 38826  // value will be replaced with "sensitive".
 38827  func (s UpdateOrganizationConfigurationOutput) GoString() string {
 38828  	return s.String()
 38829  }
 38830  
 38831  type UpdateSecurityHubConfigurationInput struct {
 38832  	_ struct{} `type:"structure"`
 38833  
 38834  	// Whether to automatically enable new controls when they are added to standards
 38835  	// that are enabled.
 38836  	//
 38837  	// By default, this is set to true, and new controls are enabled automatically.
 38838  	// To not automatically enable new controls, set this to false.
 38839  	AutoEnableControls *bool `type:"boolean"`
 38840  }
 38841  
 38842  // String returns the string representation.
 38843  //
 38844  // API parameter values that are decorated as "sensitive" in the API will not
 38845  // be included in the string output. The member name will be present, but the
 38846  // value will be replaced with "sensitive".
 38847  func (s UpdateSecurityHubConfigurationInput) String() string {
 38848  	return awsutil.Prettify(s)
 38849  }
 38850  
 38851  // GoString returns the string representation.
 38852  //
 38853  // API parameter values that are decorated as "sensitive" in the API will not
 38854  // be included in the string output. The member name will be present, but the
 38855  // value will be replaced with "sensitive".
 38856  func (s UpdateSecurityHubConfigurationInput) GoString() string {
 38857  	return s.String()
 38858  }
 38859  
 38860  // SetAutoEnableControls sets the AutoEnableControls field's value.
 38861  func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
 38862  	s.AutoEnableControls = &v
 38863  	return s
 38864  }
 38865  
 38866  type UpdateSecurityHubConfigurationOutput struct {
 38867  	_ struct{} `type:"structure" nopayload:"true"`
 38868  }
 38869  
 38870  // String returns the string representation.
 38871  //
 38872  // API parameter values that are decorated as "sensitive" in the API will not
 38873  // be included in the string output. The member name will be present, but the
 38874  // value will be replaced with "sensitive".
 38875  func (s UpdateSecurityHubConfigurationOutput) String() string {
 38876  	return awsutil.Prettify(s)
 38877  }
 38878  
 38879  // GoString returns the string representation.
 38880  //
 38881  // API parameter values that are decorated as "sensitive" in the API will not
 38882  // be included in the string output. The member name will be present, but the
 38883  // value will be replaced with "sensitive".
 38884  func (s UpdateSecurityHubConfigurationOutput) GoString() string {
 38885  	return s.String()
 38886  }
 38887  
 38888  type UpdateStandardsControlInput struct {
 38889  	_ struct{} `type:"structure"`
 38890  
 38891  	// The updated status of the security standard control.
 38892  	ControlStatus *string `type:"string" enum:"ControlStatus"`
 38893  
 38894  	// A description of the reason why you are disabling a security standard control.
 38895  	// If you are disabling a control, then this is required.
 38896  	DisabledReason *string `type:"string"`
 38897  
 38898  	// The ARN of the security standard control to enable or disable.
 38899  	//
 38900  	// StandardsControlArn is a required field
 38901  	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
 38902  }
 38903  
 38904  // String returns the string representation.
 38905  //
 38906  // API parameter values that are decorated as "sensitive" in the API will not
 38907  // be included in the string output. The member name will be present, but the
 38908  // value will be replaced with "sensitive".
 38909  func (s UpdateStandardsControlInput) String() string {
 38910  	return awsutil.Prettify(s)
 38911  }
 38912  
 38913  // GoString returns the string representation.
 38914  //
 38915  // API parameter values that are decorated as "sensitive" in the API will not
 38916  // be included in the string output. The member name will be present, but the
 38917  // value will be replaced with "sensitive".
 38918  func (s UpdateStandardsControlInput) GoString() string {
 38919  	return s.String()
 38920  }
 38921  
 38922  // Validate inspects the fields of the type to determine if they are valid.
 38923  func (s *UpdateStandardsControlInput) Validate() error {
 38924  	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
 38925  	if s.StandardsControlArn == nil {
 38926  		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
 38927  	}
 38928  	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
 38929  		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
 38930  	}
 38931  
 38932  	if invalidParams.Len() > 0 {
 38933  		return invalidParams
 38934  	}
 38935  	return nil
 38936  }
 38937  
 38938  // SetControlStatus sets the ControlStatus field's value.
 38939  func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
 38940  	s.ControlStatus = &v
 38941  	return s
 38942  }
 38943  
 38944  // SetDisabledReason sets the DisabledReason field's value.
 38945  func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
 38946  	s.DisabledReason = &v
 38947  	return s
 38948  }
 38949  
 38950  // SetStandardsControlArn sets the StandardsControlArn field's value.
 38951  func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
 38952  	s.StandardsControlArn = &v
 38953  	return s
 38954  }
 38955  
 38956  type UpdateStandardsControlOutput struct {
 38957  	_ struct{} `type:"structure" nopayload:"true"`
 38958  }
 38959  
 38960  // String returns the string representation.
 38961  //
 38962  // API parameter values that are decorated as "sensitive" in the API will not
 38963  // be included in the string output. The member name will be present, but the
 38964  // value will be replaced with "sensitive".
 38965  func (s UpdateStandardsControlOutput) String() string {
 38966  	return awsutil.Prettify(s)
 38967  }
 38968  
 38969  // GoString returns the string representation.
 38970  //
 38971  // API parameter values that are decorated as "sensitive" in the API will not
 38972  // be included in the string output. The member name will be present, but the
 38973  // value will be replaced with "sensitive".
 38974  func (s UpdateStandardsControlOutput) GoString() string {
 38975  	return s.String()
 38976  }
 38977  
 38978  // A vulnerability associated with a finding.
 38979  type Vulnerability struct {
 38980  	_ struct{} `type:"structure"`
 38981  
 38982  	// CVSS scores from the advisory related to the vulnerability.
 38983  	Cvss []*Cvss `type:"list"`
 38984  
 38985  	// The identifier of the vulnerability.
 38986  	//
 38987  	// Id is a required field
 38988  	Id *string `type:"string" required:"true"`
 38989  
 38990  	// A list of URLs that provide additional information about the vulnerability.
 38991  	ReferenceUrls []*string `type:"list"`
 38992  
 38993  	// List of vulnerabilities that are related to this vulnerability.
 38994  	RelatedVulnerabilities []*string `type:"list"`
 38995  
 38996  	// Information about the vendor that generates the vulnerability report.
 38997  	Vendor *VulnerabilityVendor `type:"structure"`
 38998  
 38999  	// List of software packages that have the vulnerability.
 39000  	VulnerablePackages []*SoftwarePackage `type:"list"`
 39001  }
 39002  
 39003  // String returns the string representation.
 39004  //
 39005  // API parameter values that are decorated as "sensitive" in the API will not
 39006  // be included in the string output. The member name will be present, but the
 39007  // value will be replaced with "sensitive".
 39008  func (s Vulnerability) String() string {
 39009  	return awsutil.Prettify(s)
 39010  }
 39011  
 39012  // GoString returns the string representation.
 39013  //
 39014  // API parameter values that are decorated as "sensitive" in the API will not
 39015  // be included in the string output. The member name will be present, but the
 39016  // value will be replaced with "sensitive".
 39017  func (s Vulnerability) GoString() string {
 39018  	return s.String()
 39019  }
 39020  
 39021  // Validate inspects the fields of the type to determine if they are valid.
 39022  func (s *Vulnerability) Validate() error {
 39023  	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
 39024  	if s.Id == nil {
 39025  		invalidParams.Add(request.NewErrParamRequired("Id"))
 39026  	}
 39027  	if s.Vendor != nil {
 39028  		if err := s.Vendor.Validate(); err != nil {
 39029  			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
 39030  		}
 39031  	}
 39032  
 39033  	if invalidParams.Len() > 0 {
 39034  		return invalidParams
 39035  	}
 39036  	return nil
 39037  }
 39038  
 39039  // SetCvss sets the Cvss field's value.
 39040  func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
 39041  	s.Cvss = v
 39042  	return s
 39043  }
 39044  
 39045  // SetId sets the Id field's value.
 39046  func (s *Vulnerability) SetId(v string) *Vulnerability {
 39047  	s.Id = &v
 39048  	return s
 39049  }
 39050  
 39051  // SetReferenceUrls sets the ReferenceUrls field's value.
 39052  func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
 39053  	s.ReferenceUrls = v
 39054  	return s
 39055  }
 39056  
 39057  // SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
 39058  func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
 39059  	s.RelatedVulnerabilities = v
 39060  	return s
 39061  }
 39062  
 39063  // SetVendor sets the Vendor field's value.
 39064  func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
 39065  	s.Vendor = v
 39066  	return s
 39067  }
 39068  
 39069  // SetVulnerablePackages sets the VulnerablePackages field's value.
 39070  func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
 39071  	s.VulnerablePackages = v
 39072  	return s
 39073  }
 39074  
 39075  // A vendor that generates a vulnerability report.
 39076  type VulnerabilityVendor struct {
 39077  	_ struct{} `type:"structure"`
 39078  
 39079  	// The name of the vendor.
 39080  	//
 39081  	// Name is a required field
 39082  	Name *string `type:"string" required:"true"`
 39083  
 39084  	// The URL of the vulnerability advisory.
 39085  	Url *string `type:"string"`
 39086  
 39087  	// Indicates when the vulnerability advisory was created.
 39088  	//
 39089  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 39090  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 39091  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 39092  	VendorCreatedAt *string `type:"string"`
 39093  
 39094  	// The severity that the vendor assigned to the vulnerability.
 39095  	VendorSeverity *string `type:"string"`
 39096  
 39097  	// Indicates when the vulnerability advisory was last updated.
 39098  	//
 39099  	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
 39100  	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
 39101  	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
 39102  	VendorUpdatedAt *string `type:"string"`
 39103  }
 39104  
 39105  // String returns the string representation.
 39106  //
 39107  // API parameter values that are decorated as "sensitive" in the API will not
 39108  // be included in the string output. The member name will be present, but the
 39109  // value will be replaced with "sensitive".
 39110  func (s VulnerabilityVendor) String() string {
 39111  	return awsutil.Prettify(s)
 39112  }
 39113  
 39114  // GoString returns the string representation.
 39115  //
 39116  // API parameter values that are decorated as "sensitive" in the API will not
 39117  // be included in the string output. The member name will be present, but the
 39118  // value will be replaced with "sensitive".
 39119  func (s VulnerabilityVendor) GoString() string {
 39120  	return s.String()
 39121  }
 39122  
 39123  // Validate inspects the fields of the type to determine if they are valid.
 39124  func (s *VulnerabilityVendor) Validate() error {
 39125  	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
 39126  	if s.Name == nil {
 39127  		invalidParams.Add(request.NewErrParamRequired("Name"))
 39128  	}
 39129  
 39130  	if invalidParams.Len() > 0 {
 39131  		return invalidParams
 39132  	}
 39133  	return nil
 39134  }
 39135  
 39136  // SetName sets the Name field's value.
 39137  func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
 39138  	s.Name = &v
 39139  	return s
 39140  }
 39141  
 39142  // SetUrl sets the Url field's value.
 39143  func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
 39144  	s.Url = &v
 39145  	return s
 39146  }
 39147  
 39148  // SetVendorCreatedAt sets the VendorCreatedAt field's value.
 39149  func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
 39150  	s.VendorCreatedAt = &v
 39151  	return s
 39152  }
 39153  
 39154  // SetVendorSeverity sets the VendorSeverity field's value.
 39155  func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
 39156  	s.VendorSeverity = &v
 39157  	return s
 39158  }
 39159  
 39160  // SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
 39161  func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
 39162  	s.VendorUpdatedAt = &v
 39163  	return s
 39164  }
 39165  
 39166  // Details about the action that CloudFront or WAF takes when a web request
 39167  // matches the conditions in the rule.
 39168  type WafAction struct {
 39169  	_ struct{} `type:"structure"`
 39170  
 39171  	// Specifies how you want WAF to respond to requests that match the settings
 39172  	// in a rule.
 39173  	//
 39174  	// Valid settings include the following:
 39175  	//
 39176  	//    * ALLOW - WAF allows requests
 39177  	//
 39178  	//    * BLOCK - WAF blocks requests
 39179  	//
 39180  	//    * COUNT - WAF increments a counter of the requests that match all of the
 39181  	//    conditions in the rule. WAF then continues to inspect the web request
 39182  	//    based on the remaining rules in the web ACL. You can't specify COUNT for
 39183  	//    the default action for a WebACL.
 39184  	Type *string `type:"string"`
 39185  }
 39186  
 39187  // String returns the string representation.
 39188  //
 39189  // API parameter values that are decorated as "sensitive" in the API will not
 39190  // be included in the string output. The member name will be present, but the
 39191  // value will be replaced with "sensitive".
 39192  func (s WafAction) String() string {
 39193  	return awsutil.Prettify(s)
 39194  }
 39195  
 39196  // GoString returns the string representation.
 39197  //
 39198  // API parameter values that are decorated as "sensitive" in the API will not
 39199  // be included in the string output. The member name will be present, but the
 39200  // value will be replaced with "sensitive".
 39201  func (s WafAction) GoString() string {
 39202  	return s.String()
 39203  }
 39204  
 39205  // SetType sets the Type field's value.
 39206  func (s *WafAction) SetType(v string) *WafAction {
 39207  	s.Type = &v
 39208  	return s
 39209  }
 39210  
 39211  // Details about a rule to exclude from a rule group.
 39212  type WafExcludedRule struct {
 39213  	_ struct{} `type:"structure"`
 39214  
 39215  	// The unique identifier for the rule to exclude from the rule group.
 39216  	RuleId *string `type:"string"`
 39217  }
 39218  
 39219  // String returns the string representation.
 39220  //
 39221  // API parameter values that are decorated as "sensitive" in the API will not
 39222  // be included in the string output. The member name will be present, but the
 39223  // value will be replaced with "sensitive".
 39224  func (s WafExcludedRule) String() string {
 39225  	return awsutil.Prettify(s)
 39226  }
 39227  
 39228  // GoString returns the string representation.
 39229  //
 39230  // API parameter values that are decorated as "sensitive" in the API will not
 39231  // be included in the string output. The member name will be present, but the
 39232  // value will be replaced with "sensitive".
 39233  func (s WafExcludedRule) GoString() string {
 39234  	return s.String()
 39235  }
 39236  
 39237  // SetRuleId sets the RuleId field's value.
 39238  func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
 39239  	s.RuleId = &v
 39240  	return s
 39241  }
 39242  
 39243  // Details about an override action for a rule.
 39244  type WafOverrideAction struct {
 39245  	_ struct{} `type:"structure"`
 39246  
 39247  	// COUNT overrides the action specified by the individual rule within a RuleGroup .
 39248  	//
 39249  	// If set to NONE, the rule's action takes place.
 39250  	Type *string `type:"string"`
 39251  }
 39252  
 39253  // String returns the string representation.
 39254  //
 39255  // API parameter values that are decorated as "sensitive" in the API will not
 39256  // be included in the string output. The member name will be present, but the
 39257  // value will be replaced with "sensitive".
 39258  func (s WafOverrideAction) String() string {
 39259  	return awsutil.Prettify(s)
 39260  }
 39261  
 39262  // GoString returns the string representation.
 39263  //
 39264  // API parameter values that are decorated as "sensitive" in the API will not
 39265  // be included in the string output. The member name will be present, but the
 39266  // value will be replaced with "sensitive".
 39267  func (s WafOverrideAction) GoString() string {
 39268  	return s.String()
 39269  }
 39270  
 39271  // SetType sets the Type field's value.
 39272  func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
 39273  	s.Type = &v
 39274  	return s
 39275  }
 39276  
 39277  // Provides information about the status of the investigation into a finding.
 39278  type Workflow struct {
 39279  	_ struct{} `type:"structure"`
 39280  
 39281  	// The status of the investigation into the finding. The workflow status is
 39282  	// specific to an individual finding. It does not affect the generation of new
 39283  	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
 39284  	// does not prevent a new finding for the same issue.
 39285  	//
 39286  	// The allowed values are the following.
 39287  	//
 39288  	//    * NEW - The initial state of a finding, before it is reviewed. Security
 39289  	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
 39290  	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
 39291  	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
 39292  	//
 39293  	//    * NOTIFIED - Indicates that you notified the resource owner about the
 39294  	//    security issue. Used when the initial reviewer is not the resource owner,
 39295  	//    and needs intervention from the resource owner.
 39296  	//
 39297  	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
 39298  	//    that any action is needed. The finding is no longer updated.
 39299  	//
 39300  	//    * RESOLVED - The finding was reviewed and remediated and is now considered
 39301  	//    resolved.
 39302  	Status *string `type:"string" enum:"WorkflowStatus"`
 39303  }
 39304  
 39305  // String returns the string representation.
 39306  //
 39307  // API parameter values that are decorated as "sensitive" in the API will not
 39308  // be included in the string output. The member name will be present, but the
 39309  // value will be replaced with "sensitive".
 39310  func (s Workflow) String() string {
 39311  	return awsutil.Prettify(s)
 39312  }
 39313  
 39314  // GoString returns the string representation.
 39315  //
 39316  // API parameter values that are decorated as "sensitive" in the API will not
 39317  // be included in the string output. The member name will be present, but the
 39318  // value will be replaced with "sensitive".
 39319  func (s Workflow) GoString() string {
 39320  	return s.String()
 39321  }
 39322  
 39323  // SetStatus sets the Status field's value.
 39324  func (s *Workflow) SetStatus(v string) *Workflow {
 39325  	s.Status = &v
 39326  	return s
 39327  }
 39328  
 39329  // Used to update information about the investigation into the finding.
 39330  type WorkflowUpdate struct {
 39331  	_ struct{} `type:"structure"`
 39332  
 39333  	// The status of the investigation into the finding. The workflow status is
 39334  	// specific to an individual finding. It does not affect the generation of new
 39335  	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
 39336  	// does not prevent a new finding for the same issue.
 39337  	//
 39338  	// The allowed values are the following.
 39339  	//
 39340  	//    * NEW - The initial state of a finding, before it is reviewed. Security
 39341  	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
 39342  	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
 39343  	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
 39344  	//
 39345  	//    * NOTIFIED - Indicates that you notified the resource owner about the
 39346  	//    security issue. Used when the initial reviewer is not the resource owner,
 39347  	//    and needs intervention from the resource owner.
 39348  	//
 39349  	//    * RESOLVED - The finding was reviewed and remediated and is now considered
 39350  	//    resolved.
 39351  	//
 39352  	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
 39353  	//    that any action is needed. The finding is no longer updated.
 39354  	Status *string `type:"string" enum:"WorkflowStatus"`
 39355  }
 39356  
 39357  // String returns the string representation.
 39358  //
 39359  // API parameter values that are decorated as "sensitive" in the API will not
 39360  // be included in the string output. The member name will be present, but the
 39361  // value will be replaced with "sensitive".
 39362  func (s WorkflowUpdate) String() string {
 39363  	return awsutil.Prettify(s)
 39364  }
 39365  
 39366  // GoString returns the string representation.
 39367  //
 39368  // API parameter values that are decorated as "sensitive" in the API will not
 39369  // be included in the string output. The member name will be present, but the
 39370  // value will be replaced with "sensitive".
 39371  func (s WorkflowUpdate) GoString() string {
 39372  	return s.String()
 39373  }
 39374  
 39375  // SetStatus sets the Status field's value.
 39376  func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
 39377  	s.Status = &v
 39378  	return s
 39379  }
 39380  
 39381  const (
 39382  	// AdminStatusEnabled is a AdminStatus enum value
 39383  	AdminStatusEnabled = "ENABLED"
 39384  
 39385  	// AdminStatusDisableInProgress is a AdminStatus enum value
 39386  	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
 39387  )
 39388  
 39389  // AdminStatus_Values returns all elements of the AdminStatus enum
 39390  func AdminStatus_Values() []string {
 39391  	return []string{
 39392  		AdminStatusEnabled,
 39393  		AdminStatusDisableInProgress,
 39394  	}
 39395  }
 39396  
 39397  const (
 39398  	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
 39399  	AwsIamAccessKeyStatusActive = "Active"
 39400  
 39401  	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
 39402  	AwsIamAccessKeyStatusInactive = "Inactive"
 39403  )
 39404  
 39405  // AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
 39406  func AwsIamAccessKeyStatus_Values() []string {
 39407  	return []string{
 39408  		AwsIamAccessKeyStatusActive,
 39409  		AwsIamAccessKeyStatusInactive,
 39410  	}
 39411  }
 39412  
 39413  const (
 39414  	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
 39415  	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix = "Prefix"
 39416  
 39417  	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
 39418  	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix = "Suffix"
 39419  )
 39420  
 39421  // AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values returns all elements of the AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum
 39422  func AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values() []string {
 39423  	return []string{
 39424  		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix,
 39425  		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix,
 39426  	}
 39427  }
 39428  
 39429  const (
 39430  	// ComplianceStatusPassed is a ComplianceStatus enum value
 39431  	ComplianceStatusPassed = "PASSED"
 39432  
 39433  	// ComplianceStatusWarning is a ComplianceStatus enum value
 39434  	ComplianceStatusWarning = "WARNING"
 39435  
 39436  	// ComplianceStatusFailed is a ComplianceStatus enum value
 39437  	ComplianceStatusFailed = "FAILED"
 39438  
 39439  	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
 39440  	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
 39441  )
 39442  
 39443  // ComplianceStatus_Values returns all elements of the ComplianceStatus enum
 39444  func ComplianceStatus_Values() []string {
 39445  	return []string{
 39446  		ComplianceStatusPassed,
 39447  		ComplianceStatusWarning,
 39448  		ComplianceStatusFailed,
 39449  		ComplianceStatusNotAvailable,
 39450  	}
 39451  }
 39452  
 39453  const (
 39454  	// ControlStatusEnabled is a ControlStatus enum value
 39455  	ControlStatusEnabled = "ENABLED"
 39456  
 39457  	// ControlStatusDisabled is a ControlStatus enum value
 39458  	ControlStatusDisabled = "DISABLED"
 39459  )
 39460  
 39461  // ControlStatus_Values returns all elements of the ControlStatus enum
 39462  func ControlStatus_Values() []string {
 39463  	return []string{
 39464  		ControlStatusEnabled,
 39465  		ControlStatusDisabled,
 39466  	}
 39467  }
 39468  
 39469  const (
 39470  	// DateRangeUnitDays is a DateRangeUnit enum value
 39471  	DateRangeUnitDays = "DAYS"
 39472  )
 39473  
 39474  // DateRangeUnit_Values returns all elements of the DateRangeUnit enum
 39475  func DateRangeUnit_Values() []string {
 39476  	return []string{
 39477  		DateRangeUnitDays,
 39478  	}
 39479  }
 39480  
 39481  const (
 39482  	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
 39483  	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
 39484  
 39485  	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
 39486  	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
 39487  
 39488  	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
 39489  	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
 39490  )
 39491  
 39492  // IntegrationType_Values returns all elements of the IntegrationType enum
 39493  func IntegrationType_Values() []string {
 39494  	return []string{
 39495  		IntegrationTypeSendFindingsToSecurityHub,
 39496  		IntegrationTypeReceiveFindingsFromSecurityHub,
 39497  		IntegrationTypeUpdateFindingsInSecurityHub,
 39498  	}
 39499  }
 39500  
 39501  const (
 39502  	// MalwareStateObserved is a MalwareState enum value
 39503  	MalwareStateObserved = "OBSERVED"
 39504  
 39505  	// MalwareStateRemovalFailed is a MalwareState enum value
 39506  	MalwareStateRemovalFailed = "REMOVAL_FAILED"
 39507  
 39508  	// MalwareStateRemoved is a MalwareState enum value
 39509  	MalwareStateRemoved = "REMOVED"
 39510  )
 39511  
 39512  // MalwareState_Values returns all elements of the MalwareState enum
 39513  func MalwareState_Values() []string {
 39514  	return []string{
 39515  		MalwareStateObserved,
 39516  		MalwareStateRemovalFailed,
 39517  		MalwareStateRemoved,
 39518  	}
 39519  }
 39520  
 39521  const (
 39522  	// MalwareTypeAdware is a MalwareType enum value
 39523  	MalwareTypeAdware = "ADWARE"
 39524  
 39525  	// MalwareTypeBlendedThreat is a MalwareType enum value
 39526  	MalwareTypeBlendedThreat = "BLENDED_THREAT"
 39527  
 39528  	// MalwareTypeBotnetAgent is a MalwareType enum value
 39529  	MalwareTypeBotnetAgent = "BOTNET_AGENT"
 39530  
 39531  	// MalwareTypeCoinMiner is a MalwareType enum value
 39532  	MalwareTypeCoinMiner = "COIN_MINER"
 39533  
 39534  	// MalwareTypeExploitKit is a MalwareType enum value
 39535  	MalwareTypeExploitKit = "EXPLOIT_KIT"
 39536  
 39537  	// MalwareTypeKeylogger is a MalwareType enum value
 39538  	MalwareTypeKeylogger = "KEYLOGGER"
 39539  
 39540  	// MalwareTypeMacro is a MalwareType enum value
 39541  	MalwareTypeMacro = "MACRO"
 39542  
 39543  	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
 39544  	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
 39545  
 39546  	// MalwareTypeSpyware is a MalwareType enum value
 39547  	MalwareTypeSpyware = "SPYWARE"
 39548  
 39549  	// MalwareTypeRansomware is a MalwareType enum value
 39550  	MalwareTypeRansomware = "RANSOMWARE"
 39551  
 39552  	// MalwareTypeRemoteAccess is a MalwareType enum value
 39553  	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
 39554  
 39555  	// MalwareTypeRootkit is a MalwareType enum value
 39556  	MalwareTypeRootkit = "ROOTKIT"
 39557  
 39558  	// MalwareTypeTrojan is a MalwareType enum value
 39559  	MalwareTypeTrojan = "TROJAN"
 39560  
 39561  	// MalwareTypeVirus is a MalwareType enum value
 39562  	MalwareTypeVirus = "VIRUS"
 39563  
 39564  	// MalwareTypeWorm is a MalwareType enum value
 39565  	MalwareTypeWorm = "WORM"
 39566  )
 39567  
 39568  // MalwareType_Values returns all elements of the MalwareType enum
 39569  func MalwareType_Values() []string {
 39570  	return []string{
 39571  		MalwareTypeAdware,
 39572  		MalwareTypeBlendedThreat,
 39573  		MalwareTypeBotnetAgent,
 39574  		MalwareTypeCoinMiner,
 39575  		MalwareTypeExploitKit,
 39576  		MalwareTypeKeylogger,
 39577  		MalwareTypeMacro,
 39578  		MalwareTypePotentiallyUnwanted,
 39579  		MalwareTypeSpyware,
 39580  		MalwareTypeRansomware,
 39581  		MalwareTypeRemoteAccess,
 39582  		MalwareTypeRootkit,
 39583  		MalwareTypeTrojan,
 39584  		MalwareTypeVirus,
 39585  		MalwareTypeWorm,
 39586  	}
 39587  }
 39588  
 39589  const (
 39590  	// MapFilterComparisonEquals is a MapFilterComparison enum value
 39591  	MapFilterComparisonEquals = "EQUALS"
 39592  
 39593  	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
 39594  	MapFilterComparisonNotEquals = "NOT_EQUALS"
 39595  )
 39596  
 39597  // MapFilterComparison_Values returns all elements of the MapFilterComparison enum
 39598  func MapFilterComparison_Values() []string {
 39599  	return []string{
 39600  		MapFilterComparisonEquals,
 39601  		MapFilterComparisonNotEquals,
 39602  	}
 39603  }
 39604  
 39605  const (
 39606  	// NetworkDirectionIn is a NetworkDirection enum value
 39607  	NetworkDirectionIn = "IN"
 39608  
 39609  	// NetworkDirectionOut is a NetworkDirection enum value
 39610  	NetworkDirectionOut = "OUT"
 39611  )
 39612  
 39613  // NetworkDirection_Values returns all elements of the NetworkDirection enum
 39614  func NetworkDirection_Values() []string {
 39615  	return []string{
 39616  		NetworkDirectionIn,
 39617  		NetworkDirectionOut,
 39618  	}
 39619  }
 39620  
 39621  const (
 39622  	// PartitionAws is a Partition enum value
 39623  	PartitionAws = "aws"
 39624  
 39625  	// PartitionAwsCn is a Partition enum value
 39626  	PartitionAwsCn = "aws-cn"
 39627  
 39628  	// PartitionAwsUsGov is a Partition enum value
 39629  	PartitionAwsUsGov = "aws-us-gov"
 39630  )
 39631  
 39632  // Partition_Values returns all elements of the Partition enum
 39633  func Partition_Values() []string {
 39634  	return []string{
 39635  		PartitionAws,
 39636  		PartitionAwsCn,
 39637  		PartitionAwsUsGov,
 39638  	}
 39639  }
 39640  
 39641  const (
 39642  	// RecordStateActive is a RecordState enum value
 39643  	RecordStateActive = "ACTIVE"
 39644  
 39645  	// RecordStateArchived is a RecordState enum value
 39646  	RecordStateArchived = "ARCHIVED"
 39647  )
 39648  
 39649  // RecordState_Values returns all elements of the RecordState enum
 39650  func RecordState_Values() []string {
 39651  	return []string{
 39652  		RecordStateActive,
 39653  		RecordStateArchived,
 39654  	}
 39655  }
 39656  
 39657  const (
 39658  	// SeverityLabelInformational is a SeverityLabel enum value
 39659  	SeverityLabelInformational = "INFORMATIONAL"
 39660  
 39661  	// SeverityLabelLow is a SeverityLabel enum value
 39662  	SeverityLabelLow = "LOW"
 39663  
 39664  	// SeverityLabelMedium is a SeverityLabel enum value
 39665  	SeverityLabelMedium = "MEDIUM"
 39666  
 39667  	// SeverityLabelHigh is a SeverityLabel enum value
 39668  	SeverityLabelHigh = "HIGH"
 39669  
 39670  	// SeverityLabelCritical is a SeverityLabel enum value
 39671  	SeverityLabelCritical = "CRITICAL"
 39672  )
 39673  
 39674  // SeverityLabel_Values returns all elements of the SeverityLabel enum
 39675  func SeverityLabel_Values() []string {
 39676  	return []string{
 39677  		SeverityLabelInformational,
 39678  		SeverityLabelLow,
 39679  		SeverityLabelMedium,
 39680  		SeverityLabelHigh,
 39681  		SeverityLabelCritical,
 39682  	}
 39683  }
 39684  
 39685  const (
 39686  	// SeverityRatingLow is a SeverityRating enum value
 39687  	SeverityRatingLow = "LOW"
 39688  
 39689  	// SeverityRatingMedium is a SeverityRating enum value
 39690  	SeverityRatingMedium = "MEDIUM"
 39691  
 39692  	// SeverityRatingHigh is a SeverityRating enum value
 39693  	SeverityRatingHigh = "HIGH"
 39694  
 39695  	// SeverityRatingCritical is a SeverityRating enum value
 39696  	SeverityRatingCritical = "CRITICAL"
 39697  )
 39698  
 39699  // SeverityRating_Values returns all elements of the SeverityRating enum
 39700  func SeverityRating_Values() []string {
 39701  	return []string{
 39702  		SeverityRatingLow,
 39703  		SeverityRatingMedium,
 39704  		SeverityRatingHigh,
 39705  		SeverityRatingCritical,
 39706  	}
 39707  }
 39708  
 39709  const (
 39710  	// SortOrderAsc is a SortOrder enum value
 39711  	SortOrderAsc = "asc"
 39712  
 39713  	// SortOrderDesc is a SortOrder enum value
 39714  	SortOrderDesc = "desc"
 39715  )
 39716  
 39717  // SortOrder_Values returns all elements of the SortOrder enum
 39718  func SortOrder_Values() []string {
 39719  	return []string{
 39720  		SortOrderAsc,
 39721  		SortOrderDesc,
 39722  	}
 39723  }
 39724  
 39725  const (
 39726  	// StandardsStatusPending is a StandardsStatus enum value
 39727  	StandardsStatusPending = "PENDING"
 39728  
 39729  	// StandardsStatusReady is a StandardsStatus enum value
 39730  	StandardsStatusReady = "READY"
 39731  
 39732  	// StandardsStatusFailed is a StandardsStatus enum value
 39733  	StandardsStatusFailed = "FAILED"
 39734  
 39735  	// StandardsStatusDeleting is a StandardsStatus enum value
 39736  	StandardsStatusDeleting = "DELETING"
 39737  
 39738  	// StandardsStatusIncomplete is a StandardsStatus enum value
 39739  	StandardsStatusIncomplete = "INCOMPLETE"
 39740  )
 39741  
 39742  // StandardsStatus_Values returns all elements of the StandardsStatus enum
 39743  func StandardsStatus_Values() []string {
 39744  	return []string{
 39745  		StandardsStatusPending,
 39746  		StandardsStatusReady,
 39747  		StandardsStatusFailed,
 39748  		StandardsStatusDeleting,
 39749  		StandardsStatusIncomplete,
 39750  	}
 39751  }
 39752  
 39753  const (
 39754  	// StringFilterComparisonEquals is a StringFilterComparison enum value
 39755  	StringFilterComparisonEquals = "EQUALS"
 39756  
 39757  	// StringFilterComparisonPrefix is a StringFilterComparison enum value
 39758  	StringFilterComparisonPrefix = "PREFIX"
 39759  
 39760  	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
 39761  	StringFilterComparisonNotEquals = "NOT_EQUALS"
 39762  
 39763  	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
 39764  	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
 39765  )
 39766  
 39767  // StringFilterComparison_Values returns all elements of the StringFilterComparison enum
 39768  func StringFilterComparison_Values() []string {
 39769  	return []string{
 39770  		StringFilterComparisonEquals,
 39771  		StringFilterComparisonPrefix,
 39772  		StringFilterComparisonNotEquals,
 39773  		StringFilterComparisonPrefixNotEquals,
 39774  	}
 39775  }
 39776  
 39777  const (
 39778  	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
 39779  	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
 39780  
 39781  	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
 39782  	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
 39783  
 39784  	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
 39785  	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
 39786  
 39787  	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
 39788  	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
 39789  
 39790  	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
 39791  	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
 39792  
 39793  	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
 39794  	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
 39795  )
 39796  
 39797  // ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
 39798  func ThreatIntelIndicatorCategory_Values() []string {
 39799  	return []string{
 39800  		ThreatIntelIndicatorCategoryBackdoor,
 39801  		ThreatIntelIndicatorCategoryCardStealer,
 39802  		ThreatIntelIndicatorCategoryCommandAndControl,
 39803  		ThreatIntelIndicatorCategoryDropSite,
 39804  		ThreatIntelIndicatorCategoryExploitSite,
 39805  		ThreatIntelIndicatorCategoryKeylogger,
 39806  	}
 39807  }
 39808  
 39809  const (
 39810  	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
 39811  	ThreatIntelIndicatorTypeDomain = "DOMAIN"
 39812  
 39813  	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
 39814  	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
 39815  
 39816  	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
 39817  	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
 39818  
 39819  	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
 39820  	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
 39821  
 39822  	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
 39823  	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
 39824  
 39825  	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
 39826  	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
 39827  
 39828  	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
 39829  	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
 39830  
 39831  	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
 39832  	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
 39833  
 39834  	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
 39835  	ThreatIntelIndicatorTypeMutex = "MUTEX"
 39836  
 39837  	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
 39838  	ThreatIntelIndicatorTypeProcess = "PROCESS"
 39839  
 39840  	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
 39841  	ThreatIntelIndicatorTypeUrl = "URL"
 39842  )
 39843  
 39844  // ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
 39845  func ThreatIntelIndicatorType_Values() []string {
 39846  	return []string{
 39847  		ThreatIntelIndicatorTypeDomain,
 39848  		ThreatIntelIndicatorTypeEmailAddress,
 39849  		ThreatIntelIndicatorTypeHashMd5,
 39850  		ThreatIntelIndicatorTypeHashSha1,
 39851  		ThreatIntelIndicatorTypeHashSha256,
 39852  		ThreatIntelIndicatorTypeHashSha512,
 39853  		ThreatIntelIndicatorTypeIpv4Address,
 39854  		ThreatIntelIndicatorTypeIpv6Address,
 39855  		ThreatIntelIndicatorTypeMutex,
 39856  		ThreatIntelIndicatorTypeProcess,
 39857  		ThreatIntelIndicatorTypeUrl,
 39858  	}
 39859  }
 39860  
 39861  const (
 39862  	// VerificationStateUnknown is a VerificationState enum value
 39863  	VerificationStateUnknown = "UNKNOWN"
 39864  
 39865  	// VerificationStateTruePositive is a VerificationState enum value
 39866  	VerificationStateTruePositive = "TRUE_POSITIVE"
 39867  
 39868  	// VerificationStateFalsePositive is a VerificationState enum value
 39869  	VerificationStateFalsePositive = "FALSE_POSITIVE"
 39870  
 39871  	// VerificationStateBenignPositive is a VerificationState enum value
 39872  	VerificationStateBenignPositive = "BENIGN_POSITIVE"
 39873  )
 39874  
 39875  // VerificationState_Values returns all elements of the VerificationState enum
 39876  func VerificationState_Values() []string {
 39877  	return []string{
 39878  		VerificationStateUnknown,
 39879  		VerificationStateTruePositive,
 39880  		VerificationStateFalsePositive,
 39881  		VerificationStateBenignPositive,
 39882  	}
 39883  }
 39884  
 39885  const (
 39886  	// WorkflowStateNew is a WorkflowState enum value
 39887  	WorkflowStateNew = "NEW"
 39888  
 39889  	// WorkflowStateAssigned is a WorkflowState enum value
 39890  	WorkflowStateAssigned = "ASSIGNED"
 39891  
 39892  	// WorkflowStateInProgress is a WorkflowState enum value
 39893  	WorkflowStateInProgress = "IN_PROGRESS"
 39894  
 39895  	// WorkflowStateDeferred is a WorkflowState enum value
 39896  	WorkflowStateDeferred = "DEFERRED"
 39897  
 39898  	// WorkflowStateResolved is a WorkflowState enum value
 39899  	WorkflowStateResolved = "RESOLVED"
 39900  )
 39901  
 39902  // WorkflowState_Values returns all elements of the WorkflowState enum
 39903  func WorkflowState_Values() []string {
 39904  	return []string{
 39905  		WorkflowStateNew,
 39906  		WorkflowStateAssigned,
 39907  		WorkflowStateInProgress,
 39908  		WorkflowStateDeferred,
 39909  		WorkflowStateResolved,
 39910  	}
 39911  }
 39912  
 39913  const (
 39914  	// WorkflowStatusNew is a WorkflowStatus enum value
 39915  	WorkflowStatusNew = "NEW"
 39916  
 39917  	// WorkflowStatusNotified is a WorkflowStatus enum value
 39918  	WorkflowStatusNotified = "NOTIFIED"
 39919  
 39920  	// WorkflowStatusResolved is a WorkflowStatus enum value
 39921  	WorkflowStatusResolved = "RESOLVED"
 39922  
 39923  	// WorkflowStatusSuppressed is a WorkflowStatus enum value
 39924  	WorkflowStatusSuppressed = "SUPPRESSED"
 39925  )
 39926  
 39927  // WorkflowStatus_Values returns all elements of the WorkflowStatus enum
 39928  func WorkflowStatus_Values() []string {
 39929  	return []string{
 39930  		WorkflowStatusNew,
 39931  		WorkflowStatusNotified,
 39932  		WorkflowStatusResolved,
 39933  		WorkflowStatusSuppressed,
 39934  	}
 39935  }