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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package devopsguru
     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 opAddNotificationChannel = "AddNotificationChannel"
    17  
    18  // AddNotificationChannelRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddNotificationChannel 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 AddNotificationChannel for more information on using the AddNotificationChannel
    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 AddNotificationChannelRequest method.
    34  //    req, resp := client.AddNotificationChannelRequest(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/devops-guru-2020-12-01/AddNotificationChannel
    42  func (c *DevOpsGuru) AddNotificationChannelRequest(input *AddNotificationChannelInput) (req *request.Request, output *AddNotificationChannelOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddNotificationChannel,
    45  		HTTPMethod: "PUT",
    46  		HTTPPath:   "/channels",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddNotificationChannelInput{}
    51  	}
    52  
    53  	output = &AddNotificationChannelOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AddNotificationChannel API operation for Amazon DevOps Guru.
    59  //
    60  // Adds a notification channel to DevOps Guru. A notification channel is used
    61  // to notify you about important DevOps Guru events, such as when an insight
    62  // is generated.
    63  //
    64  // If you use an Amazon SNS topic in another account, you must attach a policy
    65  // to it that grants DevOps Guru permission to it notifications. DevOps Guru
    66  // adds the required policy on your behalf to send notifications using Amazon
    67  // SNS in your account. For more information, see Permissions for cross account
    68  // Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
    69  //
    70  // If you use an Amazon SNS topic that is encrypted by an AWS Key Management
    71  // Service customer-managed key (CMK), then you must add permissions to the
    72  // CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
    73  // SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
    74  //
    75  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    76  // with awserr.Error's Code and Message methods to get detailed information about
    77  // the error.
    78  //
    79  // See the AWS API reference guide for Amazon DevOps Guru's
    80  // API operation AddNotificationChannel for usage and error information.
    81  //
    82  // Returned Error Types:
    83  //   * AccessDeniedException
    84  //   You don't have permissions to perform the requested operation. The user or
    85  //   role that is making the request must have at least one IAM permissions policy
    86  //   attached that grants the required permissions. For more information, see
    87  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
    88  //   in the IAM User Guide.
    89  //
    90  //   * ConflictException
    91  //   An exception that is thrown when a conflict occurs.
    92  //
    93  //   * InternalServerException
    94  //   An internal failure in an Amazon service occurred.
    95  //
    96  //   * ResourceNotFoundException
    97  //   A requested resource could not be found
    98  //
    99  //   * ServiceQuotaExceededException
   100  //   The request contains a value that exceeds a maximum quota.
   101  //
   102  //   * ThrottlingException
   103  //   The request was denied due to a request throttling.
   104  //
   105  //   * ValidationException
   106  //   Contains information about data passed in to a field during a request that
   107  //   is not valid.
   108  //
   109  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/AddNotificationChannel
   110  func (c *DevOpsGuru) AddNotificationChannel(input *AddNotificationChannelInput) (*AddNotificationChannelOutput, error) {
   111  	req, out := c.AddNotificationChannelRequest(input)
   112  	return out, req.Send()
   113  }
   114  
   115  // AddNotificationChannelWithContext is the same as AddNotificationChannel with the addition of
   116  // the ability to pass a context and additional request options.
   117  //
   118  // See AddNotificationChannel for details on how to use this API operation.
   119  //
   120  // The context must be non-nil and will be used for request cancellation. If
   121  // the context is nil a panic will occur. In the future the SDK may create
   122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   123  // for more information on using Contexts.
   124  func (c *DevOpsGuru) AddNotificationChannelWithContext(ctx aws.Context, input *AddNotificationChannelInput, opts ...request.Option) (*AddNotificationChannelOutput, error) {
   125  	req, out := c.AddNotificationChannelRequest(input)
   126  	req.SetContext(ctx)
   127  	req.ApplyOptions(opts...)
   128  	return out, req.Send()
   129  }
   130  
   131  const opDescribeAccountHealth = "DescribeAccountHealth"
   132  
   133  // DescribeAccountHealthRequest generates a "aws/request.Request" representing the
   134  // client's request for the DescribeAccountHealth operation. The "output" return
   135  // value will be populated with the request's response once the request completes
   136  // successfully.
   137  //
   138  // Use "Send" method on the returned Request to send the API call to the service.
   139  // the "output" return value is not valid until after Send returns without error.
   140  //
   141  // See DescribeAccountHealth for more information on using the DescribeAccountHealth
   142  // API call, and error handling.
   143  //
   144  // This method is useful when you want to inject custom logic or configuration
   145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   146  //
   147  //
   148  //    // Example sending a request using the DescribeAccountHealthRequest method.
   149  //    req, resp := client.DescribeAccountHealthRequest(params)
   150  //
   151  //    err := req.Send()
   152  //    if err == nil { // resp is now filled
   153  //        fmt.Println(resp)
   154  //    }
   155  //
   156  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAccountHealth
   157  func (c *DevOpsGuru) DescribeAccountHealthRequest(input *DescribeAccountHealthInput) (req *request.Request, output *DescribeAccountHealthOutput) {
   158  	op := &request.Operation{
   159  		Name:       opDescribeAccountHealth,
   160  		HTTPMethod: "GET",
   161  		HTTPPath:   "/accounts/health",
   162  	}
   163  
   164  	if input == nil {
   165  		input = &DescribeAccountHealthInput{}
   166  	}
   167  
   168  	output = &DescribeAccountHealthOutput{}
   169  	req = c.newRequest(op, input, output)
   170  	return
   171  }
   172  
   173  // DescribeAccountHealth API operation for Amazon DevOps Guru.
   174  //
   175  // Returns the number of open reactive insights, the number of open proactive
   176  // insights, and the number of metrics analyzed in your AWS account. Use these
   177  // numbers to gauge the health of operations in your AWS account.
   178  //
   179  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   180  // with awserr.Error's Code and Message methods to get detailed information about
   181  // the error.
   182  //
   183  // See the AWS API reference guide for Amazon DevOps Guru's
   184  // API operation DescribeAccountHealth for usage and error information.
   185  //
   186  // Returned Error Types:
   187  //   * AccessDeniedException
   188  //   You don't have permissions to perform the requested operation. The user or
   189  //   role that is making the request must have at least one IAM permissions policy
   190  //   attached that grants the required permissions. For more information, see
   191  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   192  //   in the IAM User Guide.
   193  //
   194  //   * InternalServerException
   195  //   An internal failure in an Amazon service occurred.
   196  //
   197  //   * ThrottlingException
   198  //   The request was denied due to a request throttling.
   199  //
   200  //   * ValidationException
   201  //   Contains information about data passed in to a field during a request that
   202  //   is not valid.
   203  //
   204  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAccountHealth
   205  func (c *DevOpsGuru) DescribeAccountHealth(input *DescribeAccountHealthInput) (*DescribeAccountHealthOutput, error) {
   206  	req, out := c.DescribeAccountHealthRequest(input)
   207  	return out, req.Send()
   208  }
   209  
   210  // DescribeAccountHealthWithContext is the same as DescribeAccountHealth with the addition of
   211  // the ability to pass a context and additional request options.
   212  //
   213  // See DescribeAccountHealth for details on how to use this API operation.
   214  //
   215  // The context must be non-nil and will be used for request cancellation. If
   216  // the context is nil a panic will occur. In the future the SDK may create
   217  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   218  // for more information on using Contexts.
   219  func (c *DevOpsGuru) DescribeAccountHealthWithContext(ctx aws.Context, input *DescribeAccountHealthInput, opts ...request.Option) (*DescribeAccountHealthOutput, error) {
   220  	req, out := c.DescribeAccountHealthRequest(input)
   221  	req.SetContext(ctx)
   222  	req.ApplyOptions(opts...)
   223  	return out, req.Send()
   224  }
   225  
   226  const opDescribeAccountOverview = "DescribeAccountOverview"
   227  
   228  // DescribeAccountOverviewRequest generates a "aws/request.Request" representing the
   229  // client's request for the DescribeAccountOverview operation. The "output" return
   230  // value will be populated with the request's response once the request completes
   231  // successfully.
   232  //
   233  // Use "Send" method on the returned Request to send the API call to the service.
   234  // the "output" return value is not valid until after Send returns without error.
   235  //
   236  // See DescribeAccountOverview for more information on using the DescribeAccountOverview
   237  // API call, and error handling.
   238  //
   239  // This method is useful when you want to inject custom logic or configuration
   240  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   241  //
   242  //
   243  //    // Example sending a request using the DescribeAccountOverviewRequest method.
   244  //    req, resp := client.DescribeAccountOverviewRequest(params)
   245  //
   246  //    err := req.Send()
   247  //    if err == nil { // resp is now filled
   248  //        fmt.Println(resp)
   249  //    }
   250  //
   251  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAccountOverview
   252  func (c *DevOpsGuru) DescribeAccountOverviewRequest(input *DescribeAccountOverviewInput) (req *request.Request, output *DescribeAccountOverviewOutput) {
   253  	op := &request.Operation{
   254  		Name:       opDescribeAccountOverview,
   255  		HTTPMethod: "POST",
   256  		HTTPPath:   "/accounts/overview",
   257  	}
   258  
   259  	if input == nil {
   260  		input = &DescribeAccountOverviewInput{}
   261  	}
   262  
   263  	output = &DescribeAccountOverviewOutput{}
   264  	req = c.newRequest(op, input, output)
   265  	return
   266  }
   267  
   268  // DescribeAccountOverview API operation for Amazon DevOps Guru.
   269  //
   270  // For the time range passed in, returns the number of open reactive insight
   271  // that were created, the number of open proactive insights that were created,
   272  // and the Mean Time to Recover (MTTR) for all closed reactive insights.
   273  //
   274  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   275  // with awserr.Error's Code and Message methods to get detailed information about
   276  // the error.
   277  //
   278  // See the AWS API reference guide for Amazon DevOps Guru's
   279  // API operation DescribeAccountOverview for usage and error information.
   280  //
   281  // Returned Error Types:
   282  //   * AccessDeniedException
   283  //   You don't have permissions to perform the requested operation. The user or
   284  //   role that is making the request must have at least one IAM permissions policy
   285  //   attached that grants the required permissions. For more information, see
   286  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   287  //   in the IAM User Guide.
   288  //
   289  //   * InternalServerException
   290  //   An internal failure in an Amazon service occurred.
   291  //
   292  //   * ThrottlingException
   293  //   The request was denied due to a request throttling.
   294  //
   295  //   * ValidationException
   296  //   Contains information about data passed in to a field during a request that
   297  //   is not valid.
   298  //
   299  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAccountOverview
   300  func (c *DevOpsGuru) DescribeAccountOverview(input *DescribeAccountOverviewInput) (*DescribeAccountOverviewOutput, error) {
   301  	req, out := c.DescribeAccountOverviewRequest(input)
   302  	return out, req.Send()
   303  }
   304  
   305  // DescribeAccountOverviewWithContext is the same as DescribeAccountOverview with the addition of
   306  // the ability to pass a context and additional request options.
   307  //
   308  // See DescribeAccountOverview for details on how to use this API operation.
   309  //
   310  // The context must be non-nil and will be used for request cancellation. If
   311  // the context is nil a panic will occur. In the future the SDK may create
   312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   313  // for more information on using Contexts.
   314  func (c *DevOpsGuru) DescribeAccountOverviewWithContext(ctx aws.Context, input *DescribeAccountOverviewInput, opts ...request.Option) (*DescribeAccountOverviewOutput, error) {
   315  	req, out := c.DescribeAccountOverviewRequest(input)
   316  	req.SetContext(ctx)
   317  	req.ApplyOptions(opts...)
   318  	return out, req.Send()
   319  }
   320  
   321  const opDescribeAnomaly = "DescribeAnomaly"
   322  
   323  // DescribeAnomalyRequest generates a "aws/request.Request" representing the
   324  // client's request for the DescribeAnomaly operation. The "output" return
   325  // value will be populated with the request's response once the request completes
   326  // successfully.
   327  //
   328  // Use "Send" method on the returned Request to send the API call to the service.
   329  // the "output" return value is not valid until after Send returns without error.
   330  //
   331  // See DescribeAnomaly for more information on using the DescribeAnomaly
   332  // API call, and error handling.
   333  //
   334  // This method is useful when you want to inject custom logic or configuration
   335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   336  //
   337  //
   338  //    // Example sending a request using the DescribeAnomalyRequest method.
   339  //    req, resp := client.DescribeAnomalyRequest(params)
   340  //
   341  //    err := req.Send()
   342  //    if err == nil { // resp is now filled
   343  //        fmt.Println(resp)
   344  //    }
   345  //
   346  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAnomaly
   347  func (c *DevOpsGuru) DescribeAnomalyRequest(input *DescribeAnomalyInput) (req *request.Request, output *DescribeAnomalyOutput) {
   348  	op := &request.Operation{
   349  		Name:       opDescribeAnomaly,
   350  		HTTPMethod: "GET",
   351  		HTTPPath:   "/anomalies/{Id}",
   352  	}
   353  
   354  	if input == nil {
   355  		input = &DescribeAnomalyInput{}
   356  	}
   357  
   358  	output = &DescribeAnomalyOutput{}
   359  	req = c.newRequest(op, input, output)
   360  	return
   361  }
   362  
   363  // DescribeAnomaly API operation for Amazon DevOps Guru.
   364  //
   365  // Returns details about an anomaly that you specify using its ID.
   366  //
   367  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   368  // with awserr.Error's Code and Message methods to get detailed information about
   369  // the error.
   370  //
   371  // See the AWS API reference guide for Amazon DevOps Guru's
   372  // API operation DescribeAnomaly for usage and error information.
   373  //
   374  // Returned Error Types:
   375  //   * AccessDeniedException
   376  //   You don't have permissions to perform the requested operation. The user or
   377  //   role that is making the request must have at least one IAM permissions policy
   378  //   attached that grants the required permissions. For more information, see
   379  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   380  //   in the IAM User Guide.
   381  //
   382  //   * InternalServerException
   383  //   An internal failure in an Amazon service occurred.
   384  //
   385  //   * ResourceNotFoundException
   386  //   A requested resource could not be found
   387  //
   388  //   * ThrottlingException
   389  //   The request was denied due to a request throttling.
   390  //
   391  //   * ValidationException
   392  //   Contains information about data passed in to a field during a request that
   393  //   is not valid.
   394  //
   395  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeAnomaly
   396  func (c *DevOpsGuru) DescribeAnomaly(input *DescribeAnomalyInput) (*DescribeAnomalyOutput, error) {
   397  	req, out := c.DescribeAnomalyRequest(input)
   398  	return out, req.Send()
   399  }
   400  
   401  // DescribeAnomalyWithContext is the same as DescribeAnomaly with the addition of
   402  // the ability to pass a context and additional request options.
   403  //
   404  // See DescribeAnomaly for details on how to use this API operation.
   405  //
   406  // The context must be non-nil and will be used for request cancellation. If
   407  // the context is nil a panic will occur. In the future the SDK may create
   408  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   409  // for more information on using Contexts.
   410  func (c *DevOpsGuru) DescribeAnomalyWithContext(ctx aws.Context, input *DescribeAnomalyInput, opts ...request.Option) (*DescribeAnomalyOutput, error) {
   411  	req, out := c.DescribeAnomalyRequest(input)
   412  	req.SetContext(ctx)
   413  	req.ApplyOptions(opts...)
   414  	return out, req.Send()
   415  }
   416  
   417  const opDescribeFeedback = "DescribeFeedback"
   418  
   419  // DescribeFeedbackRequest generates a "aws/request.Request" representing the
   420  // client's request for the DescribeFeedback operation. The "output" return
   421  // value will be populated with the request's response once the request completes
   422  // successfully.
   423  //
   424  // Use "Send" method on the returned Request to send the API call to the service.
   425  // the "output" return value is not valid until after Send returns without error.
   426  //
   427  // See DescribeFeedback for more information on using the DescribeFeedback
   428  // API call, and error handling.
   429  //
   430  // This method is useful when you want to inject custom logic or configuration
   431  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   432  //
   433  //
   434  //    // Example sending a request using the DescribeFeedbackRequest method.
   435  //    req, resp := client.DescribeFeedbackRequest(params)
   436  //
   437  //    err := req.Send()
   438  //    if err == nil { // resp is now filled
   439  //        fmt.Println(resp)
   440  //    }
   441  //
   442  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeFeedback
   443  func (c *DevOpsGuru) DescribeFeedbackRequest(input *DescribeFeedbackInput) (req *request.Request, output *DescribeFeedbackOutput) {
   444  	op := &request.Operation{
   445  		Name:       opDescribeFeedback,
   446  		HTTPMethod: "POST",
   447  		HTTPPath:   "/feedback",
   448  	}
   449  
   450  	if input == nil {
   451  		input = &DescribeFeedbackInput{}
   452  	}
   453  
   454  	output = &DescribeFeedbackOutput{}
   455  	req = c.newRequest(op, input, output)
   456  	return
   457  }
   458  
   459  // DescribeFeedback API operation for Amazon DevOps Guru.
   460  //
   461  // Returns the most recent feedback submitted in the current AWS account and
   462  // Region.
   463  //
   464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   465  // with awserr.Error's Code and Message methods to get detailed information about
   466  // the error.
   467  //
   468  // See the AWS API reference guide for Amazon DevOps Guru's
   469  // API operation DescribeFeedback for usage and error information.
   470  //
   471  // Returned Error Types:
   472  //   * AccessDeniedException
   473  //   You don't have permissions to perform the requested operation. The user or
   474  //   role that is making the request must have at least one IAM permissions policy
   475  //   attached that grants the required permissions. For more information, see
   476  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   477  //   in the IAM User Guide.
   478  //
   479  //   * InternalServerException
   480  //   An internal failure in an Amazon service occurred.
   481  //
   482  //   * ResourceNotFoundException
   483  //   A requested resource could not be found
   484  //
   485  //   * ThrottlingException
   486  //   The request was denied due to a request throttling.
   487  //
   488  //   * ValidationException
   489  //   Contains information about data passed in to a field during a request that
   490  //   is not valid.
   491  //
   492  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeFeedback
   493  func (c *DevOpsGuru) DescribeFeedback(input *DescribeFeedbackInput) (*DescribeFeedbackOutput, error) {
   494  	req, out := c.DescribeFeedbackRequest(input)
   495  	return out, req.Send()
   496  }
   497  
   498  // DescribeFeedbackWithContext is the same as DescribeFeedback with the addition of
   499  // the ability to pass a context and additional request options.
   500  //
   501  // See DescribeFeedback for details on how to use this API operation.
   502  //
   503  // The context must be non-nil and will be used for request cancellation. If
   504  // the context is nil a panic will occur. In the future the SDK may create
   505  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   506  // for more information on using Contexts.
   507  func (c *DevOpsGuru) DescribeFeedbackWithContext(ctx aws.Context, input *DescribeFeedbackInput, opts ...request.Option) (*DescribeFeedbackOutput, error) {
   508  	req, out := c.DescribeFeedbackRequest(input)
   509  	req.SetContext(ctx)
   510  	req.ApplyOptions(opts...)
   511  	return out, req.Send()
   512  }
   513  
   514  const opDescribeInsight = "DescribeInsight"
   515  
   516  // DescribeInsightRequest generates a "aws/request.Request" representing the
   517  // client's request for the DescribeInsight operation. The "output" return
   518  // value will be populated with the request's response once the request completes
   519  // successfully.
   520  //
   521  // Use "Send" method on the returned Request to send the API call to the service.
   522  // the "output" return value is not valid until after Send returns without error.
   523  //
   524  // See DescribeInsight for more information on using the DescribeInsight
   525  // API call, and error handling.
   526  //
   527  // This method is useful when you want to inject custom logic or configuration
   528  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   529  //
   530  //
   531  //    // Example sending a request using the DescribeInsightRequest method.
   532  //    req, resp := client.DescribeInsightRequest(params)
   533  //
   534  //    err := req.Send()
   535  //    if err == nil { // resp is now filled
   536  //        fmt.Println(resp)
   537  //    }
   538  //
   539  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeInsight
   540  func (c *DevOpsGuru) DescribeInsightRequest(input *DescribeInsightInput) (req *request.Request, output *DescribeInsightOutput) {
   541  	op := &request.Operation{
   542  		Name:       opDescribeInsight,
   543  		HTTPMethod: "GET",
   544  		HTTPPath:   "/insights/{Id}",
   545  	}
   546  
   547  	if input == nil {
   548  		input = &DescribeInsightInput{}
   549  	}
   550  
   551  	output = &DescribeInsightOutput{}
   552  	req = c.newRequest(op, input, output)
   553  	return
   554  }
   555  
   556  // DescribeInsight API operation for Amazon DevOps Guru.
   557  //
   558  // Returns details about an insight that you specify using its ID.
   559  //
   560  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   561  // with awserr.Error's Code and Message methods to get detailed information about
   562  // the error.
   563  //
   564  // See the AWS API reference guide for Amazon DevOps Guru's
   565  // API operation DescribeInsight for usage and error information.
   566  //
   567  // Returned Error Types:
   568  //   * AccessDeniedException
   569  //   You don't have permissions to perform the requested operation. The user or
   570  //   role that is making the request must have at least one IAM permissions policy
   571  //   attached that grants the required permissions. For more information, see
   572  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   573  //   in the IAM User Guide.
   574  //
   575  //   * InternalServerException
   576  //   An internal failure in an Amazon service occurred.
   577  //
   578  //   * ResourceNotFoundException
   579  //   A requested resource could not be found
   580  //
   581  //   * ThrottlingException
   582  //   The request was denied due to a request throttling.
   583  //
   584  //   * ValidationException
   585  //   Contains information about data passed in to a field during a request that
   586  //   is not valid.
   587  //
   588  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeInsight
   589  func (c *DevOpsGuru) DescribeInsight(input *DescribeInsightInput) (*DescribeInsightOutput, error) {
   590  	req, out := c.DescribeInsightRequest(input)
   591  	return out, req.Send()
   592  }
   593  
   594  // DescribeInsightWithContext is the same as DescribeInsight with the addition of
   595  // the ability to pass a context and additional request options.
   596  //
   597  // See DescribeInsight for details on how to use this API operation.
   598  //
   599  // The context must be non-nil and will be used for request cancellation. If
   600  // the context is nil a panic will occur. In the future the SDK may create
   601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   602  // for more information on using Contexts.
   603  func (c *DevOpsGuru) DescribeInsightWithContext(ctx aws.Context, input *DescribeInsightInput, opts ...request.Option) (*DescribeInsightOutput, error) {
   604  	req, out := c.DescribeInsightRequest(input)
   605  	req.SetContext(ctx)
   606  	req.ApplyOptions(opts...)
   607  	return out, req.Send()
   608  }
   609  
   610  const opDescribeResourceCollectionHealth = "DescribeResourceCollectionHealth"
   611  
   612  // DescribeResourceCollectionHealthRequest generates a "aws/request.Request" representing the
   613  // client's request for the DescribeResourceCollectionHealth operation. The "output" return
   614  // value will be populated with the request's response once the request completes
   615  // successfully.
   616  //
   617  // Use "Send" method on the returned Request to send the API call to the service.
   618  // the "output" return value is not valid until after Send returns without error.
   619  //
   620  // See DescribeResourceCollectionHealth for more information on using the DescribeResourceCollectionHealth
   621  // API call, and error handling.
   622  //
   623  // This method is useful when you want to inject custom logic or configuration
   624  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   625  //
   626  //
   627  //    // Example sending a request using the DescribeResourceCollectionHealthRequest method.
   628  //    req, resp := client.DescribeResourceCollectionHealthRequest(params)
   629  //
   630  //    err := req.Send()
   631  //    if err == nil { // resp is now filled
   632  //        fmt.Println(resp)
   633  //    }
   634  //
   635  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeResourceCollectionHealth
   636  func (c *DevOpsGuru) DescribeResourceCollectionHealthRequest(input *DescribeResourceCollectionHealthInput) (req *request.Request, output *DescribeResourceCollectionHealthOutput) {
   637  	op := &request.Operation{
   638  		Name:       opDescribeResourceCollectionHealth,
   639  		HTTPMethod: "GET",
   640  		HTTPPath:   "/accounts/health/resource-collection/{ResourceCollectionType}",
   641  		Paginator: &request.Paginator{
   642  			InputTokens:     []string{"NextToken"},
   643  			OutputTokens:    []string{"NextToken"},
   644  			LimitToken:      "",
   645  			TruncationToken: "",
   646  		},
   647  	}
   648  
   649  	if input == nil {
   650  		input = &DescribeResourceCollectionHealthInput{}
   651  	}
   652  
   653  	output = &DescribeResourceCollectionHealthOutput{}
   654  	req = c.newRequest(op, input, output)
   655  	return
   656  }
   657  
   658  // DescribeResourceCollectionHealth API operation for Amazon DevOps Guru.
   659  //
   660  // Returns the number of open proactive insights, open reactive insights, and
   661  // the Mean Time to Recover (MTTR) for all closed insights in resource collections
   662  // in your account. You specify the type of AWS resources collection. The one
   663  // type of AWS resource collection supported is AWS CloudFormation stacks. DevOps
   664  // Guru can be configured to analyze only the AWS resources that are defined
   665  // in the stacks. You can specify up to 500 AWS CloudFormation stacks.
   666  //
   667  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   668  // with awserr.Error's Code and Message methods to get detailed information about
   669  // the error.
   670  //
   671  // See the AWS API reference guide for Amazon DevOps Guru's
   672  // API operation DescribeResourceCollectionHealth for usage and error information.
   673  //
   674  // Returned Error Types:
   675  //   * AccessDeniedException
   676  //   You don't have permissions to perform the requested operation. The user or
   677  //   role that is making the request must have at least one IAM permissions policy
   678  //   attached that grants the required permissions. For more information, see
   679  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   680  //   in the IAM User Guide.
   681  //
   682  //   * InternalServerException
   683  //   An internal failure in an Amazon service occurred.
   684  //
   685  //   * ThrottlingException
   686  //   The request was denied due to a request throttling.
   687  //
   688  //   * ValidationException
   689  //   Contains information about data passed in to a field during a request that
   690  //   is not valid.
   691  //
   692  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeResourceCollectionHealth
   693  func (c *DevOpsGuru) DescribeResourceCollectionHealth(input *DescribeResourceCollectionHealthInput) (*DescribeResourceCollectionHealthOutput, error) {
   694  	req, out := c.DescribeResourceCollectionHealthRequest(input)
   695  	return out, req.Send()
   696  }
   697  
   698  // DescribeResourceCollectionHealthWithContext is the same as DescribeResourceCollectionHealth with the addition of
   699  // the ability to pass a context and additional request options.
   700  //
   701  // See DescribeResourceCollectionHealth for details on how to use this API operation.
   702  //
   703  // The context must be non-nil and will be used for request cancellation. If
   704  // the context is nil a panic will occur. In the future the SDK may create
   705  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   706  // for more information on using Contexts.
   707  func (c *DevOpsGuru) DescribeResourceCollectionHealthWithContext(ctx aws.Context, input *DescribeResourceCollectionHealthInput, opts ...request.Option) (*DescribeResourceCollectionHealthOutput, error) {
   708  	req, out := c.DescribeResourceCollectionHealthRequest(input)
   709  	req.SetContext(ctx)
   710  	req.ApplyOptions(opts...)
   711  	return out, req.Send()
   712  }
   713  
   714  // DescribeResourceCollectionHealthPages iterates over the pages of a DescribeResourceCollectionHealth operation,
   715  // calling the "fn" function with the response data for each page. To stop
   716  // iterating, return false from the fn function.
   717  //
   718  // See DescribeResourceCollectionHealth method for more information on how to use this operation.
   719  //
   720  // Note: This operation can generate multiple requests to a service.
   721  //
   722  //    // Example iterating over at most 3 pages of a DescribeResourceCollectionHealth operation.
   723  //    pageNum := 0
   724  //    err := client.DescribeResourceCollectionHealthPages(params,
   725  //        func(page *devopsguru.DescribeResourceCollectionHealthOutput, lastPage bool) bool {
   726  //            pageNum++
   727  //            fmt.Println(page)
   728  //            return pageNum <= 3
   729  //        })
   730  //
   731  func (c *DevOpsGuru) DescribeResourceCollectionHealthPages(input *DescribeResourceCollectionHealthInput, fn func(*DescribeResourceCollectionHealthOutput, bool) bool) error {
   732  	return c.DescribeResourceCollectionHealthPagesWithContext(aws.BackgroundContext(), input, fn)
   733  }
   734  
   735  // DescribeResourceCollectionHealthPagesWithContext same as DescribeResourceCollectionHealthPages except
   736  // it takes a Context and allows setting request options on the pages.
   737  //
   738  // The context must be non-nil and will be used for request cancellation. If
   739  // the context is nil a panic will occur. In the future the SDK may create
   740  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   741  // for more information on using Contexts.
   742  func (c *DevOpsGuru) DescribeResourceCollectionHealthPagesWithContext(ctx aws.Context, input *DescribeResourceCollectionHealthInput, fn func(*DescribeResourceCollectionHealthOutput, bool) bool, opts ...request.Option) error {
   743  	p := request.Pagination{
   744  		NewRequest: func() (*request.Request, error) {
   745  			var inCpy *DescribeResourceCollectionHealthInput
   746  			if input != nil {
   747  				tmp := *input
   748  				inCpy = &tmp
   749  			}
   750  			req, _ := c.DescribeResourceCollectionHealthRequest(inCpy)
   751  			req.SetContext(ctx)
   752  			req.ApplyOptions(opts...)
   753  			return req, nil
   754  		},
   755  	}
   756  
   757  	for p.Next() {
   758  		if !fn(p.Page().(*DescribeResourceCollectionHealthOutput), !p.HasNextPage()) {
   759  			break
   760  		}
   761  	}
   762  
   763  	return p.Err()
   764  }
   765  
   766  const opDescribeServiceIntegration = "DescribeServiceIntegration"
   767  
   768  // DescribeServiceIntegrationRequest generates a "aws/request.Request" representing the
   769  // client's request for the DescribeServiceIntegration operation. The "output" return
   770  // value will be populated with the request's response once the request completes
   771  // successfully.
   772  //
   773  // Use "Send" method on the returned Request to send the API call to the service.
   774  // the "output" return value is not valid until after Send returns without error.
   775  //
   776  // See DescribeServiceIntegration for more information on using the DescribeServiceIntegration
   777  // API call, and error handling.
   778  //
   779  // This method is useful when you want to inject custom logic or configuration
   780  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   781  //
   782  //
   783  //    // Example sending a request using the DescribeServiceIntegrationRequest method.
   784  //    req, resp := client.DescribeServiceIntegrationRequest(params)
   785  //
   786  //    err := req.Send()
   787  //    if err == nil { // resp is now filled
   788  //        fmt.Println(resp)
   789  //    }
   790  //
   791  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeServiceIntegration
   792  func (c *DevOpsGuru) DescribeServiceIntegrationRequest(input *DescribeServiceIntegrationInput) (req *request.Request, output *DescribeServiceIntegrationOutput) {
   793  	op := &request.Operation{
   794  		Name:       opDescribeServiceIntegration,
   795  		HTTPMethod: "GET",
   796  		HTTPPath:   "/service-integrations",
   797  	}
   798  
   799  	if input == nil {
   800  		input = &DescribeServiceIntegrationInput{}
   801  	}
   802  
   803  	output = &DescribeServiceIntegrationOutput{}
   804  	req = c.newRequest(op, input, output)
   805  	return
   806  }
   807  
   808  // DescribeServiceIntegration API operation for Amazon DevOps Guru.
   809  //
   810  // Returns the integration status of services that are integrated with DevOps
   811  // Guru. The one service that can be integrated with DevOps Guru is AWS Systems
   812  // Manager, which can be used to create an OpsItem for each generated insight.
   813  //
   814  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   815  // with awserr.Error's Code and Message methods to get detailed information about
   816  // the error.
   817  //
   818  // See the AWS API reference guide for Amazon DevOps Guru's
   819  // API operation DescribeServiceIntegration for usage and error information.
   820  //
   821  // Returned Error Types:
   822  //   * AccessDeniedException
   823  //   You don't have permissions to perform the requested operation. The user or
   824  //   role that is making the request must have at least one IAM permissions policy
   825  //   attached that grants the required permissions. For more information, see
   826  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   827  //   in the IAM User Guide.
   828  //
   829  //   * InternalServerException
   830  //   An internal failure in an Amazon service occurred.
   831  //
   832  //   * ThrottlingException
   833  //   The request was denied due to a request throttling.
   834  //
   835  //   * ValidationException
   836  //   Contains information about data passed in to a field during a request that
   837  //   is not valid.
   838  //
   839  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/DescribeServiceIntegration
   840  func (c *DevOpsGuru) DescribeServiceIntegration(input *DescribeServiceIntegrationInput) (*DescribeServiceIntegrationOutput, error) {
   841  	req, out := c.DescribeServiceIntegrationRequest(input)
   842  	return out, req.Send()
   843  }
   844  
   845  // DescribeServiceIntegrationWithContext is the same as DescribeServiceIntegration with the addition of
   846  // the ability to pass a context and additional request options.
   847  //
   848  // See DescribeServiceIntegration for details on how to use this API operation.
   849  //
   850  // The context must be non-nil and will be used for request cancellation. If
   851  // the context is nil a panic will occur. In the future the SDK may create
   852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   853  // for more information on using Contexts.
   854  func (c *DevOpsGuru) DescribeServiceIntegrationWithContext(ctx aws.Context, input *DescribeServiceIntegrationInput, opts ...request.Option) (*DescribeServiceIntegrationOutput, error) {
   855  	req, out := c.DescribeServiceIntegrationRequest(input)
   856  	req.SetContext(ctx)
   857  	req.ApplyOptions(opts...)
   858  	return out, req.Send()
   859  }
   860  
   861  const opGetCostEstimation = "GetCostEstimation"
   862  
   863  // GetCostEstimationRequest generates a "aws/request.Request" representing the
   864  // client's request for the GetCostEstimation operation. The "output" return
   865  // value will be populated with the request's response once the request completes
   866  // successfully.
   867  //
   868  // Use "Send" method on the returned Request to send the API call to the service.
   869  // the "output" return value is not valid until after Send returns without error.
   870  //
   871  // See GetCostEstimation for more information on using the GetCostEstimation
   872  // API call, and error handling.
   873  //
   874  // This method is useful when you want to inject custom logic or configuration
   875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   876  //
   877  //
   878  //    // Example sending a request using the GetCostEstimationRequest method.
   879  //    req, resp := client.GetCostEstimationRequest(params)
   880  //
   881  //    err := req.Send()
   882  //    if err == nil { // resp is now filled
   883  //        fmt.Println(resp)
   884  //    }
   885  //
   886  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/GetCostEstimation
   887  func (c *DevOpsGuru) GetCostEstimationRequest(input *GetCostEstimationInput) (req *request.Request, output *GetCostEstimationOutput) {
   888  	op := &request.Operation{
   889  		Name:       opGetCostEstimation,
   890  		HTTPMethod: "GET",
   891  		HTTPPath:   "/cost-estimation",
   892  		Paginator: &request.Paginator{
   893  			InputTokens:     []string{"NextToken"},
   894  			OutputTokens:    []string{"NextToken"},
   895  			LimitToken:      "",
   896  			TruncationToken: "",
   897  		},
   898  	}
   899  
   900  	if input == nil {
   901  		input = &GetCostEstimationInput{}
   902  	}
   903  
   904  	output = &GetCostEstimationOutput{}
   905  	req = c.newRequest(op, input, output)
   906  	return
   907  }
   908  
   909  // GetCostEstimation API operation for Amazon DevOps Guru.
   910  //
   911  // Returns an estimate of the monthly cost for DevOps Guru to analyze your AWS
   912  // resources. For more information, see Estimate your Amazon DevOps Guru costs
   913  // (https://docs.aws.amazon.com/devops-guru/latest/userguide/cost-estimate.html)
   914  // and Amazon DevOps Guru pricing (http://aws.amazon.com/devops-guru/pricing/).
   915  //
   916  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   917  // with awserr.Error's Code and Message methods to get detailed information about
   918  // the error.
   919  //
   920  // See the AWS API reference guide for Amazon DevOps Guru's
   921  // API operation GetCostEstimation for usage and error information.
   922  //
   923  // Returned Error Types:
   924  //   * AccessDeniedException
   925  //   You don't have permissions to perform the requested operation. The user or
   926  //   role that is making the request must have at least one IAM permissions policy
   927  //   attached that grants the required permissions. For more information, see
   928  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
   929  //   in the IAM User Guide.
   930  //
   931  //   * InternalServerException
   932  //   An internal failure in an Amazon service occurred.
   933  //
   934  //   * ResourceNotFoundException
   935  //   A requested resource could not be found
   936  //
   937  //   * ThrottlingException
   938  //   The request was denied due to a request throttling.
   939  //
   940  //   * ValidationException
   941  //   Contains information about data passed in to a field during a request that
   942  //   is not valid.
   943  //
   944  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/GetCostEstimation
   945  func (c *DevOpsGuru) GetCostEstimation(input *GetCostEstimationInput) (*GetCostEstimationOutput, error) {
   946  	req, out := c.GetCostEstimationRequest(input)
   947  	return out, req.Send()
   948  }
   949  
   950  // GetCostEstimationWithContext is the same as GetCostEstimation with the addition of
   951  // the ability to pass a context and additional request options.
   952  //
   953  // See GetCostEstimation for details on how to use this API operation.
   954  //
   955  // The context must be non-nil and will be used for request cancellation. If
   956  // the context is nil a panic will occur. In the future the SDK may create
   957  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   958  // for more information on using Contexts.
   959  func (c *DevOpsGuru) GetCostEstimationWithContext(ctx aws.Context, input *GetCostEstimationInput, opts ...request.Option) (*GetCostEstimationOutput, error) {
   960  	req, out := c.GetCostEstimationRequest(input)
   961  	req.SetContext(ctx)
   962  	req.ApplyOptions(opts...)
   963  	return out, req.Send()
   964  }
   965  
   966  // GetCostEstimationPages iterates over the pages of a GetCostEstimation operation,
   967  // calling the "fn" function with the response data for each page. To stop
   968  // iterating, return false from the fn function.
   969  //
   970  // See GetCostEstimation method for more information on how to use this operation.
   971  //
   972  // Note: This operation can generate multiple requests to a service.
   973  //
   974  //    // Example iterating over at most 3 pages of a GetCostEstimation operation.
   975  //    pageNum := 0
   976  //    err := client.GetCostEstimationPages(params,
   977  //        func(page *devopsguru.GetCostEstimationOutput, lastPage bool) bool {
   978  //            pageNum++
   979  //            fmt.Println(page)
   980  //            return pageNum <= 3
   981  //        })
   982  //
   983  func (c *DevOpsGuru) GetCostEstimationPages(input *GetCostEstimationInput, fn func(*GetCostEstimationOutput, bool) bool) error {
   984  	return c.GetCostEstimationPagesWithContext(aws.BackgroundContext(), input, fn)
   985  }
   986  
   987  // GetCostEstimationPagesWithContext same as GetCostEstimationPages except
   988  // it takes a Context and allows setting request options on the pages.
   989  //
   990  // The context must be non-nil and will be used for request cancellation. If
   991  // the context is nil a panic will occur. In the future the SDK may create
   992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   993  // for more information on using Contexts.
   994  func (c *DevOpsGuru) GetCostEstimationPagesWithContext(ctx aws.Context, input *GetCostEstimationInput, fn func(*GetCostEstimationOutput, bool) bool, opts ...request.Option) error {
   995  	p := request.Pagination{
   996  		NewRequest: func() (*request.Request, error) {
   997  			var inCpy *GetCostEstimationInput
   998  			if input != nil {
   999  				tmp := *input
  1000  				inCpy = &tmp
  1001  			}
  1002  			req, _ := c.GetCostEstimationRequest(inCpy)
  1003  			req.SetContext(ctx)
  1004  			req.ApplyOptions(opts...)
  1005  			return req, nil
  1006  		},
  1007  	}
  1008  
  1009  	for p.Next() {
  1010  		if !fn(p.Page().(*GetCostEstimationOutput), !p.HasNextPage()) {
  1011  			break
  1012  		}
  1013  	}
  1014  
  1015  	return p.Err()
  1016  }
  1017  
  1018  const opGetResourceCollection = "GetResourceCollection"
  1019  
  1020  // GetResourceCollectionRequest generates a "aws/request.Request" representing the
  1021  // client's request for the GetResourceCollection operation. The "output" return
  1022  // value will be populated with the request's response once the request completes
  1023  // successfully.
  1024  //
  1025  // Use "Send" method on the returned Request to send the API call to the service.
  1026  // the "output" return value is not valid until after Send returns without error.
  1027  //
  1028  // See GetResourceCollection for more information on using the GetResourceCollection
  1029  // API call, and error handling.
  1030  //
  1031  // This method is useful when you want to inject custom logic or configuration
  1032  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1033  //
  1034  //
  1035  //    // Example sending a request using the GetResourceCollectionRequest method.
  1036  //    req, resp := client.GetResourceCollectionRequest(params)
  1037  //
  1038  //    err := req.Send()
  1039  //    if err == nil { // resp is now filled
  1040  //        fmt.Println(resp)
  1041  //    }
  1042  //
  1043  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/GetResourceCollection
  1044  func (c *DevOpsGuru) GetResourceCollectionRequest(input *GetResourceCollectionInput) (req *request.Request, output *GetResourceCollectionOutput) {
  1045  	op := &request.Operation{
  1046  		Name:       opGetResourceCollection,
  1047  		HTTPMethod: "GET",
  1048  		HTTPPath:   "/resource-collections/{ResourceCollectionType}",
  1049  		Paginator: &request.Paginator{
  1050  			InputTokens:     []string{"NextToken"},
  1051  			OutputTokens:    []string{"NextToken"},
  1052  			LimitToken:      "",
  1053  			TruncationToken: "",
  1054  		},
  1055  	}
  1056  
  1057  	if input == nil {
  1058  		input = &GetResourceCollectionInput{}
  1059  	}
  1060  
  1061  	output = &GetResourceCollectionOutput{}
  1062  	req = c.newRequest(op, input, output)
  1063  	return
  1064  }
  1065  
  1066  // GetResourceCollection API operation for Amazon DevOps Guru.
  1067  //
  1068  // Returns lists AWS resources that are of the specified resource collection
  1069  // type. The one type of AWS resource collection supported is AWS CloudFormation
  1070  // stacks. DevOps Guru can be configured to analyze only the AWS resources that
  1071  // are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks.
  1072  //
  1073  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1074  // with awserr.Error's Code and Message methods to get detailed information about
  1075  // the error.
  1076  //
  1077  // See the AWS API reference guide for Amazon DevOps Guru's
  1078  // API operation GetResourceCollection for usage and error information.
  1079  //
  1080  // Returned Error Types:
  1081  //   * AccessDeniedException
  1082  //   You don't have permissions to perform the requested operation. The user or
  1083  //   role that is making the request must have at least one IAM permissions policy
  1084  //   attached that grants the required permissions. For more information, see
  1085  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1086  //   in the IAM User Guide.
  1087  //
  1088  //   * InternalServerException
  1089  //   An internal failure in an Amazon service occurred.
  1090  //
  1091  //   * ResourceNotFoundException
  1092  //   A requested resource could not be found
  1093  //
  1094  //   * ThrottlingException
  1095  //   The request was denied due to a request throttling.
  1096  //
  1097  //   * ValidationException
  1098  //   Contains information about data passed in to a field during a request that
  1099  //   is not valid.
  1100  //
  1101  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/GetResourceCollection
  1102  func (c *DevOpsGuru) GetResourceCollection(input *GetResourceCollectionInput) (*GetResourceCollectionOutput, error) {
  1103  	req, out := c.GetResourceCollectionRequest(input)
  1104  	return out, req.Send()
  1105  }
  1106  
  1107  // GetResourceCollectionWithContext is the same as GetResourceCollection with the addition of
  1108  // the ability to pass a context and additional request options.
  1109  //
  1110  // See GetResourceCollection for details on how to use this API operation.
  1111  //
  1112  // The context must be non-nil and will be used for request cancellation. If
  1113  // the context is nil a panic will occur. In the future the SDK may create
  1114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1115  // for more information on using Contexts.
  1116  func (c *DevOpsGuru) GetResourceCollectionWithContext(ctx aws.Context, input *GetResourceCollectionInput, opts ...request.Option) (*GetResourceCollectionOutput, error) {
  1117  	req, out := c.GetResourceCollectionRequest(input)
  1118  	req.SetContext(ctx)
  1119  	req.ApplyOptions(opts...)
  1120  	return out, req.Send()
  1121  }
  1122  
  1123  // GetResourceCollectionPages iterates over the pages of a GetResourceCollection operation,
  1124  // calling the "fn" function with the response data for each page. To stop
  1125  // iterating, return false from the fn function.
  1126  //
  1127  // See GetResourceCollection method for more information on how to use this operation.
  1128  //
  1129  // Note: This operation can generate multiple requests to a service.
  1130  //
  1131  //    // Example iterating over at most 3 pages of a GetResourceCollection operation.
  1132  //    pageNum := 0
  1133  //    err := client.GetResourceCollectionPages(params,
  1134  //        func(page *devopsguru.GetResourceCollectionOutput, lastPage bool) bool {
  1135  //            pageNum++
  1136  //            fmt.Println(page)
  1137  //            return pageNum <= 3
  1138  //        })
  1139  //
  1140  func (c *DevOpsGuru) GetResourceCollectionPages(input *GetResourceCollectionInput, fn func(*GetResourceCollectionOutput, bool) bool) error {
  1141  	return c.GetResourceCollectionPagesWithContext(aws.BackgroundContext(), input, fn)
  1142  }
  1143  
  1144  // GetResourceCollectionPagesWithContext same as GetResourceCollectionPages except
  1145  // it takes a Context and allows setting request options on the pages.
  1146  //
  1147  // The context must be non-nil and will be used for request cancellation. If
  1148  // the context is nil a panic will occur. In the future the SDK may create
  1149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1150  // for more information on using Contexts.
  1151  func (c *DevOpsGuru) GetResourceCollectionPagesWithContext(ctx aws.Context, input *GetResourceCollectionInput, fn func(*GetResourceCollectionOutput, bool) bool, opts ...request.Option) error {
  1152  	p := request.Pagination{
  1153  		NewRequest: func() (*request.Request, error) {
  1154  			var inCpy *GetResourceCollectionInput
  1155  			if input != nil {
  1156  				tmp := *input
  1157  				inCpy = &tmp
  1158  			}
  1159  			req, _ := c.GetResourceCollectionRequest(inCpy)
  1160  			req.SetContext(ctx)
  1161  			req.ApplyOptions(opts...)
  1162  			return req, nil
  1163  		},
  1164  	}
  1165  
  1166  	for p.Next() {
  1167  		if !fn(p.Page().(*GetResourceCollectionOutput), !p.HasNextPage()) {
  1168  			break
  1169  		}
  1170  	}
  1171  
  1172  	return p.Err()
  1173  }
  1174  
  1175  const opListAnomaliesForInsight = "ListAnomaliesForInsight"
  1176  
  1177  // ListAnomaliesForInsightRequest generates a "aws/request.Request" representing the
  1178  // client's request for the ListAnomaliesForInsight operation. The "output" return
  1179  // value will be populated with the request's response once the request completes
  1180  // successfully.
  1181  //
  1182  // Use "Send" method on the returned Request to send the API call to the service.
  1183  // the "output" return value is not valid until after Send returns without error.
  1184  //
  1185  // See ListAnomaliesForInsight for more information on using the ListAnomaliesForInsight
  1186  // API call, and error handling.
  1187  //
  1188  // This method is useful when you want to inject custom logic or configuration
  1189  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1190  //
  1191  //
  1192  //    // Example sending a request using the ListAnomaliesForInsightRequest method.
  1193  //    req, resp := client.ListAnomaliesForInsightRequest(params)
  1194  //
  1195  //    err := req.Send()
  1196  //    if err == nil { // resp is now filled
  1197  //        fmt.Println(resp)
  1198  //    }
  1199  //
  1200  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomaliesForInsight
  1201  func (c *DevOpsGuru) ListAnomaliesForInsightRequest(input *ListAnomaliesForInsightInput) (req *request.Request, output *ListAnomaliesForInsightOutput) {
  1202  	op := &request.Operation{
  1203  		Name:       opListAnomaliesForInsight,
  1204  		HTTPMethod: "POST",
  1205  		HTTPPath:   "/anomalies/insight/{InsightId}",
  1206  		Paginator: &request.Paginator{
  1207  			InputTokens:     []string{"NextToken"},
  1208  			OutputTokens:    []string{"NextToken"},
  1209  			LimitToken:      "MaxResults",
  1210  			TruncationToken: "",
  1211  		},
  1212  	}
  1213  
  1214  	if input == nil {
  1215  		input = &ListAnomaliesForInsightInput{}
  1216  	}
  1217  
  1218  	output = &ListAnomaliesForInsightOutput{}
  1219  	req = c.newRequest(op, input, output)
  1220  	return
  1221  }
  1222  
  1223  // ListAnomaliesForInsight API operation for Amazon DevOps Guru.
  1224  //
  1225  // Returns a list of the anomalies that belong to an insight that you specify
  1226  // using its ID.
  1227  //
  1228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1229  // with awserr.Error's Code and Message methods to get detailed information about
  1230  // the error.
  1231  //
  1232  // See the AWS API reference guide for Amazon DevOps Guru's
  1233  // API operation ListAnomaliesForInsight for usage and error information.
  1234  //
  1235  // Returned Error Types:
  1236  //   * AccessDeniedException
  1237  //   You don't have permissions to perform the requested operation. The user or
  1238  //   role that is making the request must have at least one IAM permissions policy
  1239  //   attached that grants the required permissions. For more information, see
  1240  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1241  //   in the IAM User Guide.
  1242  //
  1243  //   * InternalServerException
  1244  //   An internal failure in an Amazon service occurred.
  1245  //
  1246  //   * ResourceNotFoundException
  1247  //   A requested resource could not be found
  1248  //
  1249  //   * ThrottlingException
  1250  //   The request was denied due to a request throttling.
  1251  //
  1252  //   * ValidationException
  1253  //   Contains information about data passed in to a field during a request that
  1254  //   is not valid.
  1255  //
  1256  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListAnomaliesForInsight
  1257  func (c *DevOpsGuru) ListAnomaliesForInsight(input *ListAnomaliesForInsightInput) (*ListAnomaliesForInsightOutput, error) {
  1258  	req, out := c.ListAnomaliesForInsightRequest(input)
  1259  	return out, req.Send()
  1260  }
  1261  
  1262  // ListAnomaliesForInsightWithContext is the same as ListAnomaliesForInsight with the addition of
  1263  // the ability to pass a context and additional request options.
  1264  //
  1265  // See ListAnomaliesForInsight for details on how to use this API operation.
  1266  //
  1267  // The context must be non-nil and will be used for request cancellation. If
  1268  // the context is nil a panic will occur. In the future the SDK may create
  1269  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1270  // for more information on using Contexts.
  1271  func (c *DevOpsGuru) ListAnomaliesForInsightWithContext(ctx aws.Context, input *ListAnomaliesForInsightInput, opts ...request.Option) (*ListAnomaliesForInsightOutput, error) {
  1272  	req, out := c.ListAnomaliesForInsightRequest(input)
  1273  	req.SetContext(ctx)
  1274  	req.ApplyOptions(opts...)
  1275  	return out, req.Send()
  1276  }
  1277  
  1278  // ListAnomaliesForInsightPages iterates over the pages of a ListAnomaliesForInsight operation,
  1279  // calling the "fn" function with the response data for each page. To stop
  1280  // iterating, return false from the fn function.
  1281  //
  1282  // See ListAnomaliesForInsight method for more information on how to use this operation.
  1283  //
  1284  // Note: This operation can generate multiple requests to a service.
  1285  //
  1286  //    // Example iterating over at most 3 pages of a ListAnomaliesForInsight operation.
  1287  //    pageNum := 0
  1288  //    err := client.ListAnomaliesForInsightPages(params,
  1289  //        func(page *devopsguru.ListAnomaliesForInsightOutput, lastPage bool) bool {
  1290  //            pageNum++
  1291  //            fmt.Println(page)
  1292  //            return pageNum <= 3
  1293  //        })
  1294  //
  1295  func (c *DevOpsGuru) ListAnomaliesForInsightPages(input *ListAnomaliesForInsightInput, fn func(*ListAnomaliesForInsightOutput, bool) bool) error {
  1296  	return c.ListAnomaliesForInsightPagesWithContext(aws.BackgroundContext(), input, fn)
  1297  }
  1298  
  1299  // ListAnomaliesForInsightPagesWithContext same as ListAnomaliesForInsightPages except
  1300  // it takes a Context and allows setting request options on the pages.
  1301  //
  1302  // The context must be non-nil and will be used for request cancellation. If
  1303  // the context is nil a panic will occur. In the future the SDK may create
  1304  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1305  // for more information on using Contexts.
  1306  func (c *DevOpsGuru) ListAnomaliesForInsightPagesWithContext(ctx aws.Context, input *ListAnomaliesForInsightInput, fn func(*ListAnomaliesForInsightOutput, bool) bool, opts ...request.Option) error {
  1307  	p := request.Pagination{
  1308  		NewRequest: func() (*request.Request, error) {
  1309  			var inCpy *ListAnomaliesForInsightInput
  1310  			if input != nil {
  1311  				tmp := *input
  1312  				inCpy = &tmp
  1313  			}
  1314  			req, _ := c.ListAnomaliesForInsightRequest(inCpy)
  1315  			req.SetContext(ctx)
  1316  			req.ApplyOptions(opts...)
  1317  			return req, nil
  1318  		},
  1319  	}
  1320  
  1321  	for p.Next() {
  1322  		if !fn(p.Page().(*ListAnomaliesForInsightOutput), !p.HasNextPage()) {
  1323  			break
  1324  		}
  1325  	}
  1326  
  1327  	return p.Err()
  1328  }
  1329  
  1330  const opListEvents = "ListEvents"
  1331  
  1332  // ListEventsRequest generates a "aws/request.Request" representing the
  1333  // client's request for the ListEvents operation. The "output" return
  1334  // value will be populated with the request's response once the request completes
  1335  // successfully.
  1336  //
  1337  // Use "Send" method on the returned Request to send the API call to the service.
  1338  // the "output" return value is not valid until after Send returns without error.
  1339  //
  1340  // See ListEvents for more information on using the ListEvents
  1341  // API call, and error handling.
  1342  //
  1343  // This method is useful when you want to inject custom logic or configuration
  1344  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1345  //
  1346  //
  1347  //    // Example sending a request using the ListEventsRequest method.
  1348  //    req, resp := client.ListEventsRequest(params)
  1349  //
  1350  //    err := req.Send()
  1351  //    if err == nil { // resp is now filled
  1352  //        fmt.Println(resp)
  1353  //    }
  1354  //
  1355  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListEvents
  1356  func (c *DevOpsGuru) ListEventsRequest(input *ListEventsInput) (req *request.Request, output *ListEventsOutput) {
  1357  	op := &request.Operation{
  1358  		Name:       opListEvents,
  1359  		HTTPMethod: "POST",
  1360  		HTTPPath:   "/events",
  1361  		Paginator: &request.Paginator{
  1362  			InputTokens:     []string{"NextToken"},
  1363  			OutputTokens:    []string{"NextToken"},
  1364  			LimitToken:      "MaxResults",
  1365  			TruncationToken: "",
  1366  		},
  1367  	}
  1368  
  1369  	if input == nil {
  1370  		input = &ListEventsInput{}
  1371  	}
  1372  
  1373  	output = &ListEventsOutput{}
  1374  	req = c.newRequest(op, input, output)
  1375  	return
  1376  }
  1377  
  1378  // ListEvents API operation for Amazon DevOps Guru.
  1379  //
  1380  // Returns a list of the events emitted by the resources that are evaluated
  1381  // by DevOps Guru. You can use filters to specify which events are returned.
  1382  //
  1383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1384  // with awserr.Error's Code and Message methods to get detailed information about
  1385  // the error.
  1386  //
  1387  // See the AWS API reference guide for Amazon DevOps Guru's
  1388  // API operation ListEvents for usage and error information.
  1389  //
  1390  // Returned Error Types:
  1391  //   * AccessDeniedException
  1392  //   You don't have permissions to perform the requested operation. The user or
  1393  //   role that is making the request must have at least one IAM permissions policy
  1394  //   attached that grants the required permissions. For more information, see
  1395  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1396  //   in the IAM User Guide.
  1397  //
  1398  //   * InternalServerException
  1399  //   An internal failure in an Amazon service occurred.
  1400  //
  1401  //   * ResourceNotFoundException
  1402  //   A requested resource could not be found
  1403  //
  1404  //   * ThrottlingException
  1405  //   The request was denied due to a request throttling.
  1406  //
  1407  //   * ValidationException
  1408  //   Contains information about data passed in to a field during a request that
  1409  //   is not valid.
  1410  //
  1411  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListEvents
  1412  func (c *DevOpsGuru) ListEvents(input *ListEventsInput) (*ListEventsOutput, error) {
  1413  	req, out := c.ListEventsRequest(input)
  1414  	return out, req.Send()
  1415  }
  1416  
  1417  // ListEventsWithContext is the same as ListEvents with the addition of
  1418  // the ability to pass a context and additional request options.
  1419  //
  1420  // See ListEvents for details on how to use this API operation.
  1421  //
  1422  // The context must be non-nil and will be used for request cancellation. If
  1423  // the context is nil a panic will occur. In the future the SDK may create
  1424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1425  // for more information on using Contexts.
  1426  func (c *DevOpsGuru) ListEventsWithContext(ctx aws.Context, input *ListEventsInput, opts ...request.Option) (*ListEventsOutput, error) {
  1427  	req, out := c.ListEventsRequest(input)
  1428  	req.SetContext(ctx)
  1429  	req.ApplyOptions(opts...)
  1430  	return out, req.Send()
  1431  }
  1432  
  1433  // ListEventsPages iterates over the pages of a ListEvents operation,
  1434  // calling the "fn" function with the response data for each page. To stop
  1435  // iterating, return false from the fn function.
  1436  //
  1437  // See ListEvents method for more information on how to use this operation.
  1438  //
  1439  // Note: This operation can generate multiple requests to a service.
  1440  //
  1441  //    // Example iterating over at most 3 pages of a ListEvents operation.
  1442  //    pageNum := 0
  1443  //    err := client.ListEventsPages(params,
  1444  //        func(page *devopsguru.ListEventsOutput, lastPage bool) bool {
  1445  //            pageNum++
  1446  //            fmt.Println(page)
  1447  //            return pageNum <= 3
  1448  //        })
  1449  //
  1450  func (c *DevOpsGuru) ListEventsPages(input *ListEventsInput, fn func(*ListEventsOutput, bool) bool) error {
  1451  	return c.ListEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  1452  }
  1453  
  1454  // ListEventsPagesWithContext same as ListEventsPages except
  1455  // it takes a Context and allows setting request options on the pages.
  1456  //
  1457  // The context must be non-nil and will be used for request cancellation. If
  1458  // the context is nil a panic will occur. In the future the SDK may create
  1459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1460  // for more information on using Contexts.
  1461  func (c *DevOpsGuru) ListEventsPagesWithContext(ctx aws.Context, input *ListEventsInput, fn func(*ListEventsOutput, bool) bool, opts ...request.Option) error {
  1462  	p := request.Pagination{
  1463  		NewRequest: func() (*request.Request, error) {
  1464  			var inCpy *ListEventsInput
  1465  			if input != nil {
  1466  				tmp := *input
  1467  				inCpy = &tmp
  1468  			}
  1469  			req, _ := c.ListEventsRequest(inCpy)
  1470  			req.SetContext(ctx)
  1471  			req.ApplyOptions(opts...)
  1472  			return req, nil
  1473  		},
  1474  	}
  1475  
  1476  	for p.Next() {
  1477  		if !fn(p.Page().(*ListEventsOutput), !p.HasNextPage()) {
  1478  			break
  1479  		}
  1480  	}
  1481  
  1482  	return p.Err()
  1483  }
  1484  
  1485  const opListInsights = "ListInsights"
  1486  
  1487  // ListInsightsRequest generates a "aws/request.Request" representing the
  1488  // client's request for the ListInsights operation. The "output" return
  1489  // value will be populated with the request's response once the request completes
  1490  // successfully.
  1491  //
  1492  // Use "Send" method on the returned Request to send the API call to the service.
  1493  // the "output" return value is not valid until after Send returns without error.
  1494  //
  1495  // See ListInsights for more information on using the ListInsights
  1496  // API call, and error handling.
  1497  //
  1498  // This method is useful when you want to inject custom logic or configuration
  1499  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1500  //
  1501  //
  1502  //    // Example sending a request using the ListInsightsRequest method.
  1503  //    req, resp := client.ListInsightsRequest(params)
  1504  //
  1505  //    err := req.Send()
  1506  //    if err == nil { // resp is now filled
  1507  //        fmt.Println(resp)
  1508  //    }
  1509  //
  1510  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListInsights
  1511  func (c *DevOpsGuru) ListInsightsRequest(input *ListInsightsInput) (req *request.Request, output *ListInsightsOutput) {
  1512  	op := &request.Operation{
  1513  		Name:       opListInsights,
  1514  		HTTPMethod: "POST",
  1515  		HTTPPath:   "/insights",
  1516  		Paginator: &request.Paginator{
  1517  			InputTokens:     []string{"NextToken"},
  1518  			OutputTokens:    []string{"NextToken"},
  1519  			LimitToken:      "MaxResults",
  1520  			TruncationToken: "",
  1521  		},
  1522  	}
  1523  
  1524  	if input == nil {
  1525  		input = &ListInsightsInput{}
  1526  	}
  1527  
  1528  	output = &ListInsightsOutput{}
  1529  	req = c.newRequest(op, input, output)
  1530  	return
  1531  }
  1532  
  1533  // ListInsights API operation for Amazon DevOps Guru.
  1534  //
  1535  // Returns a list of insights in your AWS account. You can specify which insights
  1536  // are returned by their start time and status (ONGOING, CLOSED, or ANY).
  1537  //
  1538  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1539  // with awserr.Error's Code and Message methods to get detailed information about
  1540  // the error.
  1541  //
  1542  // See the AWS API reference guide for Amazon DevOps Guru's
  1543  // API operation ListInsights for usage and error information.
  1544  //
  1545  // Returned Error Types:
  1546  //   * AccessDeniedException
  1547  //   You don't have permissions to perform the requested operation. The user or
  1548  //   role that is making the request must have at least one IAM permissions policy
  1549  //   attached that grants the required permissions. For more information, see
  1550  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1551  //   in the IAM User Guide.
  1552  //
  1553  //   * InternalServerException
  1554  //   An internal failure in an Amazon service occurred.
  1555  //
  1556  //   * ThrottlingException
  1557  //   The request was denied due to a request throttling.
  1558  //
  1559  //   * ValidationException
  1560  //   Contains information about data passed in to a field during a request that
  1561  //   is not valid.
  1562  //
  1563  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListInsights
  1564  func (c *DevOpsGuru) ListInsights(input *ListInsightsInput) (*ListInsightsOutput, error) {
  1565  	req, out := c.ListInsightsRequest(input)
  1566  	return out, req.Send()
  1567  }
  1568  
  1569  // ListInsightsWithContext is the same as ListInsights with the addition of
  1570  // the ability to pass a context and additional request options.
  1571  //
  1572  // See ListInsights for details on how to use this API operation.
  1573  //
  1574  // The context must be non-nil and will be used for request cancellation. If
  1575  // the context is nil a panic will occur. In the future the SDK may create
  1576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1577  // for more information on using Contexts.
  1578  func (c *DevOpsGuru) ListInsightsWithContext(ctx aws.Context, input *ListInsightsInput, opts ...request.Option) (*ListInsightsOutput, error) {
  1579  	req, out := c.ListInsightsRequest(input)
  1580  	req.SetContext(ctx)
  1581  	req.ApplyOptions(opts...)
  1582  	return out, req.Send()
  1583  }
  1584  
  1585  // ListInsightsPages iterates over the pages of a ListInsights operation,
  1586  // calling the "fn" function with the response data for each page. To stop
  1587  // iterating, return false from the fn function.
  1588  //
  1589  // See ListInsights method for more information on how to use this operation.
  1590  //
  1591  // Note: This operation can generate multiple requests to a service.
  1592  //
  1593  //    // Example iterating over at most 3 pages of a ListInsights operation.
  1594  //    pageNum := 0
  1595  //    err := client.ListInsightsPages(params,
  1596  //        func(page *devopsguru.ListInsightsOutput, lastPage bool) bool {
  1597  //            pageNum++
  1598  //            fmt.Println(page)
  1599  //            return pageNum <= 3
  1600  //        })
  1601  //
  1602  func (c *DevOpsGuru) ListInsightsPages(input *ListInsightsInput, fn func(*ListInsightsOutput, bool) bool) error {
  1603  	return c.ListInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
  1604  }
  1605  
  1606  // ListInsightsPagesWithContext same as ListInsightsPages except
  1607  // it takes a Context and allows setting request options on the pages.
  1608  //
  1609  // The context must be non-nil and will be used for request cancellation. If
  1610  // the context is nil a panic will occur. In the future the SDK may create
  1611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1612  // for more information on using Contexts.
  1613  func (c *DevOpsGuru) ListInsightsPagesWithContext(ctx aws.Context, input *ListInsightsInput, fn func(*ListInsightsOutput, bool) bool, opts ...request.Option) error {
  1614  	p := request.Pagination{
  1615  		NewRequest: func() (*request.Request, error) {
  1616  			var inCpy *ListInsightsInput
  1617  			if input != nil {
  1618  				tmp := *input
  1619  				inCpy = &tmp
  1620  			}
  1621  			req, _ := c.ListInsightsRequest(inCpy)
  1622  			req.SetContext(ctx)
  1623  			req.ApplyOptions(opts...)
  1624  			return req, nil
  1625  		},
  1626  	}
  1627  
  1628  	for p.Next() {
  1629  		if !fn(p.Page().(*ListInsightsOutput), !p.HasNextPage()) {
  1630  			break
  1631  		}
  1632  	}
  1633  
  1634  	return p.Err()
  1635  }
  1636  
  1637  const opListNotificationChannels = "ListNotificationChannels"
  1638  
  1639  // ListNotificationChannelsRequest generates a "aws/request.Request" representing the
  1640  // client's request for the ListNotificationChannels operation. The "output" return
  1641  // value will be populated with the request's response once the request completes
  1642  // successfully.
  1643  //
  1644  // Use "Send" method on the returned Request to send the API call to the service.
  1645  // the "output" return value is not valid until after Send returns without error.
  1646  //
  1647  // See ListNotificationChannels for more information on using the ListNotificationChannels
  1648  // API call, and error handling.
  1649  //
  1650  // This method is useful when you want to inject custom logic or configuration
  1651  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1652  //
  1653  //
  1654  //    // Example sending a request using the ListNotificationChannelsRequest method.
  1655  //    req, resp := client.ListNotificationChannelsRequest(params)
  1656  //
  1657  //    err := req.Send()
  1658  //    if err == nil { // resp is now filled
  1659  //        fmt.Println(resp)
  1660  //    }
  1661  //
  1662  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListNotificationChannels
  1663  func (c *DevOpsGuru) ListNotificationChannelsRequest(input *ListNotificationChannelsInput) (req *request.Request, output *ListNotificationChannelsOutput) {
  1664  	op := &request.Operation{
  1665  		Name:       opListNotificationChannels,
  1666  		HTTPMethod: "POST",
  1667  		HTTPPath:   "/channels",
  1668  		Paginator: &request.Paginator{
  1669  			InputTokens:     []string{"NextToken"},
  1670  			OutputTokens:    []string{"NextToken"},
  1671  			LimitToken:      "",
  1672  			TruncationToken: "",
  1673  		},
  1674  	}
  1675  
  1676  	if input == nil {
  1677  		input = &ListNotificationChannelsInput{}
  1678  	}
  1679  
  1680  	output = &ListNotificationChannelsOutput{}
  1681  	req = c.newRequest(op, input, output)
  1682  	return
  1683  }
  1684  
  1685  // ListNotificationChannels API operation for Amazon DevOps Guru.
  1686  //
  1687  // Returns a list of notification channels configured for DevOps Guru. Each
  1688  // notification channel is used to notify you when DevOps Guru generates an
  1689  // insight that contains information about how to improve your operations. The
  1690  // one supported notification channel is Amazon Simple Notification Service
  1691  // (Amazon SNS).
  1692  //
  1693  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1694  // with awserr.Error's Code and Message methods to get detailed information about
  1695  // the error.
  1696  //
  1697  // See the AWS API reference guide for Amazon DevOps Guru's
  1698  // API operation ListNotificationChannels for usage and error information.
  1699  //
  1700  // Returned Error Types:
  1701  //   * AccessDeniedException
  1702  //   You don't have permissions to perform the requested operation. The user or
  1703  //   role that is making the request must have at least one IAM permissions policy
  1704  //   attached that grants the required permissions. For more information, see
  1705  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1706  //   in the IAM User Guide.
  1707  //
  1708  //   * InternalServerException
  1709  //   An internal failure in an Amazon service occurred.
  1710  //
  1711  //   * ThrottlingException
  1712  //   The request was denied due to a request throttling.
  1713  //
  1714  //   * ValidationException
  1715  //   Contains information about data passed in to a field during a request that
  1716  //   is not valid.
  1717  //
  1718  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListNotificationChannels
  1719  func (c *DevOpsGuru) ListNotificationChannels(input *ListNotificationChannelsInput) (*ListNotificationChannelsOutput, error) {
  1720  	req, out := c.ListNotificationChannelsRequest(input)
  1721  	return out, req.Send()
  1722  }
  1723  
  1724  // ListNotificationChannelsWithContext is the same as ListNotificationChannels with the addition of
  1725  // the ability to pass a context and additional request options.
  1726  //
  1727  // See ListNotificationChannels for details on how to use this API operation.
  1728  //
  1729  // The context must be non-nil and will be used for request cancellation. If
  1730  // the context is nil a panic will occur. In the future the SDK may create
  1731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1732  // for more information on using Contexts.
  1733  func (c *DevOpsGuru) ListNotificationChannelsWithContext(ctx aws.Context, input *ListNotificationChannelsInput, opts ...request.Option) (*ListNotificationChannelsOutput, error) {
  1734  	req, out := c.ListNotificationChannelsRequest(input)
  1735  	req.SetContext(ctx)
  1736  	req.ApplyOptions(opts...)
  1737  	return out, req.Send()
  1738  }
  1739  
  1740  // ListNotificationChannelsPages iterates over the pages of a ListNotificationChannels operation,
  1741  // calling the "fn" function with the response data for each page. To stop
  1742  // iterating, return false from the fn function.
  1743  //
  1744  // See ListNotificationChannels method for more information on how to use this operation.
  1745  //
  1746  // Note: This operation can generate multiple requests to a service.
  1747  //
  1748  //    // Example iterating over at most 3 pages of a ListNotificationChannels operation.
  1749  //    pageNum := 0
  1750  //    err := client.ListNotificationChannelsPages(params,
  1751  //        func(page *devopsguru.ListNotificationChannelsOutput, lastPage bool) bool {
  1752  //            pageNum++
  1753  //            fmt.Println(page)
  1754  //            return pageNum <= 3
  1755  //        })
  1756  //
  1757  func (c *DevOpsGuru) ListNotificationChannelsPages(input *ListNotificationChannelsInput, fn func(*ListNotificationChannelsOutput, bool) bool) error {
  1758  	return c.ListNotificationChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
  1759  }
  1760  
  1761  // ListNotificationChannelsPagesWithContext same as ListNotificationChannelsPages except
  1762  // it takes a Context and allows setting request options on the pages.
  1763  //
  1764  // The context must be non-nil and will be used for request cancellation. If
  1765  // the context is nil a panic will occur. In the future the SDK may create
  1766  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1767  // for more information on using Contexts.
  1768  func (c *DevOpsGuru) ListNotificationChannelsPagesWithContext(ctx aws.Context, input *ListNotificationChannelsInput, fn func(*ListNotificationChannelsOutput, bool) bool, opts ...request.Option) error {
  1769  	p := request.Pagination{
  1770  		NewRequest: func() (*request.Request, error) {
  1771  			var inCpy *ListNotificationChannelsInput
  1772  			if input != nil {
  1773  				tmp := *input
  1774  				inCpy = &tmp
  1775  			}
  1776  			req, _ := c.ListNotificationChannelsRequest(inCpy)
  1777  			req.SetContext(ctx)
  1778  			req.ApplyOptions(opts...)
  1779  			return req, nil
  1780  		},
  1781  	}
  1782  
  1783  	for p.Next() {
  1784  		if !fn(p.Page().(*ListNotificationChannelsOutput), !p.HasNextPage()) {
  1785  			break
  1786  		}
  1787  	}
  1788  
  1789  	return p.Err()
  1790  }
  1791  
  1792  const opListRecommendations = "ListRecommendations"
  1793  
  1794  // ListRecommendationsRequest generates a "aws/request.Request" representing the
  1795  // client's request for the ListRecommendations operation. The "output" return
  1796  // value will be populated with the request's response once the request completes
  1797  // successfully.
  1798  //
  1799  // Use "Send" method on the returned Request to send the API call to the service.
  1800  // the "output" return value is not valid until after Send returns without error.
  1801  //
  1802  // See ListRecommendations for more information on using the ListRecommendations
  1803  // API call, and error handling.
  1804  //
  1805  // This method is useful when you want to inject custom logic or configuration
  1806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1807  //
  1808  //
  1809  //    // Example sending a request using the ListRecommendationsRequest method.
  1810  //    req, resp := client.ListRecommendationsRequest(params)
  1811  //
  1812  //    err := req.Send()
  1813  //    if err == nil { // resp is now filled
  1814  //        fmt.Println(resp)
  1815  //    }
  1816  //
  1817  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListRecommendations
  1818  func (c *DevOpsGuru) ListRecommendationsRequest(input *ListRecommendationsInput) (req *request.Request, output *ListRecommendationsOutput) {
  1819  	op := &request.Operation{
  1820  		Name:       opListRecommendations,
  1821  		HTTPMethod: "POST",
  1822  		HTTPPath:   "/recommendations",
  1823  		Paginator: &request.Paginator{
  1824  			InputTokens:     []string{"NextToken"},
  1825  			OutputTokens:    []string{"NextToken"},
  1826  			LimitToken:      "",
  1827  			TruncationToken: "",
  1828  		},
  1829  	}
  1830  
  1831  	if input == nil {
  1832  		input = &ListRecommendationsInput{}
  1833  	}
  1834  
  1835  	output = &ListRecommendationsOutput{}
  1836  	req = c.newRequest(op, input, output)
  1837  	return
  1838  }
  1839  
  1840  // ListRecommendations API operation for Amazon DevOps Guru.
  1841  //
  1842  // Returns a list of a specified insight's recommendations. Each recommendation
  1843  // includes a list of related metrics and a list of related events.
  1844  //
  1845  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1846  // with awserr.Error's Code and Message methods to get detailed information about
  1847  // the error.
  1848  //
  1849  // See the AWS API reference guide for Amazon DevOps Guru's
  1850  // API operation ListRecommendations for usage and error information.
  1851  //
  1852  // Returned Error Types:
  1853  //   * AccessDeniedException
  1854  //   You don't have permissions to perform the requested operation. The user or
  1855  //   role that is making the request must have at least one IAM permissions policy
  1856  //   attached that grants the required permissions. For more information, see
  1857  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  1858  //   in the IAM User Guide.
  1859  //
  1860  //   * InternalServerException
  1861  //   An internal failure in an Amazon service occurred.
  1862  //
  1863  //   * ResourceNotFoundException
  1864  //   A requested resource could not be found
  1865  //
  1866  //   * ThrottlingException
  1867  //   The request was denied due to a request throttling.
  1868  //
  1869  //   * ValidationException
  1870  //   Contains information about data passed in to a field during a request that
  1871  //   is not valid.
  1872  //
  1873  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/ListRecommendations
  1874  func (c *DevOpsGuru) ListRecommendations(input *ListRecommendationsInput) (*ListRecommendationsOutput, error) {
  1875  	req, out := c.ListRecommendationsRequest(input)
  1876  	return out, req.Send()
  1877  }
  1878  
  1879  // ListRecommendationsWithContext is the same as ListRecommendations with the addition of
  1880  // the ability to pass a context and additional request options.
  1881  //
  1882  // See ListRecommendations for details on how to use this API operation.
  1883  //
  1884  // The context must be non-nil and will be used for request cancellation. If
  1885  // the context is nil a panic will occur. In the future the SDK may create
  1886  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1887  // for more information on using Contexts.
  1888  func (c *DevOpsGuru) ListRecommendationsWithContext(ctx aws.Context, input *ListRecommendationsInput, opts ...request.Option) (*ListRecommendationsOutput, error) {
  1889  	req, out := c.ListRecommendationsRequest(input)
  1890  	req.SetContext(ctx)
  1891  	req.ApplyOptions(opts...)
  1892  	return out, req.Send()
  1893  }
  1894  
  1895  // ListRecommendationsPages iterates over the pages of a ListRecommendations operation,
  1896  // calling the "fn" function with the response data for each page. To stop
  1897  // iterating, return false from the fn function.
  1898  //
  1899  // See ListRecommendations method for more information on how to use this operation.
  1900  //
  1901  // Note: This operation can generate multiple requests to a service.
  1902  //
  1903  //    // Example iterating over at most 3 pages of a ListRecommendations operation.
  1904  //    pageNum := 0
  1905  //    err := client.ListRecommendationsPages(params,
  1906  //        func(page *devopsguru.ListRecommendationsOutput, lastPage bool) bool {
  1907  //            pageNum++
  1908  //            fmt.Println(page)
  1909  //            return pageNum <= 3
  1910  //        })
  1911  //
  1912  func (c *DevOpsGuru) ListRecommendationsPages(input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool) error {
  1913  	return c.ListRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1914  }
  1915  
  1916  // ListRecommendationsPagesWithContext same as ListRecommendationsPages except
  1917  // it takes a Context and allows setting request options on the pages.
  1918  //
  1919  // The context must be non-nil and will be used for request cancellation. If
  1920  // the context is nil a panic will occur. In the future the SDK may create
  1921  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1922  // for more information on using Contexts.
  1923  func (c *DevOpsGuru) ListRecommendationsPagesWithContext(ctx aws.Context, input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool, opts ...request.Option) error {
  1924  	p := request.Pagination{
  1925  		NewRequest: func() (*request.Request, error) {
  1926  			var inCpy *ListRecommendationsInput
  1927  			if input != nil {
  1928  				tmp := *input
  1929  				inCpy = &tmp
  1930  			}
  1931  			req, _ := c.ListRecommendationsRequest(inCpy)
  1932  			req.SetContext(ctx)
  1933  			req.ApplyOptions(opts...)
  1934  			return req, nil
  1935  		},
  1936  	}
  1937  
  1938  	for p.Next() {
  1939  		if !fn(p.Page().(*ListRecommendationsOutput), !p.HasNextPage()) {
  1940  			break
  1941  		}
  1942  	}
  1943  
  1944  	return p.Err()
  1945  }
  1946  
  1947  const opPutFeedback = "PutFeedback"
  1948  
  1949  // PutFeedbackRequest generates a "aws/request.Request" representing the
  1950  // client's request for the PutFeedback operation. The "output" return
  1951  // value will be populated with the request's response once the request completes
  1952  // successfully.
  1953  //
  1954  // Use "Send" method on the returned Request to send the API call to the service.
  1955  // the "output" return value is not valid until after Send returns without error.
  1956  //
  1957  // See PutFeedback for more information on using the PutFeedback
  1958  // API call, and error handling.
  1959  //
  1960  // This method is useful when you want to inject custom logic or configuration
  1961  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1962  //
  1963  //
  1964  //    // Example sending a request using the PutFeedbackRequest method.
  1965  //    req, resp := client.PutFeedbackRequest(params)
  1966  //
  1967  //    err := req.Send()
  1968  //    if err == nil { // resp is now filled
  1969  //        fmt.Println(resp)
  1970  //    }
  1971  //
  1972  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/PutFeedback
  1973  func (c *DevOpsGuru) PutFeedbackRequest(input *PutFeedbackInput) (req *request.Request, output *PutFeedbackOutput) {
  1974  	op := &request.Operation{
  1975  		Name:       opPutFeedback,
  1976  		HTTPMethod: "PUT",
  1977  		HTTPPath:   "/feedback",
  1978  	}
  1979  
  1980  	if input == nil {
  1981  		input = &PutFeedbackInput{}
  1982  	}
  1983  
  1984  	output = &PutFeedbackOutput{}
  1985  	req = c.newRequest(op, input, output)
  1986  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1987  	return
  1988  }
  1989  
  1990  // PutFeedback API operation for Amazon DevOps Guru.
  1991  //
  1992  // Collects customer feedback about the specified insight.
  1993  //
  1994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1995  // with awserr.Error's Code and Message methods to get detailed information about
  1996  // the error.
  1997  //
  1998  // See the AWS API reference guide for Amazon DevOps Guru's
  1999  // API operation PutFeedback for usage and error information.
  2000  //
  2001  // Returned Error Types:
  2002  //   * AccessDeniedException
  2003  //   You don't have permissions to perform the requested operation. The user or
  2004  //   role that is making the request must have at least one IAM permissions policy
  2005  //   attached that grants the required permissions. For more information, see
  2006  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2007  //   in the IAM User Guide.
  2008  //
  2009  //   * ConflictException
  2010  //   An exception that is thrown when a conflict occurs.
  2011  //
  2012  //   * InternalServerException
  2013  //   An internal failure in an Amazon service occurred.
  2014  //
  2015  //   * ResourceNotFoundException
  2016  //   A requested resource could not be found
  2017  //
  2018  //   * ThrottlingException
  2019  //   The request was denied due to a request throttling.
  2020  //
  2021  //   * ValidationException
  2022  //   Contains information about data passed in to a field during a request that
  2023  //   is not valid.
  2024  //
  2025  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/PutFeedback
  2026  func (c *DevOpsGuru) PutFeedback(input *PutFeedbackInput) (*PutFeedbackOutput, error) {
  2027  	req, out := c.PutFeedbackRequest(input)
  2028  	return out, req.Send()
  2029  }
  2030  
  2031  // PutFeedbackWithContext is the same as PutFeedback with the addition of
  2032  // the ability to pass a context and additional request options.
  2033  //
  2034  // See PutFeedback for details on how to use this API operation.
  2035  //
  2036  // The context must be non-nil and will be used for request cancellation. If
  2037  // the context is nil a panic will occur. In the future the SDK may create
  2038  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2039  // for more information on using Contexts.
  2040  func (c *DevOpsGuru) PutFeedbackWithContext(ctx aws.Context, input *PutFeedbackInput, opts ...request.Option) (*PutFeedbackOutput, error) {
  2041  	req, out := c.PutFeedbackRequest(input)
  2042  	req.SetContext(ctx)
  2043  	req.ApplyOptions(opts...)
  2044  	return out, req.Send()
  2045  }
  2046  
  2047  const opRemoveNotificationChannel = "RemoveNotificationChannel"
  2048  
  2049  // RemoveNotificationChannelRequest generates a "aws/request.Request" representing the
  2050  // client's request for the RemoveNotificationChannel operation. The "output" return
  2051  // value will be populated with the request's response once the request completes
  2052  // successfully.
  2053  //
  2054  // Use "Send" method on the returned Request to send the API call to the service.
  2055  // the "output" return value is not valid until after Send returns without error.
  2056  //
  2057  // See RemoveNotificationChannel for more information on using the RemoveNotificationChannel
  2058  // API call, and error handling.
  2059  //
  2060  // This method is useful when you want to inject custom logic or configuration
  2061  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2062  //
  2063  //
  2064  //    // Example sending a request using the RemoveNotificationChannelRequest method.
  2065  //    req, resp := client.RemoveNotificationChannelRequest(params)
  2066  //
  2067  //    err := req.Send()
  2068  //    if err == nil { // resp is now filled
  2069  //        fmt.Println(resp)
  2070  //    }
  2071  //
  2072  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/RemoveNotificationChannel
  2073  func (c *DevOpsGuru) RemoveNotificationChannelRequest(input *RemoveNotificationChannelInput) (req *request.Request, output *RemoveNotificationChannelOutput) {
  2074  	op := &request.Operation{
  2075  		Name:       opRemoveNotificationChannel,
  2076  		HTTPMethod: "DELETE",
  2077  		HTTPPath:   "/channels/{Id}",
  2078  	}
  2079  
  2080  	if input == nil {
  2081  		input = &RemoveNotificationChannelInput{}
  2082  	}
  2083  
  2084  	output = &RemoveNotificationChannelOutput{}
  2085  	req = c.newRequest(op, input, output)
  2086  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2087  	return
  2088  }
  2089  
  2090  // RemoveNotificationChannel API operation for Amazon DevOps Guru.
  2091  //
  2092  // Removes a notification channel from DevOps Guru. A notification channel is
  2093  // used to notify you when DevOps Guru generates an insight that contains information
  2094  // about how to improve your operations.
  2095  //
  2096  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2097  // with awserr.Error's Code and Message methods to get detailed information about
  2098  // the error.
  2099  //
  2100  // See the AWS API reference guide for Amazon DevOps Guru's
  2101  // API operation RemoveNotificationChannel for usage and error information.
  2102  //
  2103  // Returned Error Types:
  2104  //   * AccessDeniedException
  2105  //   You don't have permissions to perform the requested operation. The user or
  2106  //   role that is making the request must have at least one IAM permissions policy
  2107  //   attached that grants the required permissions. For more information, see
  2108  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2109  //   in the IAM User Guide.
  2110  //
  2111  //   * ConflictException
  2112  //   An exception that is thrown when a conflict occurs.
  2113  //
  2114  //   * InternalServerException
  2115  //   An internal failure in an Amazon service occurred.
  2116  //
  2117  //   * ResourceNotFoundException
  2118  //   A requested resource could not be found
  2119  //
  2120  //   * ThrottlingException
  2121  //   The request was denied due to a request throttling.
  2122  //
  2123  //   * ValidationException
  2124  //   Contains information about data passed in to a field during a request that
  2125  //   is not valid.
  2126  //
  2127  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/RemoveNotificationChannel
  2128  func (c *DevOpsGuru) RemoveNotificationChannel(input *RemoveNotificationChannelInput) (*RemoveNotificationChannelOutput, error) {
  2129  	req, out := c.RemoveNotificationChannelRequest(input)
  2130  	return out, req.Send()
  2131  }
  2132  
  2133  // RemoveNotificationChannelWithContext is the same as RemoveNotificationChannel with the addition of
  2134  // the ability to pass a context and additional request options.
  2135  //
  2136  // See RemoveNotificationChannel for details on how to use this API operation.
  2137  //
  2138  // The context must be non-nil and will be used for request cancellation. If
  2139  // the context is nil a panic will occur. In the future the SDK may create
  2140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2141  // for more information on using Contexts.
  2142  func (c *DevOpsGuru) RemoveNotificationChannelWithContext(ctx aws.Context, input *RemoveNotificationChannelInput, opts ...request.Option) (*RemoveNotificationChannelOutput, error) {
  2143  	req, out := c.RemoveNotificationChannelRequest(input)
  2144  	req.SetContext(ctx)
  2145  	req.ApplyOptions(opts...)
  2146  	return out, req.Send()
  2147  }
  2148  
  2149  const opSearchInsights = "SearchInsights"
  2150  
  2151  // SearchInsightsRequest generates a "aws/request.Request" representing the
  2152  // client's request for the SearchInsights operation. The "output" return
  2153  // value will be populated with the request's response once the request completes
  2154  // successfully.
  2155  //
  2156  // Use "Send" method on the returned Request to send the API call to the service.
  2157  // the "output" return value is not valid until after Send returns without error.
  2158  //
  2159  // See SearchInsights for more information on using the SearchInsights
  2160  // API call, and error handling.
  2161  //
  2162  // This method is useful when you want to inject custom logic or configuration
  2163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2164  //
  2165  //
  2166  //    // Example sending a request using the SearchInsightsRequest method.
  2167  //    req, resp := client.SearchInsightsRequest(params)
  2168  //
  2169  //    err := req.Send()
  2170  //    if err == nil { // resp is now filled
  2171  //        fmt.Println(resp)
  2172  //    }
  2173  //
  2174  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/SearchInsights
  2175  func (c *DevOpsGuru) SearchInsightsRequest(input *SearchInsightsInput) (req *request.Request, output *SearchInsightsOutput) {
  2176  	op := &request.Operation{
  2177  		Name:       opSearchInsights,
  2178  		HTTPMethod: "POST",
  2179  		HTTPPath:   "/insights/search",
  2180  		Paginator: &request.Paginator{
  2181  			InputTokens:     []string{"NextToken"},
  2182  			OutputTokens:    []string{"NextToken"},
  2183  			LimitToken:      "MaxResults",
  2184  			TruncationToken: "",
  2185  		},
  2186  	}
  2187  
  2188  	if input == nil {
  2189  		input = &SearchInsightsInput{}
  2190  	}
  2191  
  2192  	output = &SearchInsightsOutput{}
  2193  	req = c.newRequest(op, input, output)
  2194  	return
  2195  }
  2196  
  2197  // SearchInsights API operation for Amazon DevOps Guru.
  2198  //
  2199  // Returns a list of insights in your AWS account. You can specify which insights
  2200  // are returned by their start time, one or more statuses (ONGOING, CLOSED,
  2201  // and CLOSED), one or more severities (LOW, MEDIUM, and HIGH), and type (REACTIVE
  2202  // or PROACTIVE).
  2203  //
  2204  // Use the Filters parameter to specify status and severity search parameters.
  2205  // Use the Type parameter to specify REACTIVE or PROACTIVE in your search.
  2206  //
  2207  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2208  // with awserr.Error's Code and Message methods to get detailed information about
  2209  // the error.
  2210  //
  2211  // See the AWS API reference guide for Amazon DevOps Guru's
  2212  // API operation SearchInsights for usage and error information.
  2213  //
  2214  // Returned Error Types:
  2215  //   * AccessDeniedException
  2216  //   You don't have permissions to perform the requested operation. The user or
  2217  //   role that is making the request must have at least one IAM permissions policy
  2218  //   attached that grants the required permissions. For more information, see
  2219  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2220  //   in the IAM User Guide.
  2221  //
  2222  //   * InternalServerException
  2223  //   An internal failure in an Amazon service occurred.
  2224  //
  2225  //   * ThrottlingException
  2226  //   The request was denied due to a request throttling.
  2227  //
  2228  //   * ValidationException
  2229  //   Contains information about data passed in to a field during a request that
  2230  //   is not valid.
  2231  //
  2232  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/SearchInsights
  2233  func (c *DevOpsGuru) SearchInsights(input *SearchInsightsInput) (*SearchInsightsOutput, error) {
  2234  	req, out := c.SearchInsightsRequest(input)
  2235  	return out, req.Send()
  2236  }
  2237  
  2238  // SearchInsightsWithContext is the same as SearchInsights with the addition of
  2239  // the ability to pass a context and additional request options.
  2240  //
  2241  // See SearchInsights for details on how to use this API operation.
  2242  //
  2243  // The context must be non-nil and will be used for request cancellation. If
  2244  // the context is nil a panic will occur. In the future the SDK may create
  2245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2246  // for more information on using Contexts.
  2247  func (c *DevOpsGuru) SearchInsightsWithContext(ctx aws.Context, input *SearchInsightsInput, opts ...request.Option) (*SearchInsightsOutput, error) {
  2248  	req, out := c.SearchInsightsRequest(input)
  2249  	req.SetContext(ctx)
  2250  	req.ApplyOptions(opts...)
  2251  	return out, req.Send()
  2252  }
  2253  
  2254  // SearchInsightsPages iterates over the pages of a SearchInsights operation,
  2255  // calling the "fn" function with the response data for each page. To stop
  2256  // iterating, return false from the fn function.
  2257  //
  2258  // See SearchInsights method for more information on how to use this operation.
  2259  //
  2260  // Note: This operation can generate multiple requests to a service.
  2261  //
  2262  //    // Example iterating over at most 3 pages of a SearchInsights operation.
  2263  //    pageNum := 0
  2264  //    err := client.SearchInsightsPages(params,
  2265  //        func(page *devopsguru.SearchInsightsOutput, lastPage bool) bool {
  2266  //            pageNum++
  2267  //            fmt.Println(page)
  2268  //            return pageNum <= 3
  2269  //        })
  2270  //
  2271  func (c *DevOpsGuru) SearchInsightsPages(input *SearchInsightsInput, fn func(*SearchInsightsOutput, bool) bool) error {
  2272  	return c.SearchInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
  2273  }
  2274  
  2275  // SearchInsightsPagesWithContext same as SearchInsightsPages except
  2276  // it takes a Context and allows setting request options on the pages.
  2277  //
  2278  // The context must be non-nil and will be used for request cancellation. If
  2279  // the context is nil a panic will occur. In the future the SDK may create
  2280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2281  // for more information on using Contexts.
  2282  func (c *DevOpsGuru) SearchInsightsPagesWithContext(ctx aws.Context, input *SearchInsightsInput, fn func(*SearchInsightsOutput, bool) bool, opts ...request.Option) error {
  2283  	p := request.Pagination{
  2284  		NewRequest: func() (*request.Request, error) {
  2285  			var inCpy *SearchInsightsInput
  2286  			if input != nil {
  2287  				tmp := *input
  2288  				inCpy = &tmp
  2289  			}
  2290  			req, _ := c.SearchInsightsRequest(inCpy)
  2291  			req.SetContext(ctx)
  2292  			req.ApplyOptions(opts...)
  2293  			return req, nil
  2294  		},
  2295  	}
  2296  
  2297  	for p.Next() {
  2298  		if !fn(p.Page().(*SearchInsightsOutput), !p.HasNextPage()) {
  2299  			break
  2300  		}
  2301  	}
  2302  
  2303  	return p.Err()
  2304  }
  2305  
  2306  const opStartCostEstimation = "StartCostEstimation"
  2307  
  2308  // StartCostEstimationRequest generates a "aws/request.Request" representing the
  2309  // client's request for the StartCostEstimation operation. The "output" return
  2310  // value will be populated with the request's response once the request completes
  2311  // successfully.
  2312  //
  2313  // Use "Send" method on the returned Request to send the API call to the service.
  2314  // the "output" return value is not valid until after Send returns without error.
  2315  //
  2316  // See StartCostEstimation for more information on using the StartCostEstimation
  2317  // API call, and error handling.
  2318  //
  2319  // This method is useful when you want to inject custom logic or configuration
  2320  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2321  //
  2322  //
  2323  //    // Example sending a request using the StartCostEstimationRequest method.
  2324  //    req, resp := client.StartCostEstimationRequest(params)
  2325  //
  2326  //    err := req.Send()
  2327  //    if err == nil { // resp is now filled
  2328  //        fmt.Println(resp)
  2329  //    }
  2330  //
  2331  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/StartCostEstimation
  2332  func (c *DevOpsGuru) StartCostEstimationRequest(input *StartCostEstimationInput) (req *request.Request, output *StartCostEstimationOutput) {
  2333  	op := &request.Operation{
  2334  		Name:       opStartCostEstimation,
  2335  		HTTPMethod: "PUT",
  2336  		HTTPPath:   "/cost-estimation",
  2337  	}
  2338  
  2339  	if input == nil {
  2340  		input = &StartCostEstimationInput{}
  2341  	}
  2342  
  2343  	output = &StartCostEstimationOutput{}
  2344  	req = c.newRequest(op, input, output)
  2345  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2346  	return
  2347  }
  2348  
  2349  // StartCostEstimation API operation for Amazon DevOps Guru.
  2350  //
  2351  // Starts the creation of an estimate of the monthly cost to analyze your AWS
  2352  // resources.
  2353  //
  2354  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2355  // with awserr.Error's Code and Message methods to get detailed information about
  2356  // the error.
  2357  //
  2358  // See the AWS API reference guide for Amazon DevOps Guru's
  2359  // API operation StartCostEstimation for usage and error information.
  2360  //
  2361  // Returned Error Types:
  2362  //   * AccessDeniedException
  2363  //   You don't have permissions to perform the requested operation. The user or
  2364  //   role that is making the request must have at least one IAM permissions policy
  2365  //   attached that grants the required permissions. For more information, see
  2366  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2367  //   in the IAM User Guide.
  2368  //
  2369  //   * ConflictException
  2370  //   An exception that is thrown when a conflict occurs.
  2371  //
  2372  //   * InternalServerException
  2373  //   An internal failure in an Amazon service occurred.
  2374  //
  2375  //   * ResourceNotFoundException
  2376  //   A requested resource could not be found
  2377  //
  2378  //   * ThrottlingException
  2379  //   The request was denied due to a request throttling.
  2380  //
  2381  //   * ValidationException
  2382  //   Contains information about data passed in to a field during a request that
  2383  //   is not valid.
  2384  //
  2385  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/StartCostEstimation
  2386  func (c *DevOpsGuru) StartCostEstimation(input *StartCostEstimationInput) (*StartCostEstimationOutput, error) {
  2387  	req, out := c.StartCostEstimationRequest(input)
  2388  	return out, req.Send()
  2389  }
  2390  
  2391  // StartCostEstimationWithContext is the same as StartCostEstimation with the addition of
  2392  // the ability to pass a context and additional request options.
  2393  //
  2394  // See StartCostEstimation for details on how to use this API operation.
  2395  //
  2396  // The context must be non-nil and will be used for request cancellation. If
  2397  // the context is nil a panic will occur. In the future the SDK may create
  2398  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2399  // for more information on using Contexts.
  2400  func (c *DevOpsGuru) StartCostEstimationWithContext(ctx aws.Context, input *StartCostEstimationInput, opts ...request.Option) (*StartCostEstimationOutput, error) {
  2401  	req, out := c.StartCostEstimationRequest(input)
  2402  	req.SetContext(ctx)
  2403  	req.ApplyOptions(opts...)
  2404  	return out, req.Send()
  2405  }
  2406  
  2407  const opUpdateResourceCollection = "UpdateResourceCollection"
  2408  
  2409  // UpdateResourceCollectionRequest generates a "aws/request.Request" representing the
  2410  // client's request for the UpdateResourceCollection operation. The "output" return
  2411  // value will be populated with the request's response once the request completes
  2412  // successfully.
  2413  //
  2414  // Use "Send" method on the returned Request to send the API call to the service.
  2415  // the "output" return value is not valid until after Send returns without error.
  2416  //
  2417  // See UpdateResourceCollection for more information on using the UpdateResourceCollection
  2418  // API call, and error handling.
  2419  //
  2420  // This method is useful when you want to inject custom logic or configuration
  2421  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2422  //
  2423  //
  2424  //    // Example sending a request using the UpdateResourceCollectionRequest method.
  2425  //    req, resp := client.UpdateResourceCollectionRequest(params)
  2426  //
  2427  //    err := req.Send()
  2428  //    if err == nil { // resp is now filled
  2429  //        fmt.Println(resp)
  2430  //    }
  2431  //
  2432  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateResourceCollection
  2433  func (c *DevOpsGuru) UpdateResourceCollectionRequest(input *UpdateResourceCollectionInput) (req *request.Request, output *UpdateResourceCollectionOutput) {
  2434  	op := &request.Operation{
  2435  		Name:       opUpdateResourceCollection,
  2436  		HTTPMethod: "PUT",
  2437  		HTTPPath:   "/resource-collections",
  2438  	}
  2439  
  2440  	if input == nil {
  2441  		input = &UpdateResourceCollectionInput{}
  2442  	}
  2443  
  2444  	output = &UpdateResourceCollectionOutput{}
  2445  	req = c.newRequest(op, input, output)
  2446  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2447  	return
  2448  }
  2449  
  2450  // UpdateResourceCollection API operation for Amazon DevOps Guru.
  2451  //
  2452  // Updates the collection of resources that DevOps Guru analyzes. The one type
  2453  // of AWS resource collection supported is AWS CloudFormation stacks. DevOps
  2454  // Guru can be configured to analyze only the AWS resources that are defined
  2455  // in the stacks. You can specify up to 500 AWS CloudFormation stacks. This
  2456  // method also creates the IAM role required for you to use DevOps Guru.
  2457  //
  2458  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2459  // with awserr.Error's Code and Message methods to get detailed information about
  2460  // the error.
  2461  //
  2462  // See the AWS API reference guide for Amazon DevOps Guru's
  2463  // API operation UpdateResourceCollection for usage and error information.
  2464  //
  2465  // Returned Error Types:
  2466  //   * AccessDeniedException
  2467  //   You don't have permissions to perform the requested operation. The user or
  2468  //   role that is making the request must have at least one IAM permissions policy
  2469  //   attached that grants the required permissions. For more information, see
  2470  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2471  //   in the IAM User Guide.
  2472  //
  2473  //   * ConflictException
  2474  //   An exception that is thrown when a conflict occurs.
  2475  //
  2476  //   * InternalServerException
  2477  //   An internal failure in an Amazon service occurred.
  2478  //
  2479  //   * ThrottlingException
  2480  //   The request was denied due to a request throttling.
  2481  //
  2482  //   * ValidationException
  2483  //   Contains information about data passed in to a field during a request that
  2484  //   is not valid.
  2485  //
  2486  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateResourceCollection
  2487  func (c *DevOpsGuru) UpdateResourceCollection(input *UpdateResourceCollectionInput) (*UpdateResourceCollectionOutput, error) {
  2488  	req, out := c.UpdateResourceCollectionRequest(input)
  2489  	return out, req.Send()
  2490  }
  2491  
  2492  // UpdateResourceCollectionWithContext is the same as UpdateResourceCollection with the addition of
  2493  // the ability to pass a context and additional request options.
  2494  //
  2495  // See UpdateResourceCollection for details on how to use this API operation.
  2496  //
  2497  // The context must be non-nil and will be used for request cancellation. If
  2498  // the context is nil a panic will occur. In the future the SDK may create
  2499  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2500  // for more information on using Contexts.
  2501  func (c *DevOpsGuru) UpdateResourceCollectionWithContext(ctx aws.Context, input *UpdateResourceCollectionInput, opts ...request.Option) (*UpdateResourceCollectionOutput, error) {
  2502  	req, out := c.UpdateResourceCollectionRequest(input)
  2503  	req.SetContext(ctx)
  2504  	req.ApplyOptions(opts...)
  2505  	return out, req.Send()
  2506  }
  2507  
  2508  const opUpdateServiceIntegration = "UpdateServiceIntegration"
  2509  
  2510  // UpdateServiceIntegrationRequest generates a "aws/request.Request" representing the
  2511  // client's request for the UpdateServiceIntegration operation. The "output" return
  2512  // value will be populated with the request's response once the request completes
  2513  // successfully.
  2514  //
  2515  // Use "Send" method on the returned Request to send the API call to the service.
  2516  // the "output" return value is not valid until after Send returns without error.
  2517  //
  2518  // See UpdateServiceIntegration for more information on using the UpdateServiceIntegration
  2519  // API call, and error handling.
  2520  //
  2521  // This method is useful when you want to inject custom logic or configuration
  2522  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2523  //
  2524  //
  2525  //    // Example sending a request using the UpdateServiceIntegrationRequest method.
  2526  //    req, resp := client.UpdateServiceIntegrationRequest(params)
  2527  //
  2528  //    err := req.Send()
  2529  //    if err == nil { // resp is now filled
  2530  //        fmt.Println(resp)
  2531  //    }
  2532  //
  2533  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateServiceIntegration
  2534  func (c *DevOpsGuru) UpdateServiceIntegrationRequest(input *UpdateServiceIntegrationInput) (req *request.Request, output *UpdateServiceIntegrationOutput) {
  2535  	op := &request.Operation{
  2536  		Name:       opUpdateServiceIntegration,
  2537  		HTTPMethod: "PUT",
  2538  		HTTPPath:   "/service-integrations",
  2539  	}
  2540  
  2541  	if input == nil {
  2542  		input = &UpdateServiceIntegrationInput{}
  2543  	}
  2544  
  2545  	output = &UpdateServiceIntegrationOutput{}
  2546  	req = c.newRequest(op, input, output)
  2547  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2548  	return
  2549  }
  2550  
  2551  // UpdateServiceIntegration API operation for Amazon DevOps Guru.
  2552  //
  2553  // Enables or disables integration with a service that can be integrated with
  2554  // DevOps Guru. The one service that can be integrated with DevOps Guru is AWS
  2555  // Systems Manager, which can be used to create an OpsItem for each generated
  2556  // insight.
  2557  //
  2558  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2559  // with awserr.Error's Code and Message methods to get detailed information about
  2560  // the error.
  2561  //
  2562  // See the AWS API reference guide for Amazon DevOps Guru's
  2563  // API operation UpdateServiceIntegration for usage and error information.
  2564  //
  2565  // Returned Error Types:
  2566  //   * AccessDeniedException
  2567  //   You don't have permissions to perform the requested operation. The user or
  2568  //   role that is making the request must have at least one IAM permissions policy
  2569  //   attached that grants the required permissions. For more information, see
  2570  //   Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2571  //   in the IAM User Guide.
  2572  //
  2573  //   * ConflictException
  2574  //   An exception that is thrown when a conflict occurs.
  2575  //
  2576  //   * InternalServerException
  2577  //   An internal failure in an Amazon service occurred.
  2578  //
  2579  //   * ThrottlingException
  2580  //   The request was denied due to a request throttling.
  2581  //
  2582  //   * ValidationException
  2583  //   Contains information about data passed in to a field during a request that
  2584  //   is not valid.
  2585  //
  2586  // See also, https://docs.aws.amazon.com/goto/WebAPI/devops-guru-2020-12-01/UpdateServiceIntegration
  2587  func (c *DevOpsGuru) UpdateServiceIntegration(input *UpdateServiceIntegrationInput) (*UpdateServiceIntegrationOutput, error) {
  2588  	req, out := c.UpdateServiceIntegrationRequest(input)
  2589  	return out, req.Send()
  2590  }
  2591  
  2592  // UpdateServiceIntegrationWithContext is the same as UpdateServiceIntegration with the addition of
  2593  // the ability to pass a context and additional request options.
  2594  //
  2595  // See UpdateServiceIntegration for details on how to use this API operation.
  2596  //
  2597  // The context must be non-nil and will be used for request cancellation. If
  2598  // the context is nil a panic will occur. In the future the SDK may create
  2599  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2600  // for more information on using Contexts.
  2601  func (c *DevOpsGuru) UpdateServiceIntegrationWithContext(ctx aws.Context, input *UpdateServiceIntegrationInput, opts ...request.Option) (*UpdateServiceIntegrationOutput, error) {
  2602  	req, out := c.UpdateServiceIntegrationRequest(input)
  2603  	req.SetContext(ctx)
  2604  	req.ApplyOptions(opts...)
  2605  	return out, req.Send()
  2606  }
  2607  
  2608  // You don't have permissions to perform the requested operation. The user or
  2609  // role that is making the request must have at least one IAM permissions policy
  2610  // attached that grants the required permissions. For more information, see
  2611  // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
  2612  // in the IAM User Guide.
  2613  type AccessDeniedException struct {
  2614  	_            struct{}                  `type:"structure"`
  2615  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2616  
  2617  	Message_ *string `locationName:"Message" type:"string"`
  2618  }
  2619  
  2620  // String returns the string representation.
  2621  //
  2622  // API parameter values that are decorated as "sensitive" in the API will not
  2623  // be included in the string output. The member name will be present, but the
  2624  // value will be replaced with "sensitive".
  2625  func (s AccessDeniedException) String() string {
  2626  	return awsutil.Prettify(s)
  2627  }
  2628  
  2629  // GoString returns the string representation.
  2630  //
  2631  // API parameter values that are decorated as "sensitive" in the API will not
  2632  // be included in the string output. The member name will be present, but the
  2633  // value will be replaced with "sensitive".
  2634  func (s AccessDeniedException) GoString() string {
  2635  	return s.String()
  2636  }
  2637  
  2638  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2639  	return &AccessDeniedException{
  2640  		RespMetadata: v,
  2641  	}
  2642  }
  2643  
  2644  // Code returns the exception type name.
  2645  func (s *AccessDeniedException) Code() string {
  2646  	return "AccessDeniedException"
  2647  }
  2648  
  2649  // Message returns the exception's message.
  2650  func (s *AccessDeniedException) Message() string {
  2651  	if s.Message_ != nil {
  2652  		return *s.Message_
  2653  	}
  2654  	return ""
  2655  }
  2656  
  2657  // OrigErr always returns nil, satisfies awserr.Error interface.
  2658  func (s *AccessDeniedException) OrigErr() error {
  2659  	return nil
  2660  }
  2661  
  2662  func (s *AccessDeniedException) Error() string {
  2663  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2664  }
  2665  
  2666  // Status code returns the HTTP status code for the request's response error.
  2667  func (s *AccessDeniedException) StatusCode() int {
  2668  	return s.RespMetadata.StatusCode
  2669  }
  2670  
  2671  // RequestID returns the service's response RequestID for request.
  2672  func (s *AccessDeniedException) RequestID() string {
  2673  	return s.RespMetadata.RequestID
  2674  }
  2675  
  2676  type AddNotificationChannelInput struct {
  2677  	_ struct{} `type:"structure"`
  2678  
  2679  	// A NotificationChannelConfig object that specifies what type of notification
  2680  	// channel to add. The one supported notification channel is Amazon Simple Notification
  2681  	// Service (Amazon SNS).
  2682  	//
  2683  	// Config is a required field
  2684  	Config *NotificationChannelConfig `type:"structure" required:"true"`
  2685  }
  2686  
  2687  // String returns the string representation.
  2688  //
  2689  // API parameter values that are decorated as "sensitive" in the API will not
  2690  // be included in the string output. The member name will be present, but the
  2691  // value will be replaced with "sensitive".
  2692  func (s AddNotificationChannelInput) String() string {
  2693  	return awsutil.Prettify(s)
  2694  }
  2695  
  2696  // GoString returns the string representation.
  2697  //
  2698  // API parameter values that are decorated as "sensitive" in the API will not
  2699  // be included in the string output. The member name will be present, but the
  2700  // value will be replaced with "sensitive".
  2701  func (s AddNotificationChannelInput) GoString() string {
  2702  	return s.String()
  2703  }
  2704  
  2705  // Validate inspects the fields of the type to determine if they are valid.
  2706  func (s *AddNotificationChannelInput) Validate() error {
  2707  	invalidParams := request.ErrInvalidParams{Context: "AddNotificationChannelInput"}
  2708  	if s.Config == nil {
  2709  		invalidParams.Add(request.NewErrParamRequired("Config"))
  2710  	}
  2711  	if s.Config != nil {
  2712  		if err := s.Config.Validate(); err != nil {
  2713  			invalidParams.AddNested("Config", err.(request.ErrInvalidParams))
  2714  		}
  2715  	}
  2716  
  2717  	if invalidParams.Len() > 0 {
  2718  		return invalidParams
  2719  	}
  2720  	return nil
  2721  }
  2722  
  2723  // SetConfig sets the Config field's value.
  2724  func (s *AddNotificationChannelInput) SetConfig(v *NotificationChannelConfig) *AddNotificationChannelInput {
  2725  	s.Config = v
  2726  	return s
  2727  }
  2728  
  2729  type AddNotificationChannelOutput struct {
  2730  	_ struct{} `type:"structure"`
  2731  
  2732  	// The ID of the added notification channel.
  2733  	//
  2734  	// Id is a required field
  2735  	Id *string `min:"36" type:"string" required:"true"`
  2736  }
  2737  
  2738  // String returns the string representation.
  2739  //
  2740  // API parameter values that are decorated as "sensitive" in the API will not
  2741  // be included in the string output. The member name will be present, but the
  2742  // value will be replaced with "sensitive".
  2743  func (s AddNotificationChannelOutput) String() string {
  2744  	return awsutil.Prettify(s)
  2745  }
  2746  
  2747  // GoString returns the string representation.
  2748  //
  2749  // API parameter values that are decorated as "sensitive" in the API will not
  2750  // be included in the string output. The member name will be present, but the
  2751  // value will be replaced with "sensitive".
  2752  func (s AddNotificationChannelOutput) GoString() string {
  2753  	return s.String()
  2754  }
  2755  
  2756  // SetId sets the Id field's value.
  2757  func (s *AddNotificationChannelOutput) SetId(v string) *AddNotificationChannelOutput {
  2758  	s.Id = &v
  2759  	return s
  2760  }
  2761  
  2762  // A time range that specifies when DevOps Guru opens and then closes an anomaly.
  2763  // This is different from AnomalyTimeRange, which specifies the time range when
  2764  // DevOps Guru actually observes the anomalous behavior.
  2765  type AnomalyReportedTimeRange struct {
  2766  	_ struct{} `type:"structure"`
  2767  
  2768  	// The time when an anomaly is closed.
  2769  	CloseTime *time.Time `type:"timestamp"`
  2770  
  2771  	// The time when an anomaly is opened.
  2772  	//
  2773  	// OpenTime is a required field
  2774  	OpenTime *time.Time `type:"timestamp" required:"true"`
  2775  }
  2776  
  2777  // String returns the string representation.
  2778  //
  2779  // API parameter values that are decorated as "sensitive" in the API will not
  2780  // be included in the string output. The member name will be present, but the
  2781  // value will be replaced with "sensitive".
  2782  func (s AnomalyReportedTimeRange) String() string {
  2783  	return awsutil.Prettify(s)
  2784  }
  2785  
  2786  // GoString returns the string representation.
  2787  //
  2788  // API parameter values that are decorated as "sensitive" in the API will not
  2789  // be included in the string output. The member name will be present, but the
  2790  // value will be replaced with "sensitive".
  2791  func (s AnomalyReportedTimeRange) GoString() string {
  2792  	return s.String()
  2793  }
  2794  
  2795  // SetCloseTime sets the CloseTime field's value.
  2796  func (s *AnomalyReportedTimeRange) SetCloseTime(v time.Time) *AnomalyReportedTimeRange {
  2797  	s.CloseTime = &v
  2798  	return s
  2799  }
  2800  
  2801  // SetOpenTime sets the OpenTime field's value.
  2802  func (s *AnomalyReportedTimeRange) SetOpenTime(v time.Time) *AnomalyReportedTimeRange {
  2803  	s.OpenTime = &v
  2804  	return s
  2805  }
  2806  
  2807  // Details about the source of the anomalous operational data that triggered
  2808  // the anomaly. The one supported source is Amazon CloudWatch metrics.
  2809  type AnomalySourceDetails struct {
  2810  	_ struct{} `type:"structure"`
  2811  
  2812  	// An array of CloudWatchMetricsDetail object that contains information about
  2813  	// the analyzed metrics that displayed anomalous behavior.
  2814  	CloudWatchMetrics []*CloudWatchMetricsDetail `type:"list"`
  2815  }
  2816  
  2817  // String returns the string representation.
  2818  //
  2819  // API parameter values that are decorated as "sensitive" in the API will not
  2820  // be included in the string output. The member name will be present, but the
  2821  // value will be replaced with "sensitive".
  2822  func (s AnomalySourceDetails) String() string {
  2823  	return awsutil.Prettify(s)
  2824  }
  2825  
  2826  // GoString returns the string representation.
  2827  //
  2828  // API parameter values that are decorated as "sensitive" in the API will not
  2829  // be included in the string output. The member name will be present, but the
  2830  // value will be replaced with "sensitive".
  2831  func (s AnomalySourceDetails) GoString() string {
  2832  	return s.String()
  2833  }
  2834  
  2835  // SetCloudWatchMetrics sets the CloudWatchMetrics field's value.
  2836  func (s *AnomalySourceDetails) SetCloudWatchMetrics(v []*CloudWatchMetricsDetail) *AnomalySourceDetails {
  2837  	s.CloudWatchMetrics = v
  2838  	return s
  2839  }
  2840  
  2841  // A time range that specifies when the observed unusual behavior in an anomaly
  2842  // started and ended. This is different from AnomalyReportedTimeRange, which
  2843  // specifies the time range when DevOps Guru opens and then closes an anomaly.
  2844  type AnomalyTimeRange struct {
  2845  	_ struct{} `type:"structure"`
  2846  
  2847  	// The time when the anomalous behavior ended.
  2848  	EndTime *time.Time `type:"timestamp"`
  2849  
  2850  	// The time when the anomalous behavior started.
  2851  	//
  2852  	// StartTime is a required field
  2853  	StartTime *time.Time `type:"timestamp" required:"true"`
  2854  }
  2855  
  2856  // String returns the string representation.
  2857  //
  2858  // API parameter values that are decorated as "sensitive" in the API will not
  2859  // be included in the string output. The member name will be present, but the
  2860  // value will be replaced with "sensitive".
  2861  func (s AnomalyTimeRange) String() string {
  2862  	return awsutil.Prettify(s)
  2863  }
  2864  
  2865  // GoString returns the string representation.
  2866  //
  2867  // API parameter values that are decorated as "sensitive" in the API will not
  2868  // be included in the string output. The member name will be present, but the
  2869  // value will be replaced with "sensitive".
  2870  func (s AnomalyTimeRange) GoString() string {
  2871  	return s.String()
  2872  }
  2873  
  2874  // SetEndTime sets the EndTime field's value.
  2875  func (s *AnomalyTimeRange) SetEndTime(v time.Time) *AnomalyTimeRange {
  2876  	s.EndTime = &v
  2877  	return s
  2878  }
  2879  
  2880  // SetStartTime sets the StartTime field's value.
  2881  func (s *AnomalyTimeRange) SetStartTime(v time.Time) *AnomalyTimeRange {
  2882  	s.StartTime = &v
  2883  	return s
  2884  }
  2885  
  2886  // Information about AWS CloudFormation stacks. You can use up to 500 stacks
  2887  // to specify which AWS resources in your account to analyze. For more information,
  2888  // see Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
  2889  // in the AWS CloudFormation User Guide.
  2890  type CloudFormationCollection struct {
  2891  	_ struct{} `type:"structure"`
  2892  
  2893  	// An array of CloudFormation stack names.
  2894  	StackNames []*string `type:"list"`
  2895  }
  2896  
  2897  // String returns the string representation.
  2898  //
  2899  // API parameter values that are decorated as "sensitive" in the API will not
  2900  // be included in the string output. The member name will be present, but the
  2901  // value will be replaced with "sensitive".
  2902  func (s CloudFormationCollection) String() string {
  2903  	return awsutil.Prettify(s)
  2904  }
  2905  
  2906  // GoString returns the string representation.
  2907  //
  2908  // API parameter values that are decorated as "sensitive" in the API will not
  2909  // be included in the string output. The member name will be present, but the
  2910  // value will be replaced with "sensitive".
  2911  func (s CloudFormationCollection) GoString() string {
  2912  	return s.String()
  2913  }
  2914  
  2915  // SetStackNames sets the StackNames field's value.
  2916  func (s *CloudFormationCollection) SetStackNames(v []*string) *CloudFormationCollection {
  2917  	s.StackNames = v
  2918  	return s
  2919  }
  2920  
  2921  // Information about AWS CloudFormation stacks. You can use up to 500 stacks
  2922  // to specify which AWS resources in your account to analyze. For more information,
  2923  // see Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
  2924  // in the AWS CloudFormation User Guide.
  2925  type CloudFormationCollectionFilter struct {
  2926  	_ struct{} `type:"structure"`
  2927  
  2928  	// An array of CloudFormation stack names.
  2929  	StackNames []*string `type:"list"`
  2930  }
  2931  
  2932  // String returns the string representation.
  2933  //
  2934  // API parameter values that are decorated as "sensitive" in the API will not
  2935  // be included in the string output. The member name will be present, but the
  2936  // value will be replaced with "sensitive".
  2937  func (s CloudFormationCollectionFilter) String() string {
  2938  	return awsutil.Prettify(s)
  2939  }
  2940  
  2941  // GoString returns the string representation.
  2942  //
  2943  // API parameter values that are decorated as "sensitive" in the API will not
  2944  // be included in the string output. The member name will be present, but the
  2945  // value will be replaced with "sensitive".
  2946  func (s CloudFormationCollectionFilter) GoString() string {
  2947  	return s.String()
  2948  }
  2949  
  2950  // SetStackNames sets the StackNames field's value.
  2951  func (s *CloudFormationCollectionFilter) SetStackNames(v []*string) *CloudFormationCollectionFilter {
  2952  	s.StackNames = v
  2953  	return s
  2954  }
  2955  
  2956  // Information about an AWS CloudFormation stack used to create a monthly cost
  2957  // estimate for DevOps Guru to analyze AWS resources. The maximum number of
  2958  // stacks you can specify for a cost estimate is one. The estimate created is
  2959  // for the cost to analyze the AWS resources defined by the stack. For more
  2960  // information, see Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
  2961  // in the AWS CloudFormation User Guide.
  2962  type CloudFormationCostEstimationResourceCollectionFilter struct {
  2963  	_ struct{} `type:"structure"`
  2964  
  2965  	// An array of CloudFormation stack names. Its size is fixed at 1 item.
  2966  	StackNames []*string `min:"1" type:"list"`
  2967  }
  2968  
  2969  // String returns the string representation.
  2970  //
  2971  // API parameter values that are decorated as "sensitive" in the API will not
  2972  // be included in the string output. The member name will be present, but the
  2973  // value will be replaced with "sensitive".
  2974  func (s CloudFormationCostEstimationResourceCollectionFilter) String() string {
  2975  	return awsutil.Prettify(s)
  2976  }
  2977  
  2978  // GoString returns the string representation.
  2979  //
  2980  // API parameter values that are decorated as "sensitive" in the API will not
  2981  // be included in the string output. The member name will be present, but the
  2982  // value will be replaced with "sensitive".
  2983  func (s CloudFormationCostEstimationResourceCollectionFilter) GoString() string {
  2984  	return s.String()
  2985  }
  2986  
  2987  // Validate inspects the fields of the type to determine if they are valid.
  2988  func (s *CloudFormationCostEstimationResourceCollectionFilter) Validate() error {
  2989  	invalidParams := request.ErrInvalidParams{Context: "CloudFormationCostEstimationResourceCollectionFilter"}
  2990  	if s.StackNames != nil && len(s.StackNames) < 1 {
  2991  		invalidParams.Add(request.NewErrParamMinLen("StackNames", 1))
  2992  	}
  2993  
  2994  	if invalidParams.Len() > 0 {
  2995  		return invalidParams
  2996  	}
  2997  	return nil
  2998  }
  2999  
  3000  // SetStackNames sets the StackNames field's value.
  3001  func (s *CloudFormationCostEstimationResourceCollectionFilter) SetStackNames(v []*string) *CloudFormationCostEstimationResourceCollectionFilter {
  3002  	s.StackNames = v
  3003  	return s
  3004  }
  3005  
  3006  // Information about the health of AWS resources in your account that are specified
  3007  // by an AWS CloudFormation stack.
  3008  type CloudFormationHealth struct {
  3009  	_ struct{} `type:"structure"`
  3010  
  3011  	// Information about the health of the AWS resources in your account that are
  3012  	// specified by an AWS CloudFormation stack, including the number of open proactive,
  3013  	// open reactive insights, and the Mean Time to Recover (MTTR) of closed insights.
  3014  	Insight *InsightHealth `type:"structure"`
  3015  
  3016  	// The name of the CloudFormation stack.
  3017  	StackName *string `min:"1" type:"string"`
  3018  }
  3019  
  3020  // String returns the string representation.
  3021  //
  3022  // API parameter values that are decorated as "sensitive" in the API will not
  3023  // be included in the string output. The member name will be present, but the
  3024  // value will be replaced with "sensitive".
  3025  func (s CloudFormationHealth) String() string {
  3026  	return awsutil.Prettify(s)
  3027  }
  3028  
  3029  // GoString returns the string representation.
  3030  //
  3031  // API parameter values that are decorated as "sensitive" in the API will not
  3032  // be included in the string output. The member name will be present, but the
  3033  // value will be replaced with "sensitive".
  3034  func (s CloudFormationHealth) GoString() string {
  3035  	return s.String()
  3036  }
  3037  
  3038  // SetInsight sets the Insight field's value.
  3039  func (s *CloudFormationHealth) SetInsight(v *InsightHealth) *CloudFormationHealth {
  3040  	s.Insight = v
  3041  	return s
  3042  }
  3043  
  3044  // SetStackName sets the StackName field's value.
  3045  func (s *CloudFormationHealth) SetStackName(v string) *CloudFormationHealth {
  3046  	s.StackName = &v
  3047  	return s
  3048  }
  3049  
  3050  // Information about an Amazon CloudWatch metric.
  3051  type CloudWatchMetricsDetail struct {
  3052  	_ struct{} `type:"structure"`
  3053  
  3054  	// An array of CloudWatch dimensions associated with
  3055  	Dimensions []*CloudWatchMetricsDimension `type:"list"`
  3056  
  3057  	// The name of the CloudWatch metric.
  3058  	MetricName *string `type:"string"`
  3059  
  3060  	// The namespace of the CloudWatch metric. A namespace is a container for CloudWatch
  3061  	// metrics.
  3062  	Namespace *string `type:"string"`
  3063  
  3064  	// The length of time associated with the CloudWatch metric in number of seconds.
  3065  	Period *int64 `type:"integer"`
  3066  
  3067  	// The type of statistic associated with the CloudWatch metric. For more information,
  3068  	// see Statistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic)
  3069  	// in the Amazon CloudWatch User Guide.
  3070  	Stat *string `type:"string" enum:"CloudWatchMetricsStat"`
  3071  
  3072  	// The unit of measure used for the CloudWatch metric. For example, Bytes, Seconds,
  3073  	// Count, and Percent.
  3074  	Unit *string `type:"string"`
  3075  }
  3076  
  3077  // String returns the string representation.
  3078  //
  3079  // API parameter values that are decorated as "sensitive" in the API will not
  3080  // be included in the string output. The member name will be present, but the
  3081  // value will be replaced with "sensitive".
  3082  func (s CloudWatchMetricsDetail) String() string {
  3083  	return awsutil.Prettify(s)
  3084  }
  3085  
  3086  // GoString returns the string representation.
  3087  //
  3088  // API parameter values that are decorated as "sensitive" in the API will not
  3089  // be included in the string output. The member name will be present, but the
  3090  // value will be replaced with "sensitive".
  3091  func (s CloudWatchMetricsDetail) GoString() string {
  3092  	return s.String()
  3093  }
  3094  
  3095  // SetDimensions sets the Dimensions field's value.
  3096  func (s *CloudWatchMetricsDetail) SetDimensions(v []*CloudWatchMetricsDimension) *CloudWatchMetricsDetail {
  3097  	s.Dimensions = v
  3098  	return s
  3099  }
  3100  
  3101  // SetMetricName sets the MetricName field's value.
  3102  func (s *CloudWatchMetricsDetail) SetMetricName(v string) *CloudWatchMetricsDetail {
  3103  	s.MetricName = &v
  3104  	return s
  3105  }
  3106  
  3107  // SetNamespace sets the Namespace field's value.
  3108  func (s *CloudWatchMetricsDetail) SetNamespace(v string) *CloudWatchMetricsDetail {
  3109  	s.Namespace = &v
  3110  	return s
  3111  }
  3112  
  3113  // SetPeriod sets the Period field's value.
  3114  func (s *CloudWatchMetricsDetail) SetPeriod(v int64) *CloudWatchMetricsDetail {
  3115  	s.Period = &v
  3116  	return s
  3117  }
  3118  
  3119  // SetStat sets the Stat field's value.
  3120  func (s *CloudWatchMetricsDetail) SetStat(v string) *CloudWatchMetricsDetail {
  3121  	s.Stat = &v
  3122  	return s
  3123  }
  3124  
  3125  // SetUnit sets the Unit field's value.
  3126  func (s *CloudWatchMetricsDetail) SetUnit(v string) *CloudWatchMetricsDetail {
  3127  	s.Unit = &v
  3128  	return s
  3129  }
  3130  
  3131  // The dimension of a Amazon CloudWatch metric that is used when DevOps Guru
  3132  // analyzes the resources in your account for operational problems and anomalous
  3133  // behavior. A dimension is a name/value pair that is part of the identity of
  3134  // a metric. A metric can have up to 10 dimensions. For more information, see
  3135  // Dimensions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension)
  3136  // in the Amazon CloudWatch User Guide.
  3137  type CloudWatchMetricsDimension struct {
  3138  	_ struct{} `type:"structure"`
  3139  
  3140  	// The name of the CloudWatch dimension.
  3141  	Name *string `type:"string"`
  3142  
  3143  	// The value of the CloudWatch dimension.
  3144  	Value *string `type:"string"`
  3145  }
  3146  
  3147  // String returns the string representation.
  3148  //
  3149  // API parameter values that are decorated as "sensitive" in the API will not
  3150  // be included in the string output. The member name will be present, but the
  3151  // value will be replaced with "sensitive".
  3152  func (s CloudWatchMetricsDimension) String() string {
  3153  	return awsutil.Prettify(s)
  3154  }
  3155  
  3156  // GoString returns the string representation.
  3157  //
  3158  // API parameter values that are decorated as "sensitive" in the API will not
  3159  // be included in the string output. The member name will be present, but the
  3160  // value will be replaced with "sensitive".
  3161  func (s CloudWatchMetricsDimension) GoString() string {
  3162  	return s.String()
  3163  }
  3164  
  3165  // SetName sets the Name field's value.
  3166  func (s *CloudWatchMetricsDimension) SetName(v string) *CloudWatchMetricsDimension {
  3167  	s.Name = &v
  3168  	return s
  3169  }
  3170  
  3171  // SetValue sets the Value field's value.
  3172  func (s *CloudWatchMetricsDimension) SetValue(v string) *CloudWatchMetricsDimension {
  3173  	s.Value = &v
  3174  	return s
  3175  }
  3176  
  3177  // An exception that is thrown when a conflict occurs.
  3178  type ConflictException struct {
  3179  	_            struct{}                  `type:"structure"`
  3180  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3181  
  3182  	Message_ *string `locationName:"Message" type:"string"`
  3183  
  3184  	// The ID of the AWS resource in which a conflict occurred.
  3185  	//
  3186  	// ResourceId is a required field
  3187  	ResourceId *string `type:"string" required:"true"`
  3188  
  3189  	// The type of the AWS resource in which a conflict occurred.
  3190  	//
  3191  	// ResourceType is a required field
  3192  	ResourceType *string `type:"string" required:"true"`
  3193  }
  3194  
  3195  // String returns the string representation.
  3196  //
  3197  // API parameter values that are decorated as "sensitive" in the API will not
  3198  // be included in the string output. The member name will be present, but the
  3199  // value will be replaced with "sensitive".
  3200  func (s ConflictException) String() string {
  3201  	return awsutil.Prettify(s)
  3202  }
  3203  
  3204  // GoString returns the string representation.
  3205  //
  3206  // API parameter values that are decorated as "sensitive" in the API will not
  3207  // be included in the string output. The member name will be present, but the
  3208  // value will be replaced with "sensitive".
  3209  func (s ConflictException) GoString() string {
  3210  	return s.String()
  3211  }
  3212  
  3213  func newErrorConflictException(v protocol.ResponseMetadata) error {
  3214  	return &ConflictException{
  3215  		RespMetadata: v,
  3216  	}
  3217  }
  3218  
  3219  // Code returns the exception type name.
  3220  func (s *ConflictException) Code() string {
  3221  	return "ConflictException"
  3222  }
  3223  
  3224  // Message returns the exception's message.
  3225  func (s *ConflictException) Message() string {
  3226  	if s.Message_ != nil {
  3227  		return *s.Message_
  3228  	}
  3229  	return ""
  3230  }
  3231  
  3232  // OrigErr always returns nil, satisfies awserr.Error interface.
  3233  func (s *ConflictException) OrigErr() error {
  3234  	return nil
  3235  }
  3236  
  3237  func (s *ConflictException) Error() string {
  3238  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3239  }
  3240  
  3241  // Status code returns the HTTP status code for the request's response error.
  3242  func (s *ConflictException) StatusCode() int {
  3243  	return s.RespMetadata.StatusCode
  3244  }
  3245  
  3246  // RequestID returns the service's response RequestID for request.
  3247  func (s *ConflictException) RequestID() string {
  3248  	return s.RespMetadata.RequestID
  3249  }
  3250  
  3251  // Information about a filter used to specify which AWS resources are analyzed
  3252  // to create a monthly DevOps Guru cost estimate. For more information, see
  3253  // Estimate your Amazon DevOps Guru costs (https://docs.aws.amazon.com/devops-guru/latest/userguide/cost-estimate.html)
  3254  // and Amazon DevOps Guru pricing (http://aws.amazon.com/devops-guru/pricing/).
  3255  type CostEstimationResourceCollectionFilter struct {
  3256  	_ struct{} `type:"structure"`
  3257  
  3258  	// An object that specifies the CloudFormation stack that defines the AWS resources
  3259  	// used to create a monthly estimate for DevOps Guru.
  3260  	CloudFormation *CloudFormationCostEstimationResourceCollectionFilter `type:"structure"`
  3261  }
  3262  
  3263  // String returns the string representation.
  3264  //
  3265  // API parameter values that are decorated as "sensitive" in the API will not
  3266  // be included in the string output. The member name will be present, but the
  3267  // value will be replaced with "sensitive".
  3268  func (s CostEstimationResourceCollectionFilter) String() string {
  3269  	return awsutil.Prettify(s)
  3270  }
  3271  
  3272  // GoString returns the string representation.
  3273  //
  3274  // API parameter values that are decorated as "sensitive" in the API will not
  3275  // be included in the string output. The member name will be present, but the
  3276  // value will be replaced with "sensitive".
  3277  func (s CostEstimationResourceCollectionFilter) GoString() string {
  3278  	return s.String()
  3279  }
  3280  
  3281  // Validate inspects the fields of the type to determine if they are valid.
  3282  func (s *CostEstimationResourceCollectionFilter) Validate() error {
  3283  	invalidParams := request.ErrInvalidParams{Context: "CostEstimationResourceCollectionFilter"}
  3284  	if s.CloudFormation != nil {
  3285  		if err := s.CloudFormation.Validate(); err != nil {
  3286  			invalidParams.AddNested("CloudFormation", err.(request.ErrInvalidParams))
  3287  		}
  3288  	}
  3289  
  3290  	if invalidParams.Len() > 0 {
  3291  		return invalidParams
  3292  	}
  3293  	return nil
  3294  }
  3295  
  3296  // SetCloudFormation sets the CloudFormation field's value.
  3297  func (s *CostEstimationResourceCollectionFilter) SetCloudFormation(v *CloudFormationCostEstimationResourceCollectionFilter) *CostEstimationResourceCollectionFilter {
  3298  	s.CloudFormation = v
  3299  	return s
  3300  }
  3301  
  3302  // The time range of a cost estimation.
  3303  type CostEstimationTimeRange struct {
  3304  	_ struct{} `type:"structure"`
  3305  
  3306  	// The end time of the cost estimation.
  3307  	EndTime *time.Time `type:"timestamp"`
  3308  
  3309  	// The start time of the cost estimation.
  3310  	StartTime *time.Time `type:"timestamp"`
  3311  }
  3312  
  3313  // String returns the string representation.
  3314  //
  3315  // API parameter values that are decorated as "sensitive" in the API will not
  3316  // be included in the string output. The member name will be present, but the
  3317  // value will be replaced with "sensitive".
  3318  func (s CostEstimationTimeRange) String() string {
  3319  	return awsutil.Prettify(s)
  3320  }
  3321  
  3322  // GoString returns the string representation.
  3323  //
  3324  // API parameter values that are decorated as "sensitive" in the API will not
  3325  // be included in the string output. The member name will be present, but the
  3326  // value will be replaced with "sensitive".
  3327  func (s CostEstimationTimeRange) GoString() string {
  3328  	return s.String()
  3329  }
  3330  
  3331  // SetEndTime sets the EndTime field's value.
  3332  func (s *CostEstimationTimeRange) SetEndTime(v time.Time) *CostEstimationTimeRange {
  3333  	s.EndTime = &v
  3334  	return s
  3335  }
  3336  
  3337  // SetStartTime sets the StartTime field's value.
  3338  func (s *CostEstimationTimeRange) SetStartTime(v time.Time) *CostEstimationTimeRange {
  3339  	s.StartTime = &v
  3340  	return s
  3341  }
  3342  
  3343  type DescribeAccountHealthInput struct {
  3344  	_ struct{} `type:"structure" nopayload:"true"`
  3345  }
  3346  
  3347  // String returns the string representation.
  3348  //
  3349  // API parameter values that are decorated as "sensitive" in the API will not
  3350  // be included in the string output. The member name will be present, but the
  3351  // value will be replaced with "sensitive".
  3352  func (s DescribeAccountHealthInput) String() string {
  3353  	return awsutil.Prettify(s)
  3354  }
  3355  
  3356  // GoString returns the string representation.
  3357  //
  3358  // API parameter values that are decorated as "sensitive" in the API will not
  3359  // be included in the string output. The member name will be present, but the
  3360  // value will be replaced with "sensitive".
  3361  func (s DescribeAccountHealthInput) GoString() string {
  3362  	return s.String()
  3363  }
  3364  
  3365  type DescribeAccountHealthOutput struct {
  3366  	_ struct{} `type:"structure"`
  3367  
  3368  	// An integer that specifies the number of metrics that have been analyzed in
  3369  	// your AWS account.
  3370  	//
  3371  	// MetricsAnalyzed is a required field
  3372  	MetricsAnalyzed *int64 `type:"integer" required:"true"`
  3373  
  3374  	// An integer that specifies the number of open proactive insights in your AWS
  3375  	// account.
  3376  	//
  3377  	// OpenProactiveInsights is a required field
  3378  	OpenProactiveInsights *int64 `type:"integer" required:"true"`
  3379  
  3380  	// An integer that specifies the number of open reactive insights in your AWS
  3381  	// account.
  3382  	//
  3383  	// OpenReactiveInsights is a required field
  3384  	OpenReactiveInsights *int64 `type:"integer" required:"true"`
  3385  
  3386  	// The number of Amazon DevOps Guru resource analysis hours billed to the current
  3387  	// AWS account in the last hour.
  3388  	//
  3389  	// ResourceHours is a required field
  3390  	ResourceHours *int64 `type:"long" required:"true"`
  3391  }
  3392  
  3393  // String returns the string representation.
  3394  //
  3395  // API parameter values that are decorated as "sensitive" in the API will not
  3396  // be included in the string output. The member name will be present, but the
  3397  // value will be replaced with "sensitive".
  3398  func (s DescribeAccountHealthOutput) String() string {
  3399  	return awsutil.Prettify(s)
  3400  }
  3401  
  3402  // GoString returns the string representation.
  3403  //
  3404  // API parameter values that are decorated as "sensitive" in the API will not
  3405  // be included in the string output. The member name will be present, but the
  3406  // value will be replaced with "sensitive".
  3407  func (s DescribeAccountHealthOutput) GoString() string {
  3408  	return s.String()
  3409  }
  3410  
  3411  // SetMetricsAnalyzed sets the MetricsAnalyzed field's value.
  3412  func (s *DescribeAccountHealthOutput) SetMetricsAnalyzed(v int64) *DescribeAccountHealthOutput {
  3413  	s.MetricsAnalyzed = &v
  3414  	return s
  3415  }
  3416  
  3417  // SetOpenProactiveInsights sets the OpenProactiveInsights field's value.
  3418  func (s *DescribeAccountHealthOutput) SetOpenProactiveInsights(v int64) *DescribeAccountHealthOutput {
  3419  	s.OpenProactiveInsights = &v
  3420  	return s
  3421  }
  3422  
  3423  // SetOpenReactiveInsights sets the OpenReactiveInsights field's value.
  3424  func (s *DescribeAccountHealthOutput) SetOpenReactiveInsights(v int64) *DescribeAccountHealthOutput {
  3425  	s.OpenReactiveInsights = &v
  3426  	return s
  3427  }
  3428  
  3429  // SetResourceHours sets the ResourceHours field's value.
  3430  func (s *DescribeAccountHealthOutput) SetResourceHours(v int64) *DescribeAccountHealthOutput {
  3431  	s.ResourceHours = &v
  3432  	return s
  3433  }
  3434  
  3435  type DescribeAccountOverviewInput struct {
  3436  	_ struct{} `type:"structure"`
  3437  
  3438  	// The start of the time range passed in. The start time granularity is at the
  3439  	// day level. The floor of the start time is used. Returned information occurred
  3440  	// after this day.
  3441  	//
  3442  	// FromTime is a required field
  3443  	FromTime *time.Time `type:"timestamp" required:"true"`
  3444  
  3445  	// The end of the time range passed in. The start time granularity is at the
  3446  	// day level. The floor of the start time is used. Returned information occurred
  3447  	// before this day. If this is not specified, then the current day is used.
  3448  	ToTime *time.Time `type:"timestamp"`
  3449  }
  3450  
  3451  // String returns the string representation.
  3452  //
  3453  // API parameter values that are decorated as "sensitive" in the API will not
  3454  // be included in the string output. The member name will be present, but the
  3455  // value will be replaced with "sensitive".
  3456  func (s DescribeAccountOverviewInput) String() string {
  3457  	return awsutil.Prettify(s)
  3458  }
  3459  
  3460  // GoString returns the string representation.
  3461  //
  3462  // API parameter values that are decorated as "sensitive" in the API will not
  3463  // be included in the string output. The member name will be present, but the
  3464  // value will be replaced with "sensitive".
  3465  func (s DescribeAccountOverviewInput) GoString() string {
  3466  	return s.String()
  3467  }
  3468  
  3469  // Validate inspects the fields of the type to determine if they are valid.
  3470  func (s *DescribeAccountOverviewInput) Validate() error {
  3471  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountOverviewInput"}
  3472  	if s.FromTime == nil {
  3473  		invalidParams.Add(request.NewErrParamRequired("FromTime"))
  3474  	}
  3475  
  3476  	if invalidParams.Len() > 0 {
  3477  		return invalidParams
  3478  	}
  3479  	return nil
  3480  }
  3481  
  3482  // SetFromTime sets the FromTime field's value.
  3483  func (s *DescribeAccountOverviewInput) SetFromTime(v time.Time) *DescribeAccountOverviewInput {
  3484  	s.FromTime = &v
  3485  	return s
  3486  }
  3487  
  3488  // SetToTime sets the ToTime field's value.
  3489  func (s *DescribeAccountOverviewInput) SetToTime(v time.Time) *DescribeAccountOverviewInput {
  3490  	s.ToTime = &v
  3491  	return s
  3492  }
  3493  
  3494  type DescribeAccountOverviewOutput struct {
  3495  	_ struct{} `type:"structure"`
  3496  
  3497  	// The Mean Time to Recover (MTTR) for all closed insights that were created
  3498  	// during the time range passed in.
  3499  	//
  3500  	// MeanTimeToRecoverInMilliseconds is a required field
  3501  	MeanTimeToRecoverInMilliseconds *int64 `type:"long" required:"true"`
  3502  
  3503  	// An integer that specifies the number of open proactive insights in your AWS
  3504  	// account that were created during the time range passed in.
  3505  	//
  3506  	// ProactiveInsights is a required field
  3507  	ProactiveInsights *int64 `type:"integer" required:"true"`
  3508  
  3509  	// An integer that specifies the number of open reactive insights in your AWS
  3510  	// account that were created during the time range passed in.
  3511  	//
  3512  	// ReactiveInsights is a required field
  3513  	ReactiveInsights *int64 `type:"integer" required:"true"`
  3514  }
  3515  
  3516  // String returns the string representation.
  3517  //
  3518  // API parameter values that are decorated as "sensitive" in the API will not
  3519  // be included in the string output. The member name will be present, but the
  3520  // value will be replaced with "sensitive".
  3521  func (s DescribeAccountOverviewOutput) String() string {
  3522  	return awsutil.Prettify(s)
  3523  }
  3524  
  3525  // GoString returns the string representation.
  3526  //
  3527  // API parameter values that are decorated as "sensitive" in the API will not
  3528  // be included in the string output. The member name will be present, but the
  3529  // value will be replaced with "sensitive".
  3530  func (s DescribeAccountOverviewOutput) GoString() string {
  3531  	return s.String()
  3532  }
  3533  
  3534  // SetMeanTimeToRecoverInMilliseconds sets the MeanTimeToRecoverInMilliseconds field's value.
  3535  func (s *DescribeAccountOverviewOutput) SetMeanTimeToRecoverInMilliseconds(v int64) *DescribeAccountOverviewOutput {
  3536  	s.MeanTimeToRecoverInMilliseconds = &v
  3537  	return s
  3538  }
  3539  
  3540  // SetProactiveInsights sets the ProactiveInsights field's value.
  3541  func (s *DescribeAccountOverviewOutput) SetProactiveInsights(v int64) *DescribeAccountOverviewOutput {
  3542  	s.ProactiveInsights = &v
  3543  	return s
  3544  }
  3545  
  3546  // SetReactiveInsights sets the ReactiveInsights field's value.
  3547  func (s *DescribeAccountOverviewOutput) SetReactiveInsights(v int64) *DescribeAccountOverviewOutput {
  3548  	s.ReactiveInsights = &v
  3549  	return s
  3550  }
  3551  
  3552  type DescribeAnomalyInput struct {
  3553  	_ struct{} `type:"structure" nopayload:"true"`
  3554  
  3555  	// The ID of the anomaly.
  3556  	//
  3557  	// Id is a required field
  3558  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
  3559  }
  3560  
  3561  // String returns the string representation.
  3562  //
  3563  // API parameter values that are decorated as "sensitive" in the API will not
  3564  // be included in the string output. The member name will be present, but the
  3565  // value will be replaced with "sensitive".
  3566  func (s DescribeAnomalyInput) String() string {
  3567  	return awsutil.Prettify(s)
  3568  }
  3569  
  3570  // GoString returns the string representation.
  3571  //
  3572  // API parameter values that are decorated as "sensitive" in the API will not
  3573  // be included in the string output. The member name will be present, but the
  3574  // value will be replaced with "sensitive".
  3575  func (s DescribeAnomalyInput) GoString() string {
  3576  	return s.String()
  3577  }
  3578  
  3579  // Validate inspects the fields of the type to determine if they are valid.
  3580  func (s *DescribeAnomalyInput) Validate() error {
  3581  	invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyInput"}
  3582  	if s.Id == nil {
  3583  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3584  	}
  3585  	if s.Id != nil && len(*s.Id) < 1 {
  3586  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3587  	}
  3588  
  3589  	if invalidParams.Len() > 0 {
  3590  		return invalidParams
  3591  	}
  3592  	return nil
  3593  }
  3594  
  3595  // SetId sets the Id field's value.
  3596  func (s *DescribeAnomalyInput) SetId(v string) *DescribeAnomalyInput {
  3597  	s.Id = &v
  3598  	return s
  3599  }
  3600  
  3601  type DescribeAnomalyOutput struct {
  3602  	_ struct{} `type:"structure"`
  3603  
  3604  	// A ReactiveAnomaly object that represents the requested anomaly.
  3605  	ProactiveAnomaly *ProactiveAnomaly `type:"structure"`
  3606  
  3607  	// A ProactiveAnomaly object that represents the requested anomaly.
  3608  	ReactiveAnomaly *ReactiveAnomaly `type:"structure"`
  3609  }
  3610  
  3611  // String returns the string representation.
  3612  //
  3613  // API parameter values that are decorated as "sensitive" in the API will not
  3614  // be included in the string output. The member name will be present, but the
  3615  // value will be replaced with "sensitive".
  3616  func (s DescribeAnomalyOutput) String() string {
  3617  	return awsutil.Prettify(s)
  3618  }
  3619  
  3620  // GoString returns the string representation.
  3621  //
  3622  // API parameter values that are decorated as "sensitive" in the API will not
  3623  // be included in the string output. The member name will be present, but the
  3624  // value will be replaced with "sensitive".
  3625  func (s DescribeAnomalyOutput) GoString() string {
  3626  	return s.String()
  3627  }
  3628  
  3629  // SetProactiveAnomaly sets the ProactiveAnomaly field's value.
  3630  func (s *DescribeAnomalyOutput) SetProactiveAnomaly(v *ProactiveAnomaly) *DescribeAnomalyOutput {
  3631  	s.ProactiveAnomaly = v
  3632  	return s
  3633  }
  3634  
  3635  // SetReactiveAnomaly sets the ReactiveAnomaly field's value.
  3636  func (s *DescribeAnomalyOutput) SetReactiveAnomaly(v *ReactiveAnomaly) *DescribeAnomalyOutput {
  3637  	s.ReactiveAnomaly = v
  3638  	return s
  3639  }
  3640  
  3641  type DescribeFeedbackInput struct {
  3642  	_ struct{} `type:"structure"`
  3643  
  3644  	// The ID of the insight for which the feedback was provided.
  3645  	InsightId *string `min:"1" type:"string"`
  3646  }
  3647  
  3648  // String returns the string representation.
  3649  //
  3650  // API parameter values that are decorated as "sensitive" in the API will not
  3651  // be included in the string output. The member name will be present, but the
  3652  // value will be replaced with "sensitive".
  3653  func (s DescribeFeedbackInput) String() string {
  3654  	return awsutil.Prettify(s)
  3655  }
  3656  
  3657  // GoString returns the string representation.
  3658  //
  3659  // API parameter values that are decorated as "sensitive" in the API will not
  3660  // be included in the string output. The member name will be present, but the
  3661  // value will be replaced with "sensitive".
  3662  func (s DescribeFeedbackInput) GoString() string {
  3663  	return s.String()
  3664  }
  3665  
  3666  // Validate inspects the fields of the type to determine if they are valid.
  3667  func (s *DescribeFeedbackInput) Validate() error {
  3668  	invalidParams := request.ErrInvalidParams{Context: "DescribeFeedbackInput"}
  3669  	if s.InsightId != nil && len(*s.InsightId) < 1 {
  3670  		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
  3671  	}
  3672  
  3673  	if invalidParams.Len() > 0 {
  3674  		return invalidParams
  3675  	}
  3676  	return nil
  3677  }
  3678  
  3679  // SetInsightId sets the InsightId field's value.
  3680  func (s *DescribeFeedbackInput) SetInsightId(v string) *DescribeFeedbackInput {
  3681  	s.InsightId = &v
  3682  	return s
  3683  }
  3684  
  3685  type DescribeFeedbackOutput struct {
  3686  	_ struct{} `type:"structure"`
  3687  
  3688  	// Information about insight feedback received from a customer.
  3689  	InsightFeedback *InsightFeedback `type:"structure"`
  3690  }
  3691  
  3692  // String returns the string representation.
  3693  //
  3694  // API parameter values that are decorated as "sensitive" in the API will not
  3695  // be included in the string output. The member name will be present, but the
  3696  // value will be replaced with "sensitive".
  3697  func (s DescribeFeedbackOutput) String() string {
  3698  	return awsutil.Prettify(s)
  3699  }
  3700  
  3701  // GoString returns the string representation.
  3702  //
  3703  // API parameter values that are decorated as "sensitive" in the API will not
  3704  // be included in the string output. The member name will be present, but the
  3705  // value will be replaced with "sensitive".
  3706  func (s DescribeFeedbackOutput) GoString() string {
  3707  	return s.String()
  3708  }
  3709  
  3710  // SetInsightFeedback sets the InsightFeedback field's value.
  3711  func (s *DescribeFeedbackOutput) SetInsightFeedback(v *InsightFeedback) *DescribeFeedbackOutput {
  3712  	s.InsightFeedback = v
  3713  	return s
  3714  }
  3715  
  3716  type DescribeInsightInput struct {
  3717  	_ struct{} `type:"structure" nopayload:"true"`
  3718  
  3719  	// The ID of the insight.
  3720  	//
  3721  	// Id is a required field
  3722  	Id *string `location:"uri" locationName:"Id" min:"1" type:"string" required:"true"`
  3723  }
  3724  
  3725  // String returns the string representation.
  3726  //
  3727  // API parameter values that are decorated as "sensitive" in the API will not
  3728  // be included in the string output. The member name will be present, but the
  3729  // value will be replaced with "sensitive".
  3730  func (s DescribeInsightInput) String() string {
  3731  	return awsutil.Prettify(s)
  3732  }
  3733  
  3734  // GoString returns the string representation.
  3735  //
  3736  // API parameter values that are decorated as "sensitive" in the API will not
  3737  // be included in the string output. The member name will be present, but the
  3738  // value will be replaced with "sensitive".
  3739  func (s DescribeInsightInput) GoString() string {
  3740  	return s.String()
  3741  }
  3742  
  3743  // Validate inspects the fields of the type to determine if they are valid.
  3744  func (s *DescribeInsightInput) Validate() error {
  3745  	invalidParams := request.ErrInvalidParams{Context: "DescribeInsightInput"}
  3746  	if s.Id == nil {
  3747  		invalidParams.Add(request.NewErrParamRequired("Id"))
  3748  	}
  3749  	if s.Id != nil && len(*s.Id) < 1 {
  3750  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  3751  	}
  3752  
  3753  	if invalidParams.Len() > 0 {
  3754  		return invalidParams
  3755  	}
  3756  	return nil
  3757  }
  3758  
  3759  // SetId sets the Id field's value.
  3760  func (s *DescribeInsightInput) SetId(v string) *DescribeInsightInput {
  3761  	s.Id = &v
  3762  	return s
  3763  }
  3764  
  3765  type DescribeInsightOutput struct {
  3766  	_ struct{} `type:"structure"`
  3767  
  3768  	// A ProactiveInsight object that represents the requested insight.
  3769  	ProactiveInsight *ProactiveInsight `type:"structure"`
  3770  
  3771  	// A ReactiveInsight object that represents the requested insight.
  3772  	ReactiveInsight *ReactiveInsight `type:"structure"`
  3773  }
  3774  
  3775  // String returns the string representation.
  3776  //
  3777  // API parameter values that are decorated as "sensitive" in the API will not
  3778  // be included in the string output. The member name will be present, but the
  3779  // value will be replaced with "sensitive".
  3780  func (s DescribeInsightOutput) String() string {
  3781  	return awsutil.Prettify(s)
  3782  }
  3783  
  3784  // GoString returns the string representation.
  3785  //
  3786  // API parameter values that are decorated as "sensitive" in the API will not
  3787  // be included in the string output. The member name will be present, but the
  3788  // value will be replaced with "sensitive".
  3789  func (s DescribeInsightOutput) GoString() string {
  3790  	return s.String()
  3791  }
  3792  
  3793  // SetProactiveInsight sets the ProactiveInsight field's value.
  3794  func (s *DescribeInsightOutput) SetProactiveInsight(v *ProactiveInsight) *DescribeInsightOutput {
  3795  	s.ProactiveInsight = v
  3796  	return s
  3797  }
  3798  
  3799  // SetReactiveInsight sets the ReactiveInsight field's value.
  3800  func (s *DescribeInsightOutput) SetReactiveInsight(v *ReactiveInsight) *DescribeInsightOutput {
  3801  	s.ReactiveInsight = v
  3802  	return s
  3803  }
  3804  
  3805  type DescribeResourceCollectionHealthInput struct {
  3806  	_ struct{} `type:"structure" nopayload:"true"`
  3807  
  3808  	// The pagination token to use to retrieve the next page of results for this
  3809  	// operation. If this value is null, it retrieves the first page.
  3810  	NextToken *string `location:"querystring" locationName:"NextToken" min:"36" type:"string"`
  3811  
  3812  	// An AWS resource collection type. This type specifies how analyzed AWS resources
  3813  	// are defined. The one type of AWS resource collection supported is AWS CloudFormation
  3814  	// stacks. DevOps Guru can be configured to analyze only the AWS resources that
  3815  	// are defined in the stacks. You can specify up to 500 AWS CloudFormation stacks.
  3816  	//
  3817  	// ResourceCollectionType is a required field
  3818  	ResourceCollectionType *string `location:"uri" locationName:"ResourceCollectionType" type:"string" required:"true" enum:"ResourceCollectionType"`
  3819  }
  3820  
  3821  // String returns the string representation.
  3822  //
  3823  // API parameter values that are decorated as "sensitive" in the API will not
  3824  // be included in the string output. The member name will be present, but the
  3825  // value will be replaced with "sensitive".
  3826  func (s DescribeResourceCollectionHealthInput) String() string {
  3827  	return awsutil.Prettify(s)
  3828  }
  3829  
  3830  // GoString returns the string representation.
  3831  //
  3832  // API parameter values that are decorated as "sensitive" in the API will not
  3833  // be included in the string output. The member name will be present, but the
  3834  // value will be replaced with "sensitive".
  3835  func (s DescribeResourceCollectionHealthInput) GoString() string {
  3836  	return s.String()
  3837  }
  3838  
  3839  // Validate inspects the fields of the type to determine if they are valid.
  3840  func (s *DescribeResourceCollectionHealthInput) Validate() error {
  3841  	invalidParams := request.ErrInvalidParams{Context: "DescribeResourceCollectionHealthInput"}
  3842  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  3843  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  3844  	}
  3845  	if s.ResourceCollectionType == nil {
  3846  		invalidParams.Add(request.NewErrParamRequired("ResourceCollectionType"))
  3847  	}
  3848  	if s.ResourceCollectionType != nil && len(*s.ResourceCollectionType) < 1 {
  3849  		invalidParams.Add(request.NewErrParamMinLen("ResourceCollectionType", 1))
  3850  	}
  3851  
  3852  	if invalidParams.Len() > 0 {
  3853  		return invalidParams
  3854  	}
  3855  	return nil
  3856  }
  3857  
  3858  // SetNextToken sets the NextToken field's value.
  3859  func (s *DescribeResourceCollectionHealthInput) SetNextToken(v string) *DescribeResourceCollectionHealthInput {
  3860  	s.NextToken = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetResourceCollectionType sets the ResourceCollectionType field's value.
  3865  func (s *DescribeResourceCollectionHealthInput) SetResourceCollectionType(v string) *DescribeResourceCollectionHealthInput {
  3866  	s.ResourceCollectionType = &v
  3867  	return s
  3868  }
  3869  
  3870  type DescribeResourceCollectionHealthOutput struct {
  3871  	_ struct{} `type:"structure"`
  3872  
  3873  	// The returned CloudFormationHealthOverview object that contains an InsightHealthOverview
  3874  	// object with the requested system health information.
  3875  	//
  3876  	// CloudFormation is a required field
  3877  	CloudFormation []*CloudFormationHealth `type:"list" required:"true"`
  3878  
  3879  	// The pagination token to use to retrieve the next page of results for this
  3880  	// operation. If there are no more pages, this value is null.
  3881  	NextToken *string `min:"36" type:"string"`
  3882  
  3883  	// An array of ServiceHealth objects that describes the health of the AWS services
  3884  	// associated with the resources in the collection.
  3885  	Service []*ServiceHealth `type:"list"`
  3886  }
  3887  
  3888  // String returns the string representation.
  3889  //
  3890  // API parameter values that are decorated as "sensitive" in the API will not
  3891  // be included in the string output. The member name will be present, but the
  3892  // value will be replaced with "sensitive".
  3893  func (s DescribeResourceCollectionHealthOutput) String() string {
  3894  	return awsutil.Prettify(s)
  3895  }
  3896  
  3897  // GoString returns the string representation.
  3898  //
  3899  // API parameter values that are decorated as "sensitive" in the API will not
  3900  // be included in the string output. The member name will be present, but the
  3901  // value will be replaced with "sensitive".
  3902  func (s DescribeResourceCollectionHealthOutput) GoString() string {
  3903  	return s.String()
  3904  }
  3905  
  3906  // SetCloudFormation sets the CloudFormation field's value.
  3907  func (s *DescribeResourceCollectionHealthOutput) SetCloudFormation(v []*CloudFormationHealth) *DescribeResourceCollectionHealthOutput {
  3908  	s.CloudFormation = v
  3909  	return s
  3910  }
  3911  
  3912  // SetNextToken sets the NextToken field's value.
  3913  func (s *DescribeResourceCollectionHealthOutput) SetNextToken(v string) *DescribeResourceCollectionHealthOutput {
  3914  	s.NextToken = &v
  3915  	return s
  3916  }
  3917  
  3918  // SetService sets the Service field's value.
  3919  func (s *DescribeResourceCollectionHealthOutput) SetService(v []*ServiceHealth) *DescribeResourceCollectionHealthOutput {
  3920  	s.Service = v
  3921  	return s
  3922  }
  3923  
  3924  type DescribeServiceIntegrationInput struct {
  3925  	_ struct{} `type:"structure" nopayload:"true"`
  3926  }
  3927  
  3928  // String returns the string representation.
  3929  //
  3930  // API parameter values that are decorated as "sensitive" in the API will not
  3931  // be included in the string output. The member name will be present, but the
  3932  // value will be replaced with "sensitive".
  3933  func (s DescribeServiceIntegrationInput) String() string {
  3934  	return awsutil.Prettify(s)
  3935  }
  3936  
  3937  // GoString returns the string representation.
  3938  //
  3939  // API parameter values that are decorated as "sensitive" in the API will not
  3940  // be included in the string output. The member name will be present, but the
  3941  // value will be replaced with "sensitive".
  3942  func (s DescribeServiceIntegrationInput) GoString() string {
  3943  	return s.String()
  3944  }
  3945  
  3946  type DescribeServiceIntegrationOutput struct {
  3947  	_ struct{} `type:"structure"`
  3948  
  3949  	// Information about the integration of DevOps Guru with another AWS service,
  3950  	// such as AWS Systems Manager.
  3951  	ServiceIntegration *ServiceIntegrationConfig `type:"structure"`
  3952  }
  3953  
  3954  // String returns the string representation.
  3955  //
  3956  // API parameter values that are decorated as "sensitive" in the API will not
  3957  // be included in the string output. The member name will be present, but the
  3958  // value will be replaced with "sensitive".
  3959  func (s DescribeServiceIntegrationOutput) String() string {
  3960  	return awsutil.Prettify(s)
  3961  }
  3962  
  3963  // GoString returns the string representation.
  3964  //
  3965  // API parameter values that are decorated as "sensitive" in the API will not
  3966  // be included in the string output. The member name will be present, but the
  3967  // value will be replaced with "sensitive".
  3968  func (s DescribeServiceIntegrationOutput) GoString() string {
  3969  	return s.String()
  3970  }
  3971  
  3972  // SetServiceIntegration sets the ServiceIntegration field's value.
  3973  func (s *DescribeServiceIntegrationOutput) SetServiceIntegration(v *ServiceIntegrationConfig) *DescribeServiceIntegrationOutput {
  3974  	s.ServiceIntegration = v
  3975  	return s
  3976  }
  3977  
  3978  // A range of time that specifies when anomalous behavior in an anomaly or insight
  3979  // ended.
  3980  type EndTimeRange struct {
  3981  	_ struct{} `type:"structure"`
  3982  
  3983  	// The earliest end time in the time range.
  3984  	FromTime *time.Time `type:"timestamp"`
  3985  
  3986  	// The latest end time in the time range.
  3987  	ToTime *time.Time `type:"timestamp"`
  3988  }
  3989  
  3990  // String returns the string representation.
  3991  //
  3992  // API parameter values that are decorated as "sensitive" in the API will not
  3993  // be included in the string output. The member name will be present, but the
  3994  // value will be replaced with "sensitive".
  3995  func (s EndTimeRange) String() string {
  3996  	return awsutil.Prettify(s)
  3997  }
  3998  
  3999  // GoString returns the string representation.
  4000  //
  4001  // API parameter values that are decorated as "sensitive" in the API will not
  4002  // be included in the string output. The member name will be present, but the
  4003  // value will be replaced with "sensitive".
  4004  func (s EndTimeRange) GoString() string {
  4005  	return s.String()
  4006  }
  4007  
  4008  // SetFromTime sets the FromTime field's value.
  4009  func (s *EndTimeRange) SetFromTime(v time.Time) *EndTimeRange {
  4010  	s.FromTime = &v
  4011  	return s
  4012  }
  4013  
  4014  // SetToTime sets the ToTime field's value.
  4015  func (s *EndTimeRange) SetToTime(v time.Time) *EndTimeRange {
  4016  	s.ToTime = &v
  4017  	return s
  4018  }
  4019  
  4020  // An AWS resource event. AWS resource events and metrics are analyzed by DevOps
  4021  // Guru to find anomalous behavior and provide recommendations to improve your
  4022  // operational solutions.
  4023  type Event struct {
  4024  	_ struct{} `type:"structure"`
  4025  
  4026  	// The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, where DevOps Guru analysis
  4027  	// found the event.
  4028  	DataSource *string `type:"string" enum:"EventDataSource"`
  4029  
  4030  	// The class of the event. The class specifies what the event is related to,
  4031  	// such as an infrastructure change, a deployment, or a schema change.
  4032  	EventClass *string `type:"string" enum:"EventClass"`
  4033  
  4034  	// The AWS source that emitted the event.
  4035  	EventSource *string `min:"10" type:"string"`
  4036  
  4037  	// The ID of the event.
  4038  	Id *string `type:"string"`
  4039  
  4040  	// The name of the event.
  4041  	Name *string `type:"string"`
  4042  
  4043  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  4044  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  4045  	// be configured to analyze only the AWS resources that are defined in the stacks.
  4046  	// You can specify up to 500 AWS CloudFormation stacks.
  4047  	ResourceCollection *ResourceCollection `type:"structure"`
  4048  
  4049  	// An EventResource object that contains information about the resource that
  4050  	// emitted the event.
  4051  	Resources []*EventResource `type:"list"`
  4052  
  4053  	// A Timestamp that specifies the time the event occurred.
  4054  	Time *time.Time `type:"timestamp"`
  4055  }
  4056  
  4057  // String returns the string representation.
  4058  //
  4059  // API parameter values that are decorated as "sensitive" in the API will not
  4060  // be included in the string output. The member name will be present, but the
  4061  // value will be replaced with "sensitive".
  4062  func (s Event) String() string {
  4063  	return awsutil.Prettify(s)
  4064  }
  4065  
  4066  // GoString returns the string representation.
  4067  //
  4068  // API parameter values that are decorated as "sensitive" in the API will not
  4069  // be included in the string output. The member name will be present, but the
  4070  // value will be replaced with "sensitive".
  4071  func (s Event) GoString() string {
  4072  	return s.String()
  4073  }
  4074  
  4075  // SetDataSource sets the DataSource field's value.
  4076  func (s *Event) SetDataSource(v string) *Event {
  4077  	s.DataSource = &v
  4078  	return s
  4079  }
  4080  
  4081  // SetEventClass sets the EventClass field's value.
  4082  func (s *Event) SetEventClass(v string) *Event {
  4083  	s.EventClass = &v
  4084  	return s
  4085  }
  4086  
  4087  // SetEventSource sets the EventSource field's value.
  4088  func (s *Event) SetEventSource(v string) *Event {
  4089  	s.EventSource = &v
  4090  	return s
  4091  }
  4092  
  4093  // SetId sets the Id field's value.
  4094  func (s *Event) SetId(v string) *Event {
  4095  	s.Id = &v
  4096  	return s
  4097  }
  4098  
  4099  // SetName sets the Name field's value.
  4100  func (s *Event) SetName(v string) *Event {
  4101  	s.Name = &v
  4102  	return s
  4103  }
  4104  
  4105  // SetResourceCollection sets the ResourceCollection field's value.
  4106  func (s *Event) SetResourceCollection(v *ResourceCollection) *Event {
  4107  	s.ResourceCollection = v
  4108  	return s
  4109  }
  4110  
  4111  // SetResources sets the Resources field's value.
  4112  func (s *Event) SetResources(v []*EventResource) *Event {
  4113  	s.Resources = v
  4114  	return s
  4115  }
  4116  
  4117  // SetTime sets the Time field's value.
  4118  func (s *Event) SetTime(v time.Time) *Event {
  4119  	s.Time = &v
  4120  	return s
  4121  }
  4122  
  4123  // The AWS resource that emitted an event. AWS resource events and metrics are
  4124  // analyzed by DevOps Guru to find anomalous behavior and provide recommendations
  4125  // to improve your operational solutions.
  4126  type EventResource struct {
  4127  	_ struct{} `type:"structure"`
  4128  
  4129  	// The Amazon Resource Name (ARN) of the resource that emitted an event.
  4130  	Arn *string `min:"36" type:"string"`
  4131  
  4132  	// The name of the resource that emitted an event.
  4133  	Name *string `type:"string"`
  4134  
  4135  	// The type of resource that emitted an event.
  4136  	Type *string `type:"string"`
  4137  }
  4138  
  4139  // String returns the string representation.
  4140  //
  4141  // API parameter values that are decorated as "sensitive" in the API will not
  4142  // be included in the string output. The member name will be present, but the
  4143  // value will be replaced with "sensitive".
  4144  func (s EventResource) String() string {
  4145  	return awsutil.Prettify(s)
  4146  }
  4147  
  4148  // GoString returns the string representation.
  4149  //
  4150  // API parameter values that are decorated as "sensitive" in the API will not
  4151  // be included in the string output. The member name will be present, but the
  4152  // value will be replaced with "sensitive".
  4153  func (s EventResource) GoString() string {
  4154  	return s.String()
  4155  }
  4156  
  4157  // SetArn sets the Arn field's value.
  4158  func (s *EventResource) SetArn(v string) *EventResource {
  4159  	s.Arn = &v
  4160  	return s
  4161  }
  4162  
  4163  // SetName sets the Name field's value.
  4164  func (s *EventResource) SetName(v string) *EventResource {
  4165  	s.Name = &v
  4166  	return s
  4167  }
  4168  
  4169  // SetType sets the Type field's value.
  4170  func (s *EventResource) SetType(v string) *EventResource {
  4171  	s.Type = &v
  4172  	return s
  4173  }
  4174  
  4175  // The time range during which an AWS event occurred. AWS resource events and
  4176  // metrics are analyzed by DevOps Guru to find anomalous behavior and provide
  4177  // recommendations to improve your operational solutions.
  4178  type EventTimeRange struct {
  4179  	_ struct{} `type:"structure"`
  4180  
  4181  	// The time when the event started.
  4182  	//
  4183  	// FromTime is a required field
  4184  	FromTime *time.Time `type:"timestamp" required:"true"`
  4185  
  4186  	// The time when the event ended.
  4187  	//
  4188  	// ToTime is a required field
  4189  	ToTime *time.Time `type:"timestamp" required:"true"`
  4190  }
  4191  
  4192  // String returns the string representation.
  4193  //
  4194  // API parameter values that are decorated as "sensitive" in the API will not
  4195  // be included in the string output. The member name will be present, but the
  4196  // value will be replaced with "sensitive".
  4197  func (s EventTimeRange) String() string {
  4198  	return awsutil.Prettify(s)
  4199  }
  4200  
  4201  // GoString returns the string representation.
  4202  //
  4203  // API parameter values that are decorated as "sensitive" in the API will not
  4204  // be included in the string output. The member name will be present, but the
  4205  // value will be replaced with "sensitive".
  4206  func (s EventTimeRange) GoString() string {
  4207  	return s.String()
  4208  }
  4209  
  4210  // Validate inspects the fields of the type to determine if they are valid.
  4211  func (s *EventTimeRange) Validate() error {
  4212  	invalidParams := request.ErrInvalidParams{Context: "EventTimeRange"}
  4213  	if s.FromTime == nil {
  4214  		invalidParams.Add(request.NewErrParamRequired("FromTime"))
  4215  	}
  4216  	if s.ToTime == nil {
  4217  		invalidParams.Add(request.NewErrParamRequired("ToTime"))
  4218  	}
  4219  
  4220  	if invalidParams.Len() > 0 {
  4221  		return invalidParams
  4222  	}
  4223  	return nil
  4224  }
  4225  
  4226  // SetFromTime sets the FromTime field's value.
  4227  func (s *EventTimeRange) SetFromTime(v time.Time) *EventTimeRange {
  4228  	s.FromTime = &v
  4229  	return s
  4230  }
  4231  
  4232  // SetToTime sets the ToTime field's value.
  4233  func (s *EventTimeRange) SetToTime(v time.Time) *EventTimeRange {
  4234  	s.ToTime = &v
  4235  	return s
  4236  }
  4237  
  4238  type GetCostEstimationInput struct {
  4239  	_ struct{} `type:"structure" nopayload:"true"`
  4240  
  4241  	// The pagination token to use to retrieve the next page of results for this
  4242  	// operation. If this value is null, it retrieves the first page.
  4243  	NextToken *string `location:"querystring" locationName:"NextToken" min:"36" type:"string"`
  4244  }
  4245  
  4246  // String returns the string representation.
  4247  //
  4248  // API parameter values that are decorated as "sensitive" in the API will not
  4249  // be included in the string output. The member name will be present, but the
  4250  // value will be replaced with "sensitive".
  4251  func (s GetCostEstimationInput) String() string {
  4252  	return awsutil.Prettify(s)
  4253  }
  4254  
  4255  // GoString returns the string representation.
  4256  //
  4257  // API parameter values that are decorated as "sensitive" in the API will not
  4258  // be included in the string output. The member name will be present, but the
  4259  // value will be replaced with "sensitive".
  4260  func (s GetCostEstimationInput) GoString() string {
  4261  	return s.String()
  4262  }
  4263  
  4264  // Validate inspects the fields of the type to determine if they are valid.
  4265  func (s *GetCostEstimationInput) Validate() error {
  4266  	invalidParams := request.ErrInvalidParams{Context: "GetCostEstimationInput"}
  4267  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  4268  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  4269  	}
  4270  
  4271  	if invalidParams.Len() > 0 {
  4272  		return invalidParams
  4273  	}
  4274  	return nil
  4275  }
  4276  
  4277  // SetNextToken sets the NextToken field's value.
  4278  func (s *GetCostEstimationInput) SetNextToken(v string) *GetCostEstimationInput {
  4279  	s.NextToken = &v
  4280  	return s
  4281  }
  4282  
  4283  type GetCostEstimationOutput struct {
  4284  	_ struct{} `type:"structure"`
  4285  
  4286  	// An array of ResourceCost objects that each contains details about the monthly
  4287  	// cost estimate to analyze one of your AWS resources.
  4288  	Costs []*ServiceResourceCost `type:"list"`
  4289  
  4290  	// The pagination token to use to retrieve the next page of results for this
  4291  	// operation. If there are no more pages, this value is null.
  4292  	NextToken *string `min:"36" type:"string"`
  4293  
  4294  	// The collection of the AWS resources used to create your monthly DevOps Guru
  4295  	// cost estimate.
  4296  	ResourceCollection *CostEstimationResourceCollectionFilter `type:"structure"`
  4297  
  4298  	// The status of creating this cost estimate. If it's still in progress, the
  4299  	// status ONGOING is returned. If it is finished, the status COMPLETED is returned.
  4300  	Status *string `type:"string" enum:"CostEstimationStatus"`
  4301  
  4302  	// The start and end time of the cost estimation.
  4303  	TimeRange *CostEstimationTimeRange `type:"structure"`
  4304  
  4305  	// The estimated monthly cost to analyze the AWS resources. This value is the
  4306  	// sum of the estimated costs to analyze each resource in the Costs object in
  4307  	// this response.
  4308  	TotalCost *float64 `type:"double"`
  4309  }
  4310  
  4311  // String returns the string representation.
  4312  //
  4313  // API parameter values that are decorated as "sensitive" in the API will not
  4314  // be included in the string output. The member name will be present, but the
  4315  // value will be replaced with "sensitive".
  4316  func (s GetCostEstimationOutput) String() string {
  4317  	return awsutil.Prettify(s)
  4318  }
  4319  
  4320  // GoString returns the string representation.
  4321  //
  4322  // API parameter values that are decorated as "sensitive" in the API will not
  4323  // be included in the string output. The member name will be present, but the
  4324  // value will be replaced with "sensitive".
  4325  func (s GetCostEstimationOutput) GoString() string {
  4326  	return s.String()
  4327  }
  4328  
  4329  // SetCosts sets the Costs field's value.
  4330  func (s *GetCostEstimationOutput) SetCosts(v []*ServiceResourceCost) *GetCostEstimationOutput {
  4331  	s.Costs = v
  4332  	return s
  4333  }
  4334  
  4335  // SetNextToken sets the NextToken field's value.
  4336  func (s *GetCostEstimationOutput) SetNextToken(v string) *GetCostEstimationOutput {
  4337  	s.NextToken = &v
  4338  	return s
  4339  }
  4340  
  4341  // SetResourceCollection sets the ResourceCollection field's value.
  4342  func (s *GetCostEstimationOutput) SetResourceCollection(v *CostEstimationResourceCollectionFilter) *GetCostEstimationOutput {
  4343  	s.ResourceCollection = v
  4344  	return s
  4345  }
  4346  
  4347  // SetStatus sets the Status field's value.
  4348  func (s *GetCostEstimationOutput) SetStatus(v string) *GetCostEstimationOutput {
  4349  	s.Status = &v
  4350  	return s
  4351  }
  4352  
  4353  // SetTimeRange sets the TimeRange field's value.
  4354  func (s *GetCostEstimationOutput) SetTimeRange(v *CostEstimationTimeRange) *GetCostEstimationOutput {
  4355  	s.TimeRange = v
  4356  	return s
  4357  }
  4358  
  4359  // SetTotalCost sets the TotalCost field's value.
  4360  func (s *GetCostEstimationOutput) SetTotalCost(v float64) *GetCostEstimationOutput {
  4361  	s.TotalCost = &v
  4362  	return s
  4363  }
  4364  
  4365  type GetResourceCollectionInput struct {
  4366  	_ struct{} `type:"structure" nopayload:"true"`
  4367  
  4368  	// The pagination token to use to retrieve the next page of results for this
  4369  	// operation. If this value is null, it retrieves the first page.
  4370  	NextToken *string `location:"querystring" locationName:"NextToken" min:"36" type:"string"`
  4371  
  4372  	// The type of AWS resource collections to return. The one valid value is CLOUD_FORMATION
  4373  	// for AWS CloudFormation stacks.
  4374  	//
  4375  	// ResourceCollectionType is a required field
  4376  	ResourceCollectionType *string `location:"uri" locationName:"ResourceCollectionType" type:"string" required:"true" enum:"ResourceCollectionType"`
  4377  }
  4378  
  4379  // String returns the string representation.
  4380  //
  4381  // API parameter values that are decorated as "sensitive" in the API will not
  4382  // be included in the string output. The member name will be present, but the
  4383  // value will be replaced with "sensitive".
  4384  func (s GetResourceCollectionInput) String() string {
  4385  	return awsutil.Prettify(s)
  4386  }
  4387  
  4388  // GoString returns the string representation.
  4389  //
  4390  // API parameter values that are decorated as "sensitive" in the API will not
  4391  // be included in the string output. The member name will be present, but the
  4392  // value will be replaced with "sensitive".
  4393  func (s GetResourceCollectionInput) GoString() string {
  4394  	return s.String()
  4395  }
  4396  
  4397  // Validate inspects the fields of the type to determine if they are valid.
  4398  func (s *GetResourceCollectionInput) Validate() error {
  4399  	invalidParams := request.ErrInvalidParams{Context: "GetResourceCollectionInput"}
  4400  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  4401  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  4402  	}
  4403  	if s.ResourceCollectionType == nil {
  4404  		invalidParams.Add(request.NewErrParamRequired("ResourceCollectionType"))
  4405  	}
  4406  	if s.ResourceCollectionType != nil && len(*s.ResourceCollectionType) < 1 {
  4407  		invalidParams.Add(request.NewErrParamMinLen("ResourceCollectionType", 1))
  4408  	}
  4409  
  4410  	if invalidParams.Len() > 0 {
  4411  		return invalidParams
  4412  	}
  4413  	return nil
  4414  }
  4415  
  4416  // SetNextToken sets the NextToken field's value.
  4417  func (s *GetResourceCollectionInput) SetNextToken(v string) *GetResourceCollectionInput {
  4418  	s.NextToken = &v
  4419  	return s
  4420  }
  4421  
  4422  // SetResourceCollectionType sets the ResourceCollectionType field's value.
  4423  func (s *GetResourceCollectionInput) SetResourceCollectionType(v string) *GetResourceCollectionInput {
  4424  	s.ResourceCollectionType = &v
  4425  	return s
  4426  }
  4427  
  4428  type GetResourceCollectionOutput struct {
  4429  	_ struct{} `type:"structure"`
  4430  
  4431  	// The pagination token to use to retrieve the next page of results for this
  4432  	// operation. If there are no more pages, this value is null.
  4433  	NextToken *string `min:"36" type:"string"`
  4434  
  4435  	// The requested list of AWS resource collections. The one type of AWS resource
  4436  	// collection supported is AWS CloudFormation stacks. DevOps Guru can be configured
  4437  	// to analyze only the AWS resources that are defined in the stacks. You can
  4438  	// specify up to 500 AWS CloudFormation stacks.
  4439  	ResourceCollection *ResourceCollectionFilter `type:"structure"`
  4440  }
  4441  
  4442  // String returns the string representation.
  4443  //
  4444  // API parameter values that are decorated as "sensitive" in the API will not
  4445  // be included in the string output. The member name will be present, but the
  4446  // value will be replaced with "sensitive".
  4447  func (s GetResourceCollectionOutput) String() string {
  4448  	return awsutil.Prettify(s)
  4449  }
  4450  
  4451  // GoString returns the string representation.
  4452  //
  4453  // API parameter values that are decorated as "sensitive" in the API will not
  4454  // be included in the string output. The member name will be present, but the
  4455  // value will be replaced with "sensitive".
  4456  func (s GetResourceCollectionOutput) GoString() string {
  4457  	return s.String()
  4458  }
  4459  
  4460  // SetNextToken sets the NextToken field's value.
  4461  func (s *GetResourceCollectionOutput) SetNextToken(v string) *GetResourceCollectionOutput {
  4462  	s.NextToken = &v
  4463  	return s
  4464  }
  4465  
  4466  // SetResourceCollection sets the ResourceCollection field's value.
  4467  func (s *GetResourceCollectionOutput) SetResourceCollection(v *ResourceCollectionFilter) *GetResourceCollectionOutput {
  4468  	s.ResourceCollection = v
  4469  	return s
  4470  }
  4471  
  4472  // Information about insight feedback received from a customer.
  4473  type InsightFeedback struct {
  4474  	_ struct{} `type:"structure"`
  4475  
  4476  	// The feedback provided by the customer.
  4477  	Feedback *string `type:"string" enum:"InsightFeedbackOption"`
  4478  
  4479  	// The insight feedback ID.
  4480  	Id *string `min:"1" type:"string"`
  4481  }
  4482  
  4483  // String returns the string representation.
  4484  //
  4485  // API parameter values that are decorated as "sensitive" in the API will not
  4486  // be included in the string output. The member name will be present, but the
  4487  // value will be replaced with "sensitive".
  4488  func (s InsightFeedback) String() string {
  4489  	return awsutil.Prettify(s)
  4490  }
  4491  
  4492  // GoString returns the string representation.
  4493  //
  4494  // API parameter values that are decorated as "sensitive" in the API will not
  4495  // be included in the string output. The member name will be present, but the
  4496  // value will be replaced with "sensitive".
  4497  func (s InsightFeedback) GoString() string {
  4498  	return s.String()
  4499  }
  4500  
  4501  // Validate inspects the fields of the type to determine if they are valid.
  4502  func (s *InsightFeedback) Validate() error {
  4503  	invalidParams := request.ErrInvalidParams{Context: "InsightFeedback"}
  4504  	if s.Id != nil && len(*s.Id) < 1 {
  4505  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  4506  	}
  4507  
  4508  	if invalidParams.Len() > 0 {
  4509  		return invalidParams
  4510  	}
  4511  	return nil
  4512  }
  4513  
  4514  // SetFeedback sets the Feedback field's value.
  4515  func (s *InsightFeedback) SetFeedback(v string) *InsightFeedback {
  4516  	s.Feedback = &v
  4517  	return s
  4518  }
  4519  
  4520  // SetId sets the Id field's value.
  4521  func (s *InsightFeedback) SetId(v string) *InsightFeedback {
  4522  	s.Id = &v
  4523  	return s
  4524  }
  4525  
  4526  // Information about the number of open reactive and proactive insights that
  4527  // can be used to gauge the health of your system.
  4528  type InsightHealth struct {
  4529  	_ struct{} `type:"structure"`
  4530  
  4531  	// The Meant Time to Recover (MTTR) for the insight.
  4532  	MeanTimeToRecoverInMilliseconds *int64 `type:"long"`
  4533  
  4534  	// The number of open proactive insights.
  4535  	OpenProactiveInsights *int64 `type:"integer"`
  4536  
  4537  	// The number of open reactive insights.
  4538  	OpenReactiveInsights *int64 `type:"integer"`
  4539  }
  4540  
  4541  // String returns the string representation.
  4542  //
  4543  // API parameter values that are decorated as "sensitive" in the API will not
  4544  // be included in the string output. The member name will be present, but the
  4545  // value will be replaced with "sensitive".
  4546  func (s InsightHealth) String() string {
  4547  	return awsutil.Prettify(s)
  4548  }
  4549  
  4550  // GoString returns the string representation.
  4551  //
  4552  // API parameter values that are decorated as "sensitive" in the API will not
  4553  // be included in the string output. The member name will be present, but the
  4554  // value will be replaced with "sensitive".
  4555  func (s InsightHealth) GoString() string {
  4556  	return s.String()
  4557  }
  4558  
  4559  // SetMeanTimeToRecoverInMilliseconds sets the MeanTimeToRecoverInMilliseconds field's value.
  4560  func (s *InsightHealth) SetMeanTimeToRecoverInMilliseconds(v int64) *InsightHealth {
  4561  	s.MeanTimeToRecoverInMilliseconds = &v
  4562  	return s
  4563  }
  4564  
  4565  // SetOpenProactiveInsights sets the OpenProactiveInsights field's value.
  4566  func (s *InsightHealth) SetOpenProactiveInsights(v int64) *InsightHealth {
  4567  	s.OpenProactiveInsights = &v
  4568  	return s
  4569  }
  4570  
  4571  // SetOpenReactiveInsights sets the OpenReactiveInsights field's value.
  4572  func (s *InsightHealth) SetOpenReactiveInsights(v int64) *InsightHealth {
  4573  	s.OpenReactiveInsights = &v
  4574  	return s
  4575  }
  4576  
  4577  // A time ranged that specifies when the observed behavior in an insight started
  4578  // and ended.
  4579  type InsightTimeRange struct {
  4580  	_ struct{} `type:"structure"`
  4581  
  4582  	// The time when the behavior described in an insight ended.
  4583  	EndTime *time.Time `type:"timestamp"`
  4584  
  4585  	// The time when the behavior described in an insight started.
  4586  	//
  4587  	// StartTime is a required field
  4588  	StartTime *time.Time `type:"timestamp" required:"true"`
  4589  }
  4590  
  4591  // String returns the string representation.
  4592  //
  4593  // API parameter values that are decorated as "sensitive" in the API will not
  4594  // be included in the string output. The member name will be present, but the
  4595  // value will be replaced with "sensitive".
  4596  func (s InsightTimeRange) String() string {
  4597  	return awsutil.Prettify(s)
  4598  }
  4599  
  4600  // GoString returns the string representation.
  4601  //
  4602  // API parameter values that are decorated as "sensitive" in the API will not
  4603  // be included in the string output. The member name will be present, but the
  4604  // value will be replaced with "sensitive".
  4605  func (s InsightTimeRange) GoString() string {
  4606  	return s.String()
  4607  }
  4608  
  4609  // SetEndTime sets the EndTime field's value.
  4610  func (s *InsightTimeRange) SetEndTime(v time.Time) *InsightTimeRange {
  4611  	s.EndTime = &v
  4612  	return s
  4613  }
  4614  
  4615  // SetStartTime sets the StartTime field's value.
  4616  func (s *InsightTimeRange) SetStartTime(v time.Time) *InsightTimeRange {
  4617  	s.StartTime = &v
  4618  	return s
  4619  }
  4620  
  4621  // An internal failure in an Amazon service occurred.
  4622  type InternalServerException struct {
  4623  	_            struct{}                  `type:"structure"`
  4624  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4625  
  4626  	Message_ *string `locationName:"Message" type:"string"`
  4627  
  4628  	// The number of seconds after which the action that caused the internal server
  4629  	// exception can be retried.
  4630  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  4631  }
  4632  
  4633  // String returns the string representation.
  4634  //
  4635  // API parameter values that are decorated as "sensitive" in the API will not
  4636  // be included in the string output. The member name will be present, but the
  4637  // value will be replaced with "sensitive".
  4638  func (s InternalServerException) String() string {
  4639  	return awsutil.Prettify(s)
  4640  }
  4641  
  4642  // GoString returns the string representation.
  4643  //
  4644  // API parameter values that are decorated as "sensitive" in the API will not
  4645  // be included in the string output. The member name will be present, but the
  4646  // value will be replaced with "sensitive".
  4647  func (s InternalServerException) GoString() string {
  4648  	return s.String()
  4649  }
  4650  
  4651  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  4652  	return &InternalServerException{
  4653  		RespMetadata: v,
  4654  	}
  4655  }
  4656  
  4657  // Code returns the exception type name.
  4658  func (s *InternalServerException) Code() string {
  4659  	return "InternalServerException"
  4660  }
  4661  
  4662  // Message returns the exception's message.
  4663  func (s *InternalServerException) Message() string {
  4664  	if s.Message_ != nil {
  4665  		return *s.Message_
  4666  	}
  4667  	return ""
  4668  }
  4669  
  4670  // OrigErr always returns nil, satisfies awserr.Error interface.
  4671  func (s *InternalServerException) OrigErr() error {
  4672  	return nil
  4673  }
  4674  
  4675  func (s *InternalServerException) Error() string {
  4676  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4677  }
  4678  
  4679  // Status code returns the HTTP status code for the request's response error.
  4680  func (s *InternalServerException) StatusCode() int {
  4681  	return s.RespMetadata.StatusCode
  4682  }
  4683  
  4684  // RequestID returns the service's response RequestID for request.
  4685  func (s *InternalServerException) RequestID() string {
  4686  	return s.RespMetadata.RequestID
  4687  }
  4688  
  4689  type ListAnomaliesForInsightInput struct {
  4690  	_ struct{} `type:"structure"`
  4691  
  4692  	// The ID of the insight. The returned anomalies belong to this insight.
  4693  	//
  4694  	// InsightId is a required field
  4695  	InsightId *string `location:"uri" locationName:"InsightId" min:"1" type:"string" required:"true"`
  4696  
  4697  	// The maximum number of results to return with a single call. To retrieve the
  4698  	// remaining results, make another call with the returned nextToken value.
  4699  	MaxResults *int64 `min:"1" type:"integer"`
  4700  
  4701  	// The pagination token to use to retrieve the next page of results for this
  4702  	// operation. If this value is null, it retrieves the first page.
  4703  	NextToken *string `min:"36" type:"string"`
  4704  
  4705  	// A time range used to specify when the requested anomalies started. All returned
  4706  	// anomalies started during this time range.
  4707  	StartTimeRange *StartTimeRange `type:"structure"`
  4708  }
  4709  
  4710  // String returns the string representation.
  4711  //
  4712  // API parameter values that are decorated as "sensitive" in the API will not
  4713  // be included in the string output. The member name will be present, but the
  4714  // value will be replaced with "sensitive".
  4715  func (s ListAnomaliesForInsightInput) String() string {
  4716  	return awsutil.Prettify(s)
  4717  }
  4718  
  4719  // GoString returns the string representation.
  4720  //
  4721  // API parameter values that are decorated as "sensitive" in the API will not
  4722  // be included in the string output. The member name will be present, but the
  4723  // value will be replaced with "sensitive".
  4724  func (s ListAnomaliesForInsightInput) GoString() string {
  4725  	return s.String()
  4726  }
  4727  
  4728  // Validate inspects the fields of the type to determine if they are valid.
  4729  func (s *ListAnomaliesForInsightInput) Validate() error {
  4730  	invalidParams := request.ErrInvalidParams{Context: "ListAnomaliesForInsightInput"}
  4731  	if s.InsightId == nil {
  4732  		invalidParams.Add(request.NewErrParamRequired("InsightId"))
  4733  	}
  4734  	if s.InsightId != nil && len(*s.InsightId) < 1 {
  4735  		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
  4736  	}
  4737  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4738  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4739  	}
  4740  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  4741  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  4742  	}
  4743  
  4744  	if invalidParams.Len() > 0 {
  4745  		return invalidParams
  4746  	}
  4747  	return nil
  4748  }
  4749  
  4750  // SetInsightId sets the InsightId field's value.
  4751  func (s *ListAnomaliesForInsightInput) SetInsightId(v string) *ListAnomaliesForInsightInput {
  4752  	s.InsightId = &v
  4753  	return s
  4754  }
  4755  
  4756  // SetMaxResults sets the MaxResults field's value.
  4757  func (s *ListAnomaliesForInsightInput) SetMaxResults(v int64) *ListAnomaliesForInsightInput {
  4758  	s.MaxResults = &v
  4759  	return s
  4760  }
  4761  
  4762  // SetNextToken sets the NextToken field's value.
  4763  func (s *ListAnomaliesForInsightInput) SetNextToken(v string) *ListAnomaliesForInsightInput {
  4764  	s.NextToken = &v
  4765  	return s
  4766  }
  4767  
  4768  // SetStartTimeRange sets the StartTimeRange field's value.
  4769  func (s *ListAnomaliesForInsightInput) SetStartTimeRange(v *StartTimeRange) *ListAnomaliesForInsightInput {
  4770  	s.StartTimeRange = v
  4771  	return s
  4772  }
  4773  
  4774  type ListAnomaliesForInsightOutput struct {
  4775  	_ struct{} `type:"structure"`
  4776  
  4777  	// The pagination token to use to retrieve the next page of results for this
  4778  	// operation. If there are no more pages, this value is null.
  4779  	NextToken *string `min:"36" type:"string"`
  4780  
  4781  	// An array of ProactiveAnomalySummary objects that represent the requested
  4782  	// anomalies
  4783  	ProactiveAnomalies []*ProactiveAnomalySummary `type:"list"`
  4784  
  4785  	// An array of ReactiveAnomalySummary objects that represent the requested anomalies
  4786  	ReactiveAnomalies []*ReactiveAnomalySummary `type:"list"`
  4787  }
  4788  
  4789  // String returns the string representation.
  4790  //
  4791  // API parameter values that are decorated as "sensitive" in the API will not
  4792  // be included in the string output. The member name will be present, but the
  4793  // value will be replaced with "sensitive".
  4794  func (s ListAnomaliesForInsightOutput) String() string {
  4795  	return awsutil.Prettify(s)
  4796  }
  4797  
  4798  // GoString returns the string representation.
  4799  //
  4800  // API parameter values that are decorated as "sensitive" in the API will not
  4801  // be included in the string output. The member name will be present, but the
  4802  // value will be replaced with "sensitive".
  4803  func (s ListAnomaliesForInsightOutput) GoString() string {
  4804  	return s.String()
  4805  }
  4806  
  4807  // SetNextToken sets the NextToken field's value.
  4808  func (s *ListAnomaliesForInsightOutput) SetNextToken(v string) *ListAnomaliesForInsightOutput {
  4809  	s.NextToken = &v
  4810  	return s
  4811  }
  4812  
  4813  // SetProactiveAnomalies sets the ProactiveAnomalies field's value.
  4814  func (s *ListAnomaliesForInsightOutput) SetProactiveAnomalies(v []*ProactiveAnomalySummary) *ListAnomaliesForInsightOutput {
  4815  	s.ProactiveAnomalies = v
  4816  	return s
  4817  }
  4818  
  4819  // SetReactiveAnomalies sets the ReactiveAnomalies field's value.
  4820  func (s *ListAnomaliesForInsightOutput) SetReactiveAnomalies(v []*ReactiveAnomalySummary) *ListAnomaliesForInsightOutput {
  4821  	s.ReactiveAnomalies = v
  4822  	return s
  4823  }
  4824  
  4825  // Filters you can use to specify which events are returned when ListEvents
  4826  // is called.
  4827  type ListEventsFilters struct {
  4828  	_ struct{} `type:"structure"`
  4829  
  4830  	// The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, of the events you want returned.
  4831  	DataSource *string `type:"string" enum:"EventDataSource"`
  4832  
  4833  	// The class of the events you want to filter for, such as an infrastructure
  4834  	// change, a deployment, or a schema change.
  4835  	EventClass *string `type:"string" enum:"EventClass"`
  4836  
  4837  	// The AWS source that emitted the events you want to filter for.
  4838  	EventSource *string `min:"10" type:"string"`
  4839  
  4840  	// A time range during which you want the filtered events to have occurred.
  4841  	EventTimeRange *EventTimeRange `type:"structure"`
  4842  
  4843  	// An ID of an insight that is related to the events you want to filter for.
  4844  	InsightId *string `min:"1" type:"string"`
  4845  
  4846  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  4847  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  4848  	// be configured to analyze only the AWS resources that are defined in the stacks.
  4849  	// You can specify up to 500 AWS CloudFormation stacks.
  4850  	ResourceCollection *ResourceCollection `type:"structure"`
  4851  }
  4852  
  4853  // String returns the string representation.
  4854  //
  4855  // API parameter values that are decorated as "sensitive" in the API will not
  4856  // be included in the string output. The member name will be present, but the
  4857  // value will be replaced with "sensitive".
  4858  func (s ListEventsFilters) String() string {
  4859  	return awsutil.Prettify(s)
  4860  }
  4861  
  4862  // GoString returns the string representation.
  4863  //
  4864  // API parameter values that are decorated as "sensitive" in the API will not
  4865  // be included in the string output. The member name will be present, but the
  4866  // value will be replaced with "sensitive".
  4867  func (s ListEventsFilters) GoString() string {
  4868  	return s.String()
  4869  }
  4870  
  4871  // Validate inspects the fields of the type to determine if they are valid.
  4872  func (s *ListEventsFilters) Validate() error {
  4873  	invalidParams := request.ErrInvalidParams{Context: "ListEventsFilters"}
  4874  	if s.EventSource != nil && len(*s.EventSource) < 10 {
  4875  		invalidParams.Add(request.NewErrParamMinLen("EventSource", 10))
  4876  	}
  4877  	if s.InsightId != nil && len(*s.InsightId) < 1 {
  4878  		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
  4879  	}
  4880  	if s.EventTimeRange != nil {
  4881  		if err := s.EventTimeRange.Validate(); err != nil {
  4882  			invalidParams.AddNested("EventTimeRange", err.(request.ErrInvalidParams))
  4883  		}
  4884  	}
  4885  
  4886  	if invalidParams.Len() > 0 {
  4887  		return invalidParams
  4888  	}
  4889  	return nil
  4890  }
  4891  
  4892  // SetDataSource sets the DataSource field's value.
  4893  func (s *ListEventsFilters) SetDataSource(v string) *ListEventsFilters {
  4894  	s.DataSource = &v
  4895  	return s
  4896  }
  4897  
  4898  // SetEventClass sets the EventClass field's value.
  4899  func (s *ListEventsFilters) SetEventClass(v string) *ListEventsFilters {
  4900  	s.EventClass = &v
  4901  	return s
  4902  }
  4903  
  4904  // SetEventSource sets the EventSource field's value.
  4905  func (s *ListEventsFilters) SetEventSource(v string) *ListEventsFilters {
  4906  	s.EventSource = &v
  4907  	return s
  4908  }
  4909  
  4910  // SetEventTimeRange sets the EventTimeRange field's value.
  4911  func (s *ListEventsFilters) SetEventTimeRange(v *EventTimeRange) *ListEventsFilters {
  4912  	s.EventTimeRange = v
  4913  	return s
  4914  }
  4915  
  4916  // SetInsightId sets the InsightId field's value.
  4917  func (s *ListEventsFilters) SetInsightId(v string) *ListEventsFilters {
  4918  	s.InsightId = &v
  4919  	return s
  4920  }
  4921  
  4922  // SetResourceCollection sets the ResourceCollection field's value.
  4923  func (s *ListEventsFilters) SetResourceCollection(v *ResourceCollection) *ListEventsFilters {
  4924  	s.ResourceCollection = v
  4925  	return s
  4926  }
  4927  
  4928  type ListEventsInput struct {
  4929  	_ struct{} `type:"structure"`
  4930  
  4931  	// A ListEventsFilters object used to specify which events to return.
  4932  	//
  4933  	// Filters is a required field
  4934  	Filters *ListEventsFilters `type:"structure" required:"true"`
  4935  
  4936  	// The maximum number of results to return with a single call. To retrieve the
  4937  	// remaining results, make another call with the returned nextToken value.
  4938  	MaxResults *int64 `min:"1" type:"integer"`
  4939  
  4940  	// The pagination token to use to retrieve the next page of results for this
  4941  	// operation. If this value is null, it retrieves the first page.
  4942  	NextToken *string `min:"36" type:"string"`
  4943  }
  4944  
  4945  // String returns the string representation.
  4946  //
  4947  // API parameter values that are decorated as "sensitive" in the API will not
  4948  // be included in the string output. The member name will be present, but the
  4949  // value will be replaced with "sensitive".
  4950  func (s ListEventsInput) String() string {
  4951  	return awsutil.Prettify(s)
  4952  }
  4953  
  4954  // GoString returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s ListEventsInput) GoString() string {
  4960  	return s.String()
  4961  }
  4962  
  4963  // Validate inspects the fields of the type to determine if they are valid.
  4964  func (s *ListEventsInput) Validate() error {
  4965  	invalidParams := request.ErrInvalidParams{Context: "ListEventsInput"}
  4966  	if s.Filters == nil {
  4967  		invalidParams.Add(request.NewErrParamRequired("Filters"))
  4968  	}
  4969  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4970  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4971  	}
  4972  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  4973  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  4974  	}
  4975  	if s.Filters != nil {
  4976  		if err := s.Filters.Validate(); err != nil {
  4977  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
  4978  		}
  4979  	}
  4980  
  4981  	if invalidParams.Len() > 0 {
  4982  		return invalidParams
  4983  	}
  4984  	return nil
  4985  }
  4986  
  4987  // SetFilters sets the Filters field's value.
  4988  func (s *ListEventsInput) SetFilters(v *ListEventsFilters) *ListEventsInput {
  4989  	s.Filters = v
  4990  	return s
  4991  }
  4992  
  4993  // SetMaxResults sets the MaxResults field's value.
  4994  func (s *ListEventsInput) SetMaxResults(v int64) *ListEventsInput {
  4995  	s.MaxResults = &v
  4996  	return s
  4997  }
  4998  
  4999  // SetNextToken sets the NextToken field's value.
  5000  func (s *ListEventsInput) SetNextToken(v string) *ListEventsInput {
  5001  	s.NextToken = &v
  5002  	return s
  5003  }
  5004  
  5005  type ListEventsOutput struct {
  5006  	_ struct{} `type:"structure"`
  5007  
  5008  	// A list of the requested events.
  5009  	//
  5010  	// Events is a required field
  5011  	Events []*Event `type:"list" required:"true"`
  5012  
  5013  	// The pagination token to use to retrieve the next page of results for this
  5014  	// operation. If there are no more pages, this value is null.
  5015  	NextToken *string `min:"36" type:"string"`
  5016  }
  5017  
  5018  // String returns the string representation.
  5019  //
  5020  // API parameter values that are decorated as "sensitive" in the API will not
  5021  // be included in the string output. The member name will be present, but the
  5022  // value will be replaced with "sensitive".
  5023  func (s ListEventsOutput) String() string {
  5024  	return awsutil.Prettify(s)
  5025  }
  5026  
  5027  // GoString returns the string representation.
  5028  //
  5029  // API parameter values that are decorated as "sensitive" in the API will not
  5030  // be included in the string output. The member name will be present, but the
  5031  // value will be replaced with "sensitive".
  5032  func (s ListEventsOutput) GoString() string {
  5033  	return s.String()
  5034  }
  5035  
  5036  // SetEvents sets the Events field's value.
  5037  func (s *ListEventsOutput) SetEvents(v []*Event) *ListEventsOutput {
  5038  	s.Events = v
  5039  	return s
  5040  }
  5041  
  5042  // SetNextToken sets the NextToken field's value.
  5043  func (s *ListEventsOutput) SetNextToken(v string) *ListEventsOutput {
  5044  	s.NextToken = &v
  5045  	return s
  5046  }
  5047  
  5048  // Used to filter for insights that have any status.
  5049  type ListInsightsAnyStatusFilter struct {
  5050  	_ struct{} `type:"structure"`
  5051  
  5052  	// A time range used to specify when the behavior of the filtered insights started.
  5053  	//
  5054  	// StartTimeRange is a required field
  5055  	StartTimeRange *StartTimeRange `type:"structure" required:"true"`
  5056  
  5057  	// Use to filter for either REACTIVE or PROACTIVE insights.
  5058  	//
  5059  	// Type is a required field
  5060  	Type *string `type:"string" required:"true" enum:"InsightType"`
  5061  }
  5062  
  5063  // String returns the string representation.
  5064  //
  5065  // API parameter values that are decorated as "sensitive" in the API will not
  5066  // be included in the string output. The member name will be present, but the
  5067  // value will be replaced with "sensitive".
  5068  func (s ListInsightsAnyStatusFilter) String() string {
  5069  	return awsutil.Prettify(s)
  5070  }
  5071  
  5072  // GoString returns the string representation.
  5073  //
  5074  // API parameter values that are decorated as "sensitive" in the API will not
  5075  // be included in the string output. The member name will be present, but the
  5076  // value will be replaced with "sensitive".
  5077  func (s ListInsightsAnyStatusFilter) GoString() string {
  5078  	return s.String()
  5079  }
  5080  
  5081  // Validate inspects the fields of the type to determine if they are valid.
  5082  func (s *ListInsightsAnyStatusFilter) Validate() error {
  5083  	invalidParams := request.ErrInvalidParams{Context: "ListInsightsAnyStatusFilter"}
  5084  	if s.StartTimeRange == nil {
  5085  		invalidParams.Add(request.NewErrParamRequired("StartTimeRange"))
  5086  	}
  5087  	if s.Type == nil {
  5088  		invalidParams.Add(request.NewErrParamRequired("Type"))
  5089  	}
  5090  
  5091  	if invalidParams.Len() > 0 {
  5092  		return invalidParams
  5093  	}
  5094  	return nil
  5095  }
  5096  
  5097  // SetStartTimeRange sets the StartTimeRange field's value.
  5098  func (s *ListInsightsAnyStatusFilter) SetStartTimeRange(v *StartTimeRange) *ListInsightsAnyStatusFilter {
  5099  	s.StartTimeRange = v
  5100  	return s
  5101  }
  5102  
  5103  // SetType sets the Type field's value.
  5104  func (s *ListInsightsAnyStatusFilter) SetType(v string) *ListInsightsAnyStatusFilter {
  5105  	s.Type = &v
  5106  	return s
  5107  }
  5108  
  5109  // Used to filter for insights that have the status CLOSED.
  5110  type ListInsightsClosedStatusFilter struct {
  5111  	_ struct{} `type:"structure"`
  5112  
  5113  	// A time range used to specify when the behavior of the filtered insights ended.
  5114  	//
  5115  	// EndTimeRange is a required field
  5116  	EndTimeRange *EndTimeRange `type:"structure" required:"true"`
  5117  
  5118  	// Use to filter for either REACTIVE or PROACTIVE insights.
  5119  	//
  5120  	// Type is a required field
  5121  	Type *string `type:"string" required:"true" enum:"InsightType"`
  5122  }
  5123  
  5124  // String returns the string representation.
  5125  //
  5126  // API parameter values that are decorated as "sensitive" in the API will not
  5127  // be included in the string output. The member name will be present, but the
  5128  // value will be replaced with "sensitive".
  5129  func (s ListInsightsClosedStatusFilter) String() string {
  5130  	return awsutil.Prettify(s)
  5131  }
  5132  
  5133  // GoString returns the string representation.
  5134  //
  5135  // API parameter values that are decorated as "sensitive" in the API will not
  5136  // be included in the string output. The member name will be present, but the
  5137  // value will be replaced with "sensitive".
  5138  func (s ListInsightsClosedStatusFilter) GoString() string {
  5139  	return s.String()
  5140  }
  5141  
  5142  // Validate inspects the fields of the type to determine if they are valid.
  5143  func (s *ListInsightsClosedStatusFilter) Validate() error {
  5144  	invalidParams := request.ErrInvalidParams{Context: "ListInsightsClosedStatusFilter"}
  5145  	if s.EndTimeRange == nil {
  5146  		invalidParams.Add(request.NewErrParamRequired("EndTimeRange"))
  5147  	}
  5148  	if s.Type == nil {
  5149  		invalidParams.Add(request.NewErrParamRequired("Type"))
  5150  	}
  5151  
  5152  	if invalidParams.Len() > 0 {
  5153  		return invalidParams
  5154  	}
  5155  	return nil
  5156  }
  5157  
  5158  // SetEndTimeRange sets the EndTimeRange field's value.
  5159  func (s *ListInsightsClosedStatusFilter) SetEndTimeRange(v *EndTimeRange) *ListInsightsClosedStatusFilter {
  5160  	s.EndTimeRange = v
  5161  	return s
  5162  }
  5163  
  5164  // SetType sets the Type field's value.
  5165  func (s *ListInsightsClosedStatusFilter) SetType(v string) *ListInsightsClosedStatusFilter {
  5166  	s.Type = &v
  5167  	return s
  5168  }
  5169  
  5170  type ListInsightsInput struct {
  5171  	_ struct{} `type:"structure"`
  5172  
  5173  	// The maximum number of results to return with a single call. To retrieve the
  5174  	// remaining results, make another call with the returned nextToken value.
  5175  	MaxResults *int64 `min:"1" type:"integer"`
  5176  
  5177  	// The pagination token to use to retrieve the next page of results for this
  5178  	// operation. If this value is null, it retrieves the first page.
  5179  	NextToken *string `min:"36" type:"string"`
  5180  
  5181  	// A filter used to filter the returned insights by their status. You can specify
  5182  	// one status filter.
  5183  	//
  5184  	// StatusFilter is a required field
  5185  	StatusFilter *ListInsightsStatusFilter `type:"structure" required:"true"`
  5186  }
  5187  
  5188  // String returns the string representation.
  5189  //
  5190  // API parameter values that are decorated as "sensitive" in the API will not
  5191  // be included in the string output. The member name will be present, but the
  5192  // value will be replaced with "sensitive".
  5193  func (s ListInsightsInput) String() string {
  5194  	return awsutil.Prettify(s)
  5195  }
  5196  
  5197  // GoString returns the string representation.
  5198  //
  5199  // API parameter values that are decorated as "sensitive" in the API will not
  5200  // be included in the string output. The member name will be present, but the
  5201  // value will be replaced with "sensitive".
  5202  func (s ListInsightsInput) GoString() string {
  5203  	return s.String()
  5204  }
  5205  
  5206  // Validate inspects the fields of the type to determine if they are valid.
  5207  func (s *ListInsightsInput) Validate() error {
  5208  	invalidParams := request.ErrInvalidParams{Context: "ListInsightsInput"}
  5209  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5210  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5211  	}
  5212  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  5213  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  5214  	}
  5215  	if s.StatusFilter == nil {
  5216  		invalidParams.Add(request.NewErrParamRequired("StatusFilter"))
  5217  	}
  5218  	if s.StatusFilter != nil {
  5219  		if err := s.StatusFilter.Validate(); err != nil {
  5220  			invalidParams.AddNested("StatusFilter", err.(request.ErrInvalidParams))
  5221  		}
  5222  	}
  5223  
  5224  	if invalidParams.Len() > 0 {
  5225  		return invalidParams
  5226  	}
  5227  	return nil
  5228  }
  5229  
  5230  // SetMaxResults sets the MaxResults field's value.
  5231  func (s *ListInsightsInput) SetMaxResults(v int64) *ListInsightsInput {
  5232  	s.MaxResults = &v
  5233  	return s
  5234  }
  5235  
  5236  // SetNextToken sets the NextToken field's value.
  5237  func (s *ListInsightsInput) SetNextToken(v string) *ListInsightsInput {
  5238  	s.NextToken = &v
  5239  	return s
  5240  }
  5241  
  5242  // SetStatusFilter sets the StatusFilter field's value.
  5243  func (s *ListInsightsInput) SetStatusFilter(v *ListInsightsStatusFilter) *ListInsightsInput {
  5244  	s.StatusFilter = v
  5245  	return s
  5246  }
  5247  
  5248  // Used to filter for insights that have the status ONGOING.
  5249  type ListInsightsOngoingStatusFilter struct {
  5250  	_ struct{} `type:"structure"`
  5251  
  5252  	// Use to filter for either REACTIVE or PROACTIVE insights.
  5253  	//
  5254  	// Type is a required field
  5255  	Type *string `type:"string" required:"true" enum:"InsightType"`
  5256  }
  5257  
  5258  // String returns the string representation.
  5259  //
  5260  // API parameter values that are decorated as "sensitive" in the API will not
  5261  // be included in the string output. The member name will be present, but the
  5262  // value will be replaced with "sensitive".
  5263  func (s ListInsightsOngoingStatusFilter) String() string {
  5264  	return awsutil.Prettify(s)
  5265  }
  5266  
  5267  // GoString returns the string representation.
  5268  //
  5269  // API parameter values that are decorated as "sensitive" in the API will not
  5270  // be included in the string output. The member name will be present, but the
  5271  // value will be replaced with "sensitive".
  5272  func (s ListInsightsOngoingStatusFilter) GoString() string {
  5273  	return s.String()
  5274  }
  5275  
  5276  // Validate inspects the fields of the type to determine if they are valid.
  5277  func (s *ListInsightsOngoingStatusFilter) Validate() error {
  5278  	invalidParams := request.ErrInvalidParams{Context: "ListInsightsOngoingStatusFilter"}
  5279  	if s.Type == nil {
  5280  		invalidParams.Add(request.NewErrParamRequired("Type"))
  5281  	}
  5282  
  5283  	if invalidParams.Len() > 0 {
  5284  		return invalidParams
  5285  	}
  5286  	return nil
  5287  }
  5288  
  5289  // SetType sets the Type field's value.
  5290  func (s *ListInsightsOngoingStatusFilter) SetType(v string) *ListInsightsOngoingStatusFilter {
  5291  	s.Type = &v
  5292  	return s
  5293  }
  5294  
  5295  type ListInsightsOutput struct {
  5296  	_ struct{} `type:"structure"`
  5297  
  5298  	// The pagination token to use to retrieve the next page of results for this
  5299  	// operation. If there are no more pages, this value is null.
  5300  	NextToken *string `min:"36" type:"string"`
  5301  
  5302  	// The returned list of proactive insights.
  5303  	ProactiveInsights []*ProactiveInsightSummary `type:"list"`
  5304  
  5305  	// The returned list of reactive insights.
  5306  	ReactiveInsights []*ReactiveInsightSummary `type:"list"`
  5307  }
  5308  
  5309  // String returns the string representation.
  5310  //
  5311  // API parameter values that are decorated as "sensitive" in the API will not
  5312  // be included in the string output. The member name will be present, but the
  5313  // value will be replaced with "sensitive".
  5314  func (s ListInsightsOutput) String() string {
  5315  	return awsutil.Prettify(s)
  5316  }
  5317  
  5318  // GoString returns the string representation.
  5319  //
  5320  // API parameter values that are decorated as "sensitive" in the API will not
  5321  // be included in the string output. The member name will be present, but the
  5322  // value will be replaced with "sensitive".
  5323  func (s ListInsightsOutput) GoString() string {
  5324  	return s.String()
  5325  }
  5326  
  5327  // SetNextToken sets the NextToken field's value.
  5328  func (s *ListInsightsOutput) SetNextToken(v string) *ListInsightsOutput {
  5329  	s.NextToken = &v
  5330  	return s
  5331  }
  5332  
  5333  // SetProactiveInsights sets the ProactiveInsights field's value.
  5334  func (s *ListInsightsOutput) SetProactiveInsights(v []*ProactiveInsightSummary) *ListInsightsOutput {
  5335  	s.ProactiveInsights = v
  5336  	return s
  5337  }
  5338  
  5339  // SetReactiveInsights sets the ReactiveInsights field's value.
  5340  func (s *ListInsightsOutput) SetReactiveInsights(v []*ReactiveInsightSummary) *ListInsightsOutput {
  5341  	s.ReactiveInsights = v
  5342  	return s
  5343  }
  5344  
  5345  // A filter used by ListInsights to specify which insights to return.
  5346  type ListInsightsStatusFilter struct {
  5347  	_ struct{} `type:"structure"`
  5348  
  5349  	// A ListInsightsAnyStatusFilter that specifies insights of any status that
  5350  	// are either REACTIVE or PROACTIVE.
  5351  	Any *ListInsightsAnyStatusFilter `type:"structure"`
  5352  
  5353  	// A ListInsightsClosedStatusFilter that specifies closed insights that are
  5354  	// either REACTIVE or PROACTIVE.
  5355  	Closed *ListInsightsClosedStatusFilter `type:"structure"`
  5356  
  5357  	// A ListInsightsAnyStatusFilter that specifies ongoing insights that are either
  5358  	// REACTIVE or PROACTIVE.
  5359  	Ongoing *ListInsightsOngoingStatusFilter `type:"structure"`
  5360  }
  5361  
  5362  // String returns the string representation.
  5363  //
  5364  // API parameter values that are decorated as "sensitive" in the API will not
  5365  // be included in the string output. The member name will be present, but the
  5366  // value will be replaced with "sensitive".
  5367  func (s ListInsightsStatusFilter) String() string {
  5368  	return awsutil.Prettify(s)
  5369  }
  5370  
  5371  // GoString returns the string representation.
  5372  //
  5373  // API parameter values that are decorated as "sensitive" in the API will not
  5374  // be included in the string output. The member name will be present, but the
  5375  // value will be replaced with "sensitive".
  5376  func (s ListInsightsStatusFilter) GoString() string {
  5377  	return s.String()
  5378  }
  5379  
  5380  // Validate inspects the fields of the type to determine if they are valid.
  5381  func (s *ListInsightsStatusFilter) Validate() error {
  5382  	invalidParams := request.ErrInvalidParams{Context: "ListInsightsStatusFilter"}
  5383  	if s.Any != nil {
  5384  		if err := s.Any.Validate(); err != nil {
  5385  			invalidParams.AddNested("Any", err.(request.ErrInvalidParams))
  5386  		}
  5387  	}
  5388  	if s.Closed != nil {
  5389  		if err := s.Closed.Validate(); err != nil {
  5390  			invalidParams.AddNested("Closed", err.(request.ErrInvalidParams))
  5391  		}
  5392  	}
  5393  	if s.Ongoing != nil {
  5394  		if err := s.Ongoing.Validate(); err != nil {
  5395  			invalidParams.AddNested("Ongoing", err.(request.ErrInvalidParams))
  5396  		}
  5397  	}
  5398  
  5399  	if invalidParams.Len() > 0 {
  5400  		return invalidParams
  5401  	}
  5402  	return nil
  5403  }
  5404  
  5405  // SetAny sets the Any field's value.
  5406  func (s *ListInsightsStatusFilter) SetAny(v *ListInsightsAnyStatusFilter) *ListInsightsStatusFilter {
  5407  	s.Any = v
  5408  	return s
  5409  }
  5410  
  5411  // SetClosed sets the Closed field's value.
  5412  func (s *ListInsightsStatusFilter) SetClosed(v *ListInsightsClosedStatusFilter) *ListInsightsStatusFilter {
  5413  	s.Closed = v
  5414  	return s
  5415  }
  5416  
  5417  // SetOngoing sets the Ongoing field's value.
  5418  func (s *ListInsightsStatusFilter) SetOngoing(v *ListInsightsOngoingStatusFilter) *ListInsightsStatusFilter {
  5419  	s.Ongoing = v
  5420  	return s
  5421  }
  5422  
  5423  type ListNotificationChannelsInput struct {
  5424  	_ struct{} `type:"structure"`
  5425  
  5426  	// The pagination token to use to retrieve the next page of results for this
  5427  	// operation. If this value is null, it retrieves the first page.
  5428  	NextToken *string `min:"36" type:"string"`
  5429  }
  5430  
  5431  // String returns the string representation.
  5432  //
  5433  // API parameter values that are decorated as "sensitive" in the API will not
  5434  // be included in the string output. The member name will be present, but the
  5435  // value will be replaced with "sensitive".
  5436  func (s ListNotificationChannelsInput) String() string {
  5437  	return awsutil.Prettify(s)
  5438  }
  5439  
  5440  // GoString returns the string representation.
  5441  //
  5442  // API parameter values that are decorated as "sensitive" in the API will not
  5443  // be included in the string output. The member name will be present, but the
  5444  // value will be replaced with "sensitive".
  5445  func (s ListNotificationChannelsInput) GoString() string {
  5446  	return s.String()
  5447  }
  5448  
  5449  // Validate inspects the fields of the type to determine if they are valid.
  5450  func (s *ListNotificationChannelsInput) Validate() error {
  5451  	invalidParams := request.ErrInvalidParams{Context: "ListNotificationChannelsInput"}
  5452  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  5453  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  5454  	}
  5455  
  5456  	if invalidParams.Len() > 0 {
  5457  		return invalidParams
  5458  	}
  5459  	return nil
  5460  }
  5461  
  5462  // SetNextToken sets the NextToken field's value.
  5463  func (s *ListNotificationChannelsInput) SetNextToken(v string) *ListNotificationChannelsInput {
  5464  	s.NextToken = &v
  5465  	return s
  5466  }
  5467  
  5468  type ListNotificationChannelsOutput struct {
  5469  	_ struct{} `type:"structure"`
  5470  
  5471  	// An array that contains the requested notification channels.
  5472  	Channels []*NotificationChannel `type:"list"`
  5473  
  5474  	// The pagination token to use to retrieve the next page of results for this
  5475  	// operation. If there are no more pages, this value is null.
  5476  	NextToken *string `min:"36" type:"string"`
  5477  }
  5478  
  5479  // String returns the string representation.
  5480  //
  5481  // API parameter values that are decorated as "sensitive" in the API will not
  5482  // be included in the string output. The member name will be present, but the
  5483  // value will be replaced with "sensitive".
  5484  func (s ListNotificationChannelsOutput) String() string {
  5485  	return awsutil.Prettify(s)
  5486  }
  5487  
  5488  // GoString returns the string representation.
  5489  //
  5490  // API parameter values that are decorated as "sensitive" in the API will not
  5491  // be included in the string output. The member name will be present, but the
  5492  // value will be replaced with "sensitive".
  5493  func (s ListNotificationChannelsOutput) GoString() string {
  5494  	return s.String()
  5495  }
  5496  
  5497  // SetChannels sets the Channels field's value.
  5498  func (s *ListNotificationChannelsOutput) SetChannels(v []*NotificationChannel) *ListNotificationChannelsOutput {
  5499  	s.Channels = v
  5500  	return s
  5501  }
  5502  
  5503  // SetNextToken sets the NextToken field's value.
  5504  func (s *ListNotificationChannelsOutput) SetNextToken(v string) *ListNotificationChannelsOutput {
  5505  	s.NextToken = &v
  5506  	return s
  5507  }
  5508  
  5509  type ListRecommendationsInput struct {
  5510  	_ struct{} `type:"structure"`
  5511  
  5512  	// The ID of the requested insight.
  5513  	//
  5514  	// InsightId is a required field
  5515  	InsightId *string `min:"1" type:"string" required:"true"`
  5516  
  5517  	// A locale that specifies the language to use for recommendations.
  5518  	Locale *string `type:"string" enum:"Locale"`
  5519  
  5520  	// The pagination token to use to retrieve the next page of results for this
  5521  	// operation. If this value is null, it retrieves the first page.
  5522  	NextToken *string `min:"36" type:"string"`
  5523  }
  5524  
  5525  // String returns the string representation.
  5526  //
  5527  // API parameter values that are decorated as "sensitive" in the API will not
  5528  // be included in the string output. The member name will be present, but the
  5529  // value will be replaced with "sensitive".
  5530  func (s ListRecommendationsInput) String() string {
  5531  	return awsutil.Prettify(s)
  5532  }
  5533  
  5534  // GoString returns the string representation.
  5535  //
  5536  // API parameter values that are decorated as "sensitive" in the API will not
  5537  // be included in the string output. The member name will be present, but the
  5538  // value will be replaced with "sensitive".
  5539  func (s ListRecommendationsInput) GoString() string {
  5540  	return s.String()
  5541  }
  5542  
  5543  // Validate inspects the fields of the type to determine if they are valid.
  5544  func (s *ListRecommendationsInput) Validate() error {
  5545  	invalidParams := request.ErrInvalidParams{Context: "ListRecommendationsInput"}
  5546  	if s.InsightId == nil {
  5547  		invalidParams.Add(request.NewErrParamRequired("InsightId"))
  5548  	}
  5549  	if s.InsightId != nil && len(*s.InsightId) < 1 {
  5550  		invalidParams.Add(request.NewErrParamMinLen("InsightId", 1))
  5551  	}
  5552  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  5553  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  5554  	}
  5555  
  5556  	if invalidParams.Len() > 0 {
  5557  		return invalidParams
  5558  	}
  5559  	return nil
  5560  }
  5561  
  5562  // SetInsightId sets the InsightId field's value.
  5563  func (s *ListRecommendationsInput) SetInsightId(v string) *ListRecommendationsInput {
  5564  	s.InsightId = &v
  5565  	return s
  5566  }
  5567  
  5568  // SetLocale sets the Locale field's value.
  5569  func (s *ListRecommendationsInput) SetLocale(v string) *ListRecommendationsInput {
  5570  	s.Locale = &v
  5571  	return s
  5572  }
  5573  
  5574  // SetNextToken sets the NextToken field's value.
  5575  func (s *ListRecommendationsInput) SetNextToken(v string) *ListRecommendationsInput {
  5576  	s.NextToken = &v
  5577  	return s
  5578  }
  5579  
  5580  type ListRecommendationsOutput struct {
  5581  	_ struct{} `type:"structure"`
  5582  
  5583  	// The pagination token to use to retrieve the next page of results for this
  5584  	// operation. If there are no more pages, this value is null.
  5585  	NextToken *string `min:"36" type:"string"`
  5586  
  5587  	// An array of the requested recommendations.
  5588  	Recommendations []*Recommendation `type:"list"`
  5589  }
  5590  
  5591  // String returns the string representation.
  5592  //
  5593  // API parameter values that are decorated as "sensitive" in the API will not
  5594  // be included in the string output. The member name will be present, but the
  5595  // value will be replaced with "sensitive".
  5596  func (s ListRecommendationsOutput) String() string {
  5597  	return awsutil.Prettify(s)
  5598  }
  5599  
  5600  // GoString returns the string representation.
  5601  //
  5602  // API parameter values that are decorated as "sensitive" in the API will not
  5603  // be included in the string output. The member name will be present, but the
  5604  // value will be replaced with "sensitive".
  5605  func (s ListRecommendationsOutput) GoString() string {
  5606  	return s.String()
  5607  }
  5608  
  5609  // SetNextToken sets the NextToken field's value.
  5610  func (s *ListRecommendationsOutput) SetNextToken(v string) *ListRecommendationsOutput {
  5611  	s.NextToken = &v
  5612  	return s
  5613  }
  5614  
  5615  // SetRecommendations sets the Recommendations field's value.
  5616  func (s *ListRecommendationsOutput) SetRecommendations(v []*Recommendation) *ListRecommendationsOutput {
  5617  	s.Recommendations = v
  5618  	return s
  5619  }
  5620  
  5621  // Information about a notification channel. A notification channel is used
  5622  // to notify you when DevOps Guru creates an insight. The one supported notification
  5623  // channel is Amazon Simple Notification Service (Amazon SNS).
  5624  //
  5625  // If you use an Amazon SNS topic in another account, you must attach a policy
  5626  // to it that grants DevOps Guru permission to it notifications. DevOps Guru
  5627  // adds the required policy on your behalf to send notifications using Amazon
  5628  // SNS in your account. For more information, see Permissions for cross account
  5629  // Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
  5630  //
  5631  // If you use an Amazon SNS topic that is encrypted by an AWS Key Management
  5632  // Service customer-managed key (CMK), then you must add permissions to the
  5633  // CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
  5634  // SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
  5635  type NotificationChannel struct {
  5636  	_ struct{} `type:"structure"`
  5637  
  5638  	// A NotificationChannelConfig object that contains information about configured
  5639  	// notification channels.
  5640  	Config *NotificationChannelConfig `type:"structure"`
  5641  
  5642  	// The ID of a notification channel.
  5643  	Id *string `min:"36" type:"string"`
  5644  }
  5645  
  5646  // String returns the string representation.
  5647  //
  5648  // API parameter values that are decorated as "sensitive" in the API will not
  5649  // be included in the string output. The member name will be present, but the
  5650  // value will be replaced with "sensitive".
  5651  func (s NotificationChannel) String() string {
  5652  	return awsutil.Prettify(s)
  5653  }
  5654  
  5655  // GoString returns the string representation.
  5656  //
  5657  // API parameter values that are decorated as "sensitive" in the API will not
  5658  // be included in the string output. The member name will be present, but the
  5659  // value will be replaced with "sensitive".
  5660  func (s NotificationChannel) GoString() string {
  5661  	return s.String()
  5662  }
  5663  
  5664  // SetConfig sets the Config field's value.
  5665  func (s *NotificationChannel) SetConfig(v *NotificationChannelConfig) *NotificationChannel {
  5666  	s.Config = v
  5667  	return s
  5668  }
  5669  
  5670  // SetId sets the Id field's value.
  5671  func (s *NotificationChannel) SetId(v string) *NotificationChannel {
  5672  	s.Id = &v
  5673  	return s
  5674  }
  5675  
  5676  // Information about notification channels you have configured with DevOps Guru.
  5677  // The one supported notification channel is Amazon Simple Notification Service
  5678  // (Amazon SNS).
  5679  type NotificationChannelConfig struct {
  5680  	_ struct{} `type:"structure"`
  5681  
  5682  	// Information about a notification channel configured in DevOps Guru to send
  5683  	// notifications when insights are created.
  5684  	//
  5685  	// If you use an Amazon SNS topic in another account, you must attach a policy
  5686  	// to it that grants DevOps Guru permission to it notifications. DevOps Guru
  5687  	// adds the required policy on your behalf to send notifications using Amazon
  5688  	// SNS in your account. For more information, see Permissions for cross account
  5689  	// Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
  5690  	//
  5691  	// If you use an Amazon SNS topic that is encrypted by an AWS Key Management
  5692  	// Service customer-managed key (CMK), then you must add permissions to the
  5693  	// CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
  5694  	// SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
  5695  	//
  5696  	// Sns is a required field
  5697  	Sns *SnsChannelConfig `type:"structure" required:"true"`
  5698  }
  5699  
  5700  // String returns the string representation.
  5701  //
  5702  // API parameter values that are decorated as "sensitive" in the API will not
  5703  // be included in the string output. The member name will be present, but the
  5704  // value will be replaced with "sensitive".
  5705  func (s NotificationChannelConfig) String() string {
  5706  	return awsutil.Prettify(s)
  5707  }
  5708  
  5709  // GoString returns the string representation.
  5710  //
  5711  // API parameter values that are decorated as "sensitive" in the API will not
  5712  // be included in the string output. The member name will be present, but the
  5713  // value will be replaced with "sensitive".
  5714  func (s NotificationChannelConfig) GoString() string {
  5715  	return s.String()
  5716  }
  5717  
  5718  // Validate inspects the fields of the type to determine if they are valid.
  5719  func (s *NotificationChannelConfig) Validate() error {
  5720  	invalidParams := request.ErrInvalidParams{Context: "NotificationChannelConfig"}
  5721  	if s.Sns == nil {
  5722  		invalidParams.Add(request.NewErrParamRequired("Sns"))
  5723  	}
  5724  	if s.Sns != nil {
  5725  		if err := s.Sns.Validate(); err != nil {
  5726  			invalidParams.AddNested("Sns", err.(request.ErrInvalidParams))
  5727  		}
  5728  	}
  5729  
  5730  	if invalidParams.Len() > 0 {
  5731  		return invalidParams
  5732  	}
  5733  	return nil
  5734  }
  5735  
  5736  // SetSns sets the Sns field's value.
  5737  func (s *NotificationChannelConfig) SetSns(v *SnsChannelConfig) *NotificationChannelConfig {
  5738  	s.Sns = v
  5739  	return s
  5740  }
  5741  
  5742  // Information about whether DevOps Guru is configured to create an OpsItem
  5743  // in AWS Systems Manager OpsCenter for each created insight.
  5744  type OpsCenterIntegration struct {
  5745  	_ struct{} `type:"structure"`
  5746  
  5747  	// Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
  5748  	// for each created insight.
  5749  	OptInStatus *string `type:"string" enum:"OptInStatus"`
  5750  }
  5751  
  5752  // String returns the string representation.
  5753  //
  5754  // API parameter values that are decorated as "sensitive" in the API will not
  5755  // be included in the string output. The member name will be present, but the
  5756  // value will be replaced with "sensitive".
  5757  func (s OpsCenterIntegration) String() string {
  5758  	return awsutil.Prettify(s)
  5759  }
  5760  
  5761  // GoString returns the string representation.
  5762  //
  5763  // API parameter values that are decorated as "sensitive" in the API will not
  5764  // be included in the string output. The member name will be present, but the
  5765  // value will be replaced with "sensitive".
  5766  func (s OpsCenterIntegration) GoString() string {
  5767  	return s.String()
  5768  }
  5769  
  5770  // SetOptInStatus sets the OptInStatus field's value.
  5771  func (s *OpsCenterIntegration) SetOptInStatus(v string) *OpsCenterIntegration {
  5772  	s.OptInStatus = &v
  5773  	return s
  5774  }
  5775  
  5776  // Information about whether DevOps Guru is configured to create an OpsItem
  5777  // in AWS Systems Manager OpsCenter for each created insight.
  5778  type OpsCenterIntegrationConfig struct {
  5779  	_ struct{} `type:"structure"`
  5780  
  5781  	// Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
  5782  	// for each created insight.
  5783  	OptInStatus *string `type:"string" enum:"OptInStatus"`
  5784  }
  5785  
  5786  // String returns the string representation.
  5787  //
  5788  // API parameter values that are decorated as "sensitive" in the API will not
  5789  // be included in the string output. The member name will be present, but the
  5790  // value will be replaced with "sensitive".
  5791  func (s OpsCenterIntegrationConfig) String() string {
  5792  	return awsutil.Prettify(s)
  5793  }
  5794  
  5795  // GoString returns the string representation.
  5796  //
  5797  // API parameter values that are decorated as "sensitive" in the API will not
  5798  // be included in the string output. The member name will be present, but the
  5799  // value will be replaced with "sensitive".
  5800  func (s OpsCenterIntegrationConfig) GoString() string {
  5801  	return s.String()
  5802  }
  5803  
  5804  // SetOptInStatus sets the OptInStatus field's value.
  5805  func (s *OpsCenterIntegrationConfig) SetOptInStatus(v string) *OpsCenterIntegrationConfig {
  5806  	s.OptInStatus = &v
  5807  	return s
  5808  }
  5809  
  5810  // The time range during which anomalous behavior in a proactive anomaly or
  5811  // an insight is expected to occur.
  5812  type PredictionTimeRange struct {
  5813  	_ struct{} `type:"structure"`
  5814  
  5815  	// The time when the behavior in a proactive insight is expected to end.
  5816  	EndTime *time.Time `type:"timestamp"`
  5817  
  5818  	// The time range during which a metric limit is expected to be exceeded. This
  5819  	// applies to proactive insights only.
  5820  	//
  5821  	// StartTime is a required field
  5822  	StartTime *time.Time `type:"timestamp" required:"true"`
  5823  }
  5824  
  5825  // String returns the string representation.
  5826  //
  5827  // API parameter values that are decorated as "sensitive" in the API will not
  5828  // be included in the string output. The member name will be present, but the
  5829  // value will be replaced with "sensitive".
  5830  func (s PredictionTimeRange) String() string {
  5831  	return awsutil.Prettify(s)
  5832  }
  5833  
  5834  // GoString returns the string representation.
  5835  //
  5836  // API parameter values that are decorated as "sensitive" in the API will not
  5837  // be included in the string output. The member name will be present, but the
  5838  // value will be replaced with "sensitive".
  5839  func (s PredictionTimeRange) GoString() string {
  5840  	return s.String()
  5841  }
  5842  
  5843  // SetEndTime sets the EndTime field's value.
  5844  func (s *PredictionTimeRange) SetEndTime(v time.Time) *PredictionTimeRange {
  5845  	s.EndTime = &v
  5846  	return s
  5847  }
  5848  
  5849  // SetStartTime sets the StartTime field's value.
  5850  func (s *PredictionTimeRange) SetStartTime(v time.Time) *PredictionTimeRange {
  5851  	s.StartTime = &v
  5852  	return s
  5853  }
  5854  
  5855  // Information about an anomaly. This object is returned by ListAnomalies.
  5856  type ProactiveAnomaly struct {
  5857  	_ struct{} `type:"structure"`
  5858  
  5859  	// A AnomalyReportedTimeRange object that specifies the time range between when
  5860  	// the anomaly is opened and the time when it is closed.
  5861  	AnomalyReportedTimeRange *AnomalyReportedTimeRange `type:"structure"`
  5862  
  5863  	// A time range that specifies when the observed unusual behavior in an anomaly
  5864  	// started and ended. This is different from AnomalyReportedTimeRange, which
  5865  	// specifies the time range when DevOps Guru opens and then closes an anomaly.
  5866  	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
  5867  
  5868  	// The ID of the insight that contains this anomaly. An insight is composed
  5869  	// of related anomalies.
  5870  	AssociatedInsightId *string `min:"1" type:"string"`
  5871  
  5872  	// The ID of a proactive anomaly.
  5873  	Id *string `min:"1" type:"string"`
  5874  
  5875  	// A threshold that was exceeded by behavior in analyzed resources. Exceeding
  5876  	// this threshold is related to the anomalous behavior that generated this anomaly.
  5877  	Limit *float64 `type:"double"`
  5878  
  5879  	// The time range during which anomalous behavior in a proactive anomaly or
  5880  	// an insight is expected to occur.
  5881  	PredictionTimeRange *PredictionTimeRange `type:"structure"`
  5882  
  5883  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  5884  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  5885  	// be configured to analyze only the AWS resources that are defined in the stacks.
  5886  	// You can specify up to 500 AWS CloudFormation stacks.
  5887  	ResourceCollection *ResourceCollection `type:"structure"`
  5888  
  5889  	// The severity of a proactive anomaly.
  5890  	Severity *string `type:"string" enum:"AnomalySeverity"`
  5891  
  5892  	// Details about the source of the analyzed operational data that triggered
  5893  	// the anomaly. The one supported source is Amazon CloudWatch metrics.
  5894  	SourceDetails *AnomalySourceDetails `type:"structure"`
  5895  
  5896  	// The status of a proactive anomaly.
  5897  	Status *string `type:"string" enum:"AnomalyStatus"`
  5898  
  5899  	// The time of the anomaly's most recent update.
  5900  	UpdateTime *time.Time `type:"timestamp"`
  5901  }
  5902  
  5903  // String returns the string representation.
  5904  //
  5905  // API parameter values that are decorated as "sensitive" in the API will not
  5906  // be included in the string output. The member name will be present, but the
  5907  // value will be replaced with "sensitive".
  5908  func (s ProactiveAnomaly) String() string {
  5909  	return awsutil.Prettify(s)
  5910  }
  5911  
  5912  // GoString returns the string representation.
  5913  //
  5914  // API parameter values that are decorated as "sensitive" in the API will not
  5915  // be included in the string output. The member name will be present, but the
  5916  // value will be replaced with "sensitive".
  5917  func (s ProactiveAnomaly) GoString() string {
  5918  	return s.String()
  5919  }
  5920  
  5921  // SetAnomalyReportedTimeRange sets the AnomalyReportedTimeRange field's value.
  5922  func (s *ProactiveAnomaly) SetAnomalyReportedTimeRange(v *AnomalyReportedTimeRange) *ProactiveAnomaly {
  5923  	s.AnomalyReportedTimeRange = v
  5924  	return s
  5925  }
  5926  
  5927  // SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
  5928  func (s *ProactiveAnomaly) SetAnomalyTimeRange(v *AnomalyTimeRange) *ProactiveAnomaly {
  5929  	s.AnomalyTimeRange = v
  5930  	return s
  5931  }
  5932  
  5933  // SetAssociatedInsightId sets the AssociatedInsightId field's value.
  5934  func (s *ProactiveAnomaly) SetAssociatedInsightId(v string) *ProactiveAnomaly {
  5935  	s.AssociatedInsightId = &v
  5936  	return s
  5937  }
  5938  
  5939  // SetId sets the Id field's value.
  5940  func (s *ProactiveAnomaly) SetId(v string) *ProactiveAnomaly {
  5941  	s.Id = &v
  5942  	return s
  5943  }
  5944  
  5945  // SetLimit sets the Limit field's value.
  5946  func (s *ProactiveAnomaly) SetLimit(v float64) *ProactiveAnomaly {
  5947  	s.Limit = &v
  5948  	return s
  5949  }
  5950  
  5951  // SetPredictionTimeRange sets the PredictionTimeRange field's value.
  5952  func (s *ProactiveAnomaly) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveAnomaly {
  5953  	s.PredictionTimeRange = v
  5954  	return s
  5955  }
  5956  
  5957  // SetResourceCollection sets the ResourceCollection field's value.
  5958  func (s *ProactiveAnomaly) SetResourceCollection(v *ResourceCollection) *ProactiveAnomaly {
  5959  	s.ResourceCollection = v
  5960  	return s
  5961  }
  5962  
  5963  // SetSeverity sets the Severity field's value.
  5964  func (s *ProactiveAnomaly) SetSeverity(v string) *ProactiveAnomaly {
  5965  	s.Severity = &v
  5966  	return s
  5967  }
  5968  
  5969  // SetSourceDetails sets the SourceDetails field's value.
  5970  func (s *ProactiveAnomaly) SetSourceDetails(v *AnomalySourceDetails) *ProactiveAnomaly {
  5971  	s.SourceDetails = v
  5972  	return s
  5973  }
  5974  
  5975  // SetStatus sets the Status field's value.
  5976  func (s *ProactiveAnomaly) SetStatus(v string) *ProactiveAnomaly {
  5977  	s.Status = &v
  5978  	return s
  5979  }
  5980  
  5981  // SetUpdateTime sets the UpdateTime field's value.
  5982  func (s *ProactiveAnomaly) SetUpdateTime(v time.Time) *ProactiveAnomaly {
  5983  	s.UpdateTime = &v
  5984  	return s
  5985  }
  5986  
  5987  // Details about a proactive anomaly. This object is returned by DescribeAnomaly.
  5988  type ProactiveAnomalySummary struct {
  5989  	_ struct{} `type:"structure"`
  5990  
  5991  	// A AnomalyReportedTimeRange object that specifies the time range between when
  5992  	// the anomaly is opened and the time when it is closed.
  5993  	AnomalyReportedTimeRange *AnomalyReportedTimeRange `type:"structure"`
  5994  
  5995  	// A time range that specifies when the observed unusual behavior in an anomaly
  5996  	// started and ended. This is different from AnomalyReportedTimeRange, which
  5997  	// specifies the time range when DevOps Guru opens and then closes an anomaly.
  5998  	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
  5999  
  6000  	// The ID of the insight that contains this anomaly. An insight is composed
  6001  	// of related anomalies.
  6002  	AssociatedInsightId *string `min:"1" type:"string"`
  6003  
  6004  	// The ID of the anomaly.
  6005  	Id *string `min:"1" type:"string"`
  6006  
  6007  	// A threshold that was exceeded by behavior in analyzed resources. Exceeding
  6008  	// this threshold is related to the anomalous behavior that generated this anomaly.
  6009  	Limit *float64 `type:"double"`
  6010  
  6011  	// The time range during which anomalous behavior in a proactive anomaly or
  6012  	// an insight is expected to occur.
  6013  	PredictionTimeRange *PredictionTimeRange `type:"structure"`
  6014  
  6015  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6016  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6017  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6018  	// You can specify up to 500 AWS CloudFormation stacks.
  6019  	ResourceCollection *ResourceCollection `type:"structure"`
  6020  
  6021  	// The severity of the anomaly.
  6022  	Severity *string `type:"string" enum:"AnomalySeverity"`
  6023  
  6024  	// Details about the source of the analyzed operational data that triggered
  6025  	// the anomaly. The one supported source is Amazon CloudWatch metrics.
  6026  	SourceDetails *AnomalySourceDetails `type:"structure"`
  6027  
  6028  	// The status of the anomaly.
  6029  	Status *string `type:"string" enum:"AnomalyStatus"`
  6030  
  6031  	// The time of the anomaly's most recent update.
  6032  	UpdateTime *time.Time `type:"timestamp"`
  6033  }
  6034  
  6035  // String returns the string representation.
  6036  //
  6037  // API parameter values that are decorated as "sensitive" in the API will not
  6038  // be included in the string output. The member name will be present, but the
  6039  // value will be replaced with "sensitive".
  6040  func (s ProactiveAnomalySummary) String() string {
  6041  	return awsutil.Prettify(s)
  6042  }
  6043  
  6044  // GoString returns the string representation.
  6045  //
  6046  // API parameter values that are decorated as "sensitive" in the API will not
  6047  // be included in the string output. The member name will be present, but the
  6048  // value will be replaced with "sensitive".
  6049  func (s ProactiveAnomalySummary) GoString() string {
  6050  	return s.String()
  6051  }
  6052  
  6053  // SetAnomalyReportedTimeRange sets the AnomalyReportedTimeRange field's value.
  6054  func (s *ProactiveAnomalySummary) SetAnomalyReportedTimeRange(v *AnomalyReportedTimeRange) *ProactiveAnomalySummary {
  6055  	s.AnomalyReportedTimeRange = v
  6056  	return s
  6057  }
  6058  
  6059  // SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
  6060  func (s *ProactiveAnomalySummary) SetAnomalyTimeRange(v *AnomalyTimeRange) *ProactiveAnomalySummary {
  6061  	s.AnomalyTimeRange = v
  6062  	return s
  6063  }
  6064  
  6065  // SetAssociatedInsightId sets the AssociatedInsightId field's value.
  6066  func (s *ProactiveAnomalySummary) SetAssociatedInsightId(v string) *ProactiveAnomalySummary {
  6067  	s.AssociatedInsightId = &v
  6068  	return s
  6069  }
  6070  
  6071  // SetId sets the Id field's value.
  6072  func (s *ProactiveAnomalySummary) SetId(v string) *ProactiveAnomalySummary {
  6073  	s.Id = &v
  6074  	return s
  6075  }
  6076  
  6077  // SetLimit sets the Limit field's value.
  6078  func (s *ProactiveAnomalySummary) SetLimit(v float64) *ProactiveAnomalySummary {
  6079  	s.Limit = &v
  6080  	return s
  6081  }
  6082  
  6083  // SetPredictionTimeRange sets the PredictionTimeRange field's value.
  6084  func (s *ProactiveAnomalySummary) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveAnomalySummary {
  6085  	s.PredictionTimeRange = v
  6086  	return s
  6087  }
  6088  
  6089  // SetResourceCollection sets the ResourceCollection field's value.
  6090  func (s *ProactiveAnomalySummary) SetResourceCollection(v *ResourceCollection) *ProactiveAnomalySummary {
  6091  	s.ResourceCollection = v
  6092  	return s
  6093  }
  6094  
  6095  // SetSeverity sets the Severity field's value.
  6096  func (s *ProactiveAnomalySummary) SetSeverity(v string) *ProactiveAnomalySummary {
  6097  	s.Severity = &v
  6098  	return s
  6099  }
  6100  
  6101  // SetSourceDetails sets the SourceDetails field's value.
  6102  func (s *ProactiveAnomalySummary) SetSourceDetails(v *AnomalySourceDetails) *ProactiveAnomalySummary {
  6103  	s.SourceDetails = v
  6104  	return s
  6105  }
  6106  
  6107  // SetStatus sets the Status field's value.
  6108  func (s *ProactiveAnomalySummary) SetStatus(v string) *ProactiveAnomalySummary {
  6109  	s.Status = &v
  6110  	return s
  6111  }
  6112  
  6113  // SetUpdateTime sets the UpdateTime field's value.
  6114  func (s *ProactiveAnomalySummary) SetUpdateTime(v time.Time) *ProactiveAnomalySummary {
  6115  	s.UpdateTime = &v
  6116  	return s
  6117  }
  6118  
  6119  // Details about a proactive insight. This object is returned by ListInsights.
  6120  type ProactiveInsight struct {
  6121  	_ struct{} `type:"structure"`
  6122  
  6123  	// The ID of the proactive insight.
  6124  	Id *string `min:"1" type:"string"`
  6125  
  6126  	// A time ranged that specifies when the observed behavior in an insight started
  6127  	// and ended.
  6128  	InsightTimeRange *InsightTimeRange `type:"structure"`
  6129  
  6130  	// The name of the proactive insight.
  6131  	Name *string `min:"1" type:"string"`
  6132  
  6133  	// The time range during which anomalous behavior in a proactive anomaly or
  6134  	// an insight is expected to occur.
  6135  	PredictionTimeRange *PredictionTimeRange `type:"structure"`
  6136  
  6137  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6138  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6139  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6140  	// You can specify up to 500 AWS CloudFormation stacks.
  6141  	ResourceCollection *ResourceCollection `type:"structure"`
  6142  
  6143  	// The severity of the proactive insight.
  6144  	Severity *string `type:"string" enum:"InsightSeverity"`
  6145  
  6146  	// The ID of the AWS System Manager OpsItem created for this insight. You must
  6147  	// enable the creation of OpstItems insights before they are created for each
  6148  	// insight.
  6149  	SsmOpsItemId *string `min:"1" type:"string"`
  6150  
  6151  	// The status of the proactive insight.
  6152  	Status *string `type:"string" enum:"InsightStatus"`
  6153  }
  6154  
  6155  // String returns the string representation.
  6156  //
  6157  // API parameter values that are decorated as "sensitive" in the API will not
  6158  // be included in the string output. The member name will be present, but the
  6159  // value will be replaced with "sensitive".
  6160  func (s ProactiveInsight) String() string {
  6161  	return awsutil.Prettify(s)
  6162  }
  6163  
  6164  // GoString returns the string representation.
  6165  //
  6166  // API parameter values that are decorated as "sensitive" in the API will not
  6167  // be included in the string output. The member name will be present, but the
  6168  // value will be replaced with "sensitive".
  6169  func (s ProactiveInsight) GoString() string {
  6170  	return s.String()
  6171  }
  6172  
  6173  // SetId sets the Id field's value.
  6174  func (s *ProactiveInsight) SetId(v string) *ProactiveInsight {
  6175  	s.Id = &v
  6176  	return s
  6177  }
  6178  
  6179  // SetInsightTimeRange sets the InsightTimeRange field's value.
  6180  func (s *ProactiveInsight) SetInsightTimeRange(v *InsightTimeRange) *ProactiveInsight {
  6181  	s.InsightTimeRange = v
  6182  	return s
  6183  }
  6184  
  6185  // SetName sets the Name field's value.
  6186  func (s *ProactiveInsight) SetName(v string) *ProactiveInsight {
  6187  	s.Name = &v
  6188  	return s
  6189  }
  6190  
  6191  // SetPredictionTimeRange sets the PredictionTimeRange field's value.
  6192  func (s *ProactiveInsight) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveInsight {
  6193  	s.PredictionTimeRange = v
  6194  	return s
  6195  }
  6196  
  6197  // SetResourceCollection sets the ResourceCollection field's value.
  6198  func (s *ProactiveInsight) SetResourceCollection(v *ResourceCollection) *ProactiveInsight {
  6199  	s.ResourceCollection = v
  6200  	return s
  6201  }
  6202  
  6203  // SetSeverity sets the Severity field's value.
  6204  func (s *ProactiveInsight) SetSeverity(v string) *ProactiveInsight {
  6205  	s.Severity = &v
  6206  	return s
  6207  }
  6208  
  6209  // SetSsmOpsItemId sets the SsmOpsItemId field's value.
  6210  func (s *ProactiveInsight) SetSsmOpsItemId(v string) *ProactiveInsight {
  6211  	s.SsmOpsItemId = &v
  6212  	return s
  6213  }
  6214  
  6215  // SetStatus sets the Status field's value.
  6216  func (s *ProactiveInsight) SetStatus(v string) *ProactiveInsight {
  6217  	s.Status = &v
  6218  	return s
  6219  }
  6220  
  6221  // Details about a proactive insight. This object is returned by DescribeInsight.
  6222  type ProactiveInsightSummary struct {
  6223  	_ struct{} `type:"structure"`
  6224  
  6225  	// The ID of the proactive insight.
  6226  	Id *string `min:"1" type:"string"`
  6227  
  6228  	// A time ranged that specifies when the observed behavior in an insight started
  6229  	// and ended.
  6230  	InsightTimeRange *InsightTimeRange `type:"structure"`
  6231  
  6232  	// The name of the proactive insight.
  6233  	Name *string `min:"1" type:"string"`
  6234  
  6235  	// The time range during which anomalous behavior in a proactive anomaly or
  6236  	// an insight is expected to occur.
  6237  	PredictionTimeRange *PredictionTimeRange `type:"structure"`
  6238  
  6239  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6240  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6241  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6242  	// You can specify up to 500 AWS CloudFormation stacks.
  6243  	ResourceCollection *ResourceCollection `type:"structure"`
  6244  
  6245  	// A collection of the names of AWS services.
  6246  	ServiceCollection *ServiceCollection `type:"structure"`
  6247  
  6248  	// The severity of the proactive insight.
  6249  	Severity *string `type:"string" enum:"InsightSeverity"`
  6250  
  6251  	// The status of the proactive insight.
  6252  	Status *string `type:"string" enum:"InsightStatus"`
  6253  }
  6254  
  6255  // String returns the string representation.
  6256  //
  6257  // API parameter values that are decorated as "sensitive" in the API will not
  6258  // be included in the string output. The member name will be present, but the
  6259  // value will be replaced with "sensitive".
  6260  func (s ProactiveInsightSummary) String() string {
  6261  	return awsutil.Prettify(s)
  6262  }
  6263  
  6264  // GoString returns the string representation.
  6265  //
  6266  // API parameter values that are decorated as "sensitive" in the API will not
  6267  // be included in the string output. The member name will be present, but the
  6268  // value will be replaced with "sensitive".
  6269  func (s ProactiveInsightSummary) GoString() string {
  6270  	return s.String()
  6271  }
  6272  
  6273  // SetId sets the Id field's value.
  6274  func (s *ProactiveInsightSummary) SetId(v string) *ProactiveInsightSummary {
  6275  	s.Id = &v
  6276  	return s
  6277  }
  6278  
  6279  // SetInsightTimeRange sets the InsightTimeRange field's value.
  6280  func (s *ProactiveInsightSummary) SetInsightTimeRange(v *InsightTimeRange) *ProactiveInsightSummary {
  6281  	s.InsightTimeRange = v
  6282  	return s
  6283  }
  6284  
  6285  // SetName sets the Name field's value.
  6286  func (s *ProactiveInsightSummary) SetName(v string) *ProactiveInsightSummary {
  6287  	s.Name = &v
  6288  	return s
  6289  }
  6290  
  6291  // SetPredictionTimeRange sets the PredictionTimeRange field's value.
  6292  func (s *ProactiveInsightSummary) SetPredictionTimeRange(v *PredictionTimeRange) *ProactiveInsightSummary {
  6293  	s.PredictionTimeRange = v
  6294  	return s
  6295  }
  6296  
  6297  // SetResourceCollection sets the ResourceCollection field's value.
  6298  func (s *ProactiveInsightSummary) SetResourceCollection(v *ResourceCollection) *ProactiveInsightSummary {
  6299  	s.ResourceCollection = v
  6300  	return s
  6301  }
  6302  
  6303  // SetServiceCollection sets the ServiceCollection field's value.
  6304  func (s *ProactiveInsightSummary) SetServiceCollection(v *ServiceCollection) *ProactiveInsightSummary {
  6305  	s.ServiceCollection = v
  6306  	return s
  6307  }
  6308  
  6309  // SetSeverity sets the Severity field's value.
  6310  func (s *ProactiveInsightSummary) SetSeverity(v string) *ProactiveInsightSummary {
  6311  	s.Severity = &v
  6312  	return s
  6313  }
  6314  
  6315  // SetStatus sets the Status field's value.
  6316  func (s *ProactiveInsightSummary) SetStatus(v string) *ProactiveInsightSummary {
  6317  	s.Status = &v
  6318  	return s
  6319  }
  6320  
  6321  type PutFeedbackInput struct {
  6322  	_ struct{} `type:"structure"`
  6323  
  6324  	// The feedback from customers is about the recommendations in this insight.
  6325  	InsightFeedback *InsightFeedback `type:"structure"`
  6326  }
  6327  
  6328  // String returns the string representation.
  6329  //
  6330  // API parameter values that are decorated as "sensitive" in the API will not
  6331  // be included in the string output. The member name will be present, but the
  6332  // value will be replaced with "sensitive".
  6333  func (s PutFeedbackInput) String() string {
  6334  	return awsutil.Prettify(s)
  6335  }
  6336  
  6337  // GoString returns the string representation.
  6338  //
  6339  // API parameter values that are decorated as "sensitive" in the API will not
  6340  // be included in the string output. The member name will be present, but the
  6341  // value will be replaced with "sensitive".
  6342  func (s PutFeedbackInput) GoString() string {
  6343  	return s.String()
  6344  }
  6345  
  6346  // Validate inspects the fields of the type to determine if they are valid.
  6347  func (s *PutFeedbackInput) Validate() error {
  6348  	invalidParams := request.ErrInvalidParams{Context: "PutFeedbackInput"}
  6349  	if s.InsightFeedback != nil {
  6350  		if err := s.InsightFeedback.Validate(); err != nil {
  6351  			invalidParams.AddNested("InsightFeedback", err.(request.ErrInvalidParams))
  6352  		}
  6353  	}
  6354  
  6355  	if invalidParams.Len() > 0 {
  6356  		return invalidParams
  6357  	}
  6358  	return nil
  6359  }
  6360  
  6361  // SetInsightFeedback sets the InsightFeedback field's value.
  6362  func (s *PutFeedbackInput) SetInsightFeedback(v *InsightFeedback) *PutFeedbackInput {
  6363  	s.InsightFeedback = v
  6364  	return s
  6365  }
  6366  
  6367  type PutFeedbackOutput struct {
  6368  	_ struct{} `type:"structure" nopayload:"true"`
  6369  }
  6370  
  6371  // String returns the string representation.
  6372  //
  6373  // API parameter values that are decorated as "sensitive" in the API will not
  6374  // be included in the string output. The member name will be present, but the
  6375  // value will be replaced with "sensitive".
  6376  func (s PutFeedbackOutput) String() string {
  6377  	return awsutil.Prettify(s)
  6378  }
  6379  
  6380  // GoString returns the string representation.
  6381  //
  6382  // API parameter values that are decorated as "sensitive" in the API will not
  6383  // be included in the string output. The member name will be present, but the
  6384  // value will be replaced with "sensitive".
  6385  func (s PutFeedbackOutput) GoString() string {
  6386  	return s.String()
  6387  }
  6388  
  6389  // Details about a reactive anomaly. This object is returned by ListAnomalies.
  6390  type ReactiveAnomaly struct {
  6391  	_ struct{} `type:"structure"`
  6392  
  6393  	// A AnomalyReportedTimeRange object that specifies the time range between when
  6394  	// the anomaly is opened and the time when it is closed.
  6395  	AnomalyReportedTimeRange *AnomalyReportedTimeRange `type:"structure"`
  6396  
  6397  	// A time range that specifies when the observed unusual behavior in an anomaly
  6398  	// started and ended. This is different from AnomalyReportedTimeRange, which
  6399  	// specifies the time range when DevOps Guru opens and then closes an anomaly.
  6400  	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
  6401  
  6402  	// The ID of the insight that contains this anomaly. An insight is composed
  6403  	// of related anomalies.
  6404  	AssociatedInsightId *string `min:"1" type:"string"`
  6405  
  6406  	// The ID of the reactive anomaly.
  6407  	Id *string `min:"1" type:"string"`
  6408  
  6409  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6410  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6411  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6412  	// You can specify up to 500 AWS CloudFormation stacks.
  6413  	ResourceCollection *ResourceCollection `type:"structure"`
  6414  
  6415  	// The severity of the anomaly.
  6416  	Severity *string `type:"string" enum:"AnomalySeverity"`
  6417  
  6418  	// Details about the source of the analyzed operational data that triggered
  6419  	// the anomaly. The one supported source is Amazon CloudWatch metrics.
  6420  	SourceDetails *AnomalySourceDetails `type:"structure"`
  6421  
  6422  	// The status of the anomaly.
  6423  	Status *string `type:"string" enum:"AnomalyStatus"`
  6424  }
  6425  
  6426  // String returns the string representation.
  6427  //
  6428  // API parameter values that are decorated as "sensitive" in the API will not
  6429  // be included in the string output. The member name will be present, but the
  6430  // value will be replaced with "sensitive".
  6431  func (s ReactiveAnomaly) String() string {
  6432  	return awsutil.Prettify(s)
  6433  }
  6434  
  6435  // GoString returns the string representation.
  6436  //
  6437  // API parameter values that are decorated as "sensitive" in the API will not
  6438  // be included in the string output. The member name will be present, but the
  6439  // value will be replaced with "sensitive".
  6440  func (s ReactiveAnomaly) GoString() string {
  6441  	return s.String()
  6442  }
  6443  
  6444  // SetAnomalyReportedTimeRange sets the AnomalyReportedTimeRange field's value.
  6445  func (s *ReactiveAnomaly) SetAnomalyReportedTimeRange(v *AnomalyReportedTimeRange) *ReactiveAnomaly {
  6446  	s.AnomalyReportedTimeRange = v
  6447  	return s
  6448  }
  6449  
  6450  // SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
  6451  func (s *ReactiveAnomaly) SetAnomalyTimeRange(v *AnomalyTimeRange) *ReactiveAnomaly {
  6452  	s.AnomalyTimeRange = v
  6453  	return s
  6454  }
  6455  
  6456  // SetAssociatedInsightId sets the AssociatedInsightId field's value.
  6457  func (s *ReactiveAnomaly) SetAssociatedInsightId(v string) *ReactiveAnomaly {
  6458  	s.AssociatedInsightId = &v
  6459  	return s
  6460  }
  6461  
  6462  // SetId sets the Id field's value.
  6463  func (s *ReactiveAnomaly) SetId(v string) *ReactiveAnomaly {
  6464  	s.Id = &v
  6465  	return s
  6466  }
  6467  
  6468  // SetResourceCollection sets the ResourceCollection field's value.
  6469  func (s *ReactiveAnomaly) SetResourceCollection(v *ResourceCollection) *ReactiveAnomaly {
  6470  	s.ResourceCollection = v
  6471  	return s
  6472  }
  6473  
  6474  // SetSeverity sets the Severity field's value.
  6475  func (s *ReactiveAnomaly) SetSeverity(v string) *ReactiveAnomaly {
  6476  	s.Severity = &v
  6477  	return s
  6478  }
  6479  
  6480  // SetSourceDetails sets the SourceDetails field's value.
  6481  func (s *ReactiveAnomaly) SetSourceDetails(v *AnomalySourceDetails) *ReactiveAnomaly {
  6482  	s.SourceDetails = v
  6483  	return s
  6484  }
  6485  
  6486  // SetStatus sets the Status field's value.
  6487  func (s *ReactiveAnomaly) SetStatus(v string) *ReactiveAnomaly {
  6488  	s.Status = &v
  6489  	return s
  6490  }
  6491  
  6492  // Details about a reactive anomaly. This object is returned by DescribeAnomaly.
  6493  type ReactiveAnomalySummary struct {
  6494  	_ struct{} `type:"structure"`
  6495  
  6496  	// A AnomalyReportedTimeRange object that specifies the time range between when
  6497  	// the anomaly is opened and the time when it is closed.
  6498  	AnomalyReportedTimeRange *AnomalyReportedTimeRange `type:"structure"`
  6499  
  6500  	// A time range that specifies when the observed unusual behavior in an anomaly
  6501  	// started and ended. This is different from AnomalyReportedTimeRange, which
  6502  	// specifies the time range when DevOps Guru opens and then closes an anomaly.
  6503  	AnomalyTimeRange *AnomalyTimeRange `type:"structure"`
  6504  
  6505  	// The ID of the insight that contains this anomaly. An insight is composed
  6506  	// of related anomalies.
  6507  	AssociatedInsightId *string `min:"1" type:"string"`
  6508  
  6509  	// The ID of the reactive anomaly.
  6510  	Id *string `min:"1" type:"string"`
  6511  
  6512  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6513  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6514  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6515  	// You can specify up to 500 AWS CloudFormation stacks.
  6516  	ResourceCollection *ResourceCollection `type:"structure"`
  6517  
  6518  	// The severity of the reactive anomaly.
  6519  	Severity *string `type:"string" enum:"AnomalySeverity"`
  6520  
  6521  	// Details about the source of the analyzed operational data that triggered
  6522  	// the anomaly. The one supported source is Amazon CloudWatch metrics.
  6523  	SourceDetails *AnomalySourceDetails `type:"structure"`
  6524  
  6525  	// The status of the reactive anomaly.
  6526  	Status *string `type:"string" enum:"AnomalyStatus"`
  6527  }
  6528  
  6529  // String returns the string representation.
  6530  //
  6531  // API parameter values that are decorated as "sensitive" in the API will not
  6532  // be included in the string output. The member name will be present, but the
  6533  // value will be replaced with "sensitive".
  6534  func (s ReactiveAnomalySummary) String() string {
  6535  	return awsutil.Prettify(s)
  6536  }
  6537  
  6538  // GoString returns the string representation.
  6539  //
  6540  // API parameter values that are decorated as "sensitive" in the API will not
  6541  // be included in the string output. The member name will be present, but the
  6542  // value will be replaced with "sensitive".
  6543  func (s ReactiveAnomalySummary) GoString() string {
  6544  	return s.String()
  6545  }
  6546  
  6547  // SetAnomalyReportedTimeRange sets the AnomalyReportedTimeRange field's value.
  6548  func (s *ReactiveAnomalySummary) SetAnomalyReportedTimeRange(v *AnomalyReportedTimeRange) *ReactiveAnomalySummary {
  6549  	s.AnomalyReportedTimeRange = v
  6550  	return s
  6551  }
  6552  
  6553  // SetAnomalyTimeRange sets the AnomalyTimeRange field's value.
  6554  func (s *ReactiveAnomalySummary) SetAnomalyTimeRange(v *AnomalyTimeRange) *ReactiveAnomalySummary {
  6555  	s.AnomalyTimeRange = v
  6556  	return s
  6557  }
  6558  
  6559  // SetAssociatedInsightId sets the AssociatedInsightId field's value.
  6560  func (s *ReactiveAnomalySummary) SetAssociatedInsightId(v string) *ReactiveAnomalySummary {
  6561  	s.AssociatedInsightId = &v
  6562  	return s
  6563  }
  6564  
  6565  // SetId sets the Id field's value.
  6566  func (s *ReactiveAnomalySummary) SetId(v string) *ReactiveAnomalySummary {
  6567  	s.Id = &v
  6568  	return s
  6569  }
  6570  
  6571  // SetResourceCollection sets the ResourceCollection field's value.
  6572  func (s *ReactiveAnomalySummary) SetResourceCollection(v *ResourceCollection) *ReactiveAnomalySummary {
  6573  	s.ResourceCollection = v
  6574  	return s
  6575  }
  6576  
  6577  // SetSeverity sets the Severity field's value.
  6578  func (s *ReactiveAnomalySummary) SetSeverity(v string) *ReactiveAnomalySummary {
  6579  	s.Severity = &v
  6580  	return s
  6581  }
  6582  
  6583  // SetSourceDetails sets the SourceDetails field's value.
  6584  func (s *ReactiveAnomalySummary) SetSourceDetails(v *AnomalySourceDetails) *ReactiveAnomalySummary {
  6585  	s.SourceDetails = v
  6586  	return s
  6587  }
  6588  
  6589  // SetStatus sets the Status field's value.
  6590  func (s *ReactiveAnomalySummary) SetStatus(v string) *ReactiveAnomalySummary {
  6591  	s.Status = &v
  6592  	return s
  6593  }
  6594  
  6595  // Information about a reactive insight. This object is returned by ListInsights.
  6596  type ReactiveInsight struct {
  6597  	_ struct{} `type:"structure"`
  6598  
  6599  	// The ID of a reactive insight.
  6600  	Id *string `min:"1" type:"string"`
  6601  
  6602  	// A time ranged that specifies when the observed behavior in an insight started
  6603  	// and ended.
  6604  	InsightTimeRange *InsightTimeRange `type:"structure"`
  6605  
  6606  	// The name of a reactive insight.
  6607  	Name *string `min:"1" type:"string"`
  6608  
  6609  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6610  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6611  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6612  	// You can specify up to 500 AWS CloudFormation stacks.
  6613  	ResourceCollection *ResourceCollection `type:"structure"`
  6614  
  6615  	// The severity of a reactive insight.
  6616  	Severity *string `type:"string" enum:"InsightSeverity"`
  6617  
  6618  	// The ID of the AWS System Manager OpsItem created for this insight. You must
  6619  	// enable the creation of OpstItems insights before they are created for each
  6620  	// insight.
  6621  	SsmOpsItemId *string `min:"1" type:"string"`
  6622  
  6623  	// The status of a reactive insight.
  6624  	Status *string `type:"string" enum:"InsightStatus"`
  6625  }
  6626  
  6627  // String returns the string representation.
  6628  //
  6629  // API parameter values that are decorated as "sensitive" in the API will not
  6630  // be included in the string output. The member name will be present, but the
  6631  // value will be replaced with "sensitive".
  6632  func (s ReactiveInsight) String() string {
  6633  	return awsutil.Prettify(s)
  6634  }
  6635  
  6636  // GoString returns the string representation.
  6637  //
  6638  // API parameter values that are decorated as "sensitive" in the API will not
  6639  // be included in the string output. The member name will be present, but the
  6640  // value will be replaced with "sensitive".
  6641  func (s ReactiveInsight) GoString() string {
  6642  	return s.String()
  6643  }
  6644  
  6645  // SetId sets the Id field's value.
  6646  func (s *ReactiveInsight) SetId(v string) *ReactiveInsight {
  6647  	s.Id = &v
  6648  	return s
  6649  }
  6650  
  6651  // SetInsightTimeRange sets the InsightTimeRange field's value.
  6652  func (s *ReactiveInsight) SetInsightTimeRange(v *InsightTimeRange) *ReactiveInsight {
  6653  	s.InsightTimeRange = v
  6654  	return s
  6655  }
  6656  
  6657  // SetName sets the Name field's value.
  6658  func (s *ReactiveInsight) SetName(v string) *ReactiveInsight {
  6659  	s.Name = &v
  6660  	return s
  6661  }
  6662  
  6663  // SetResourceCollection sets the ResourceCollection field's value.
  6664  func (s *ReactiveInsight) SetResourceCollection(v *ResourceCollection) *ReactiveInsight {
  6665  	s.ResourceCollection = v
  6666  	return s
  6667  }
  6668  
  6669  // SetSeverity sets the Severity field's value.
  6670  func (s *ReactiveInsight) SetSeverity(v string) *ReactiveInsight {
  6671  	s.Severity = &v
  6672  	return s
  6673  }
  6674  
  6675  // SetSsmOpsItemId sets the SsmOpsItemId field's value.
  6676  func (s *ReactiveInsight) SetSsmOpsItemId(v string) *ReactiveInsight {
  6677  	s.SsmOpsItemId = &v
  6678  	return s
  6679  }
  6680  
  6681  // SetStatus sets the Status field's value.
  6682  func (s *ReactiveInsight) SetStatus(v string) *ReactiveInsight {
  6683  	s.Status = &v
  6684  	return s
  6685  }
  6686  
  6687  // Information about a reactive insight. This object is returned by DescribeInsight.
  6688  type ReactiveInsightSummary struct {
  6689  	_ struct{} `type:"structure"`
  6690  
  6691  	// The ID of a reactive summary.
  6692  	Id *string `min:"1" type:"string"`
  6693  
  6694  	// A time ranged that specifies when the observed behavior in an insight started
  6695  	// and ended.
  6696  	InsightTimeRange *InsightTimeRange `type:"structure"`
  6697  
  6698  	// The name of a reactive insight.
  6699  	Name *string `min:"1" type:"string"`
  6700  
  6701  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  6702  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  6703  	// be configured to analyze only the AWS resources that are defined in the stacks.
  6704  	// You can specify up to 500 AWS CloudFormation stacks.
  6705  	ResourceCollection *ResourceCollection `type:"structure"`
  6706  
  6707  	// A collection of the names of AWS services.
  6708  	ServiceCollection *ServiceCollection `type:"structure"`
  6709  
  6710  	// The severity of a reactive insight.
  6711  	Severity *string `type:"string" enum:"InsightSeverity"`
  6712  
  6713  	// The status of a reactive insight.
  6714  	Status *string `type:"string" enum:"InsightStatus"`
  6715  }
  6716  
  6717  // String returns the string representation.
  6718  //
  6719  // API parameter values that are decorated as "sensitive" in the API will not
  6720  // be included in the string output. The member name will be present, but the
  6721  // value will be replaced with "sensitive".
  6722  func (s ReactiveInsightSummary) String() string {
  6723  	return awsutil.Prettify(s)
  6724  }
  6725  
  6726  // GoString returns the string representation.
  6727  //
  6728  // API parameter values that are decorated as "sensitive" in the API will not
  6729  // be included in the string output. The member name will be present, but the
  6730  // value will be replaced with "sensitive".
  6731  func (s ReactiveInsightSummary) GoString() string {
  6732  	return s.String()
  6733  }
  6734  
  6735  // SetId sets the Id field's value.
  6736  func (s *ReactiveInsightSummary) SetId(v string) *ReactiveInsightSummary {
  6737  	s.Id = &v
  6738  	return s
  6739  }
  6740  
  6741  // SetInsightTimeRange sets the InsightTimeRange field's value.
  6742  func (s *ReactiveInsightSummary) SetInsightTimeRange(v *InsightTimeRange) *ReactiveInsightSummary {
  6743  	s.InsightTimeRange = v
  6744  	return s
  6745  }
  6746  
  6747  // SetName sets the Name field's value.
  6748  func (s *ReactiveInsightSummary) SetName(v string) *ReactiveInsightSummary {
  6749  	s.Name = &v
  6750  	return s
  6751  }
  6752  
  6753  // SetResourceCollection sets the ResourceCollection field's value.
  6754  func (s *ReactiveInsightSummary) SetResourceCollection(v *ResourceCollection) *ReactiveInsightSummary {
  6755  	s.ResourceCollection = v
  6756  	return s
  6757  }
  6758  
  6759  // SetServiceCollection sets the ServiceCollection field's value.
  6760  func (s *ReactiveInsightSummary) SetServiceCollection(v *ServiceCollection) *ReactiveInsightSummary {
  6761  	s.ServiceCollection = v
  6762  	return s
  6763  }
  6764  
  6765  // SetSeverity sets the Severity field's value.
  6766  func (s *ReactiveInsightSummary) SetSeverity(v string) *ReactiveInsightSummary {
  6767  	s.Severity = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetStatus sets the Status field's value.
  6772  func (s *ReactiveInsightSummary) SetStatus(v string) *ReactiveInsightSummary {
  6773  	s.Status = &v
  6774  	return s
  6775  }
  6776  
  6777  // Recommendation information to help you remediate detected anomalous behavior
  6778  // that generated an insight.
  6779  type Recommendation struct {
  6780  	_ struct{} `type:"structure"`
  6781  
  6782  	// A description of the problem.
  6783  	Description *string `type:"string"`
  6784  
  6785  	// A hyperlink to information to help you address the problem.
  6786  	Link *string `type:"string"`
  6787  
  6788  	// The name of the recommendation.
  6789  	Name *string `type:"string"`
  6790  
  6791  	// The reason DevOps Guru flagged the anomalous behavior as a problem.
  6792  	Reason *string `type:"string"`
  6793  
  6794  	// Anomalies that are related to the problem. Use these Anomalies to learn more
  6795  	// about what's happening and to help address the issue.
  6796  	RelatedAnomalies []*RecommendationRelatedAnomaly `type:"list"`
  6797  
  6798  	// Events that are related to the problem. Use these events to learn more about
  6799  	// what's happening and to help address the issue.
  6800  	RelatedEvents []*RecommendationRelatedEvent `type:"list"`
  6801  }
  6802  
  6803  // String returns the string representation.
  6804  //
  6805  // API parameter values that are decorated as "sensitive" in the API will not
  6806  // be included in the string output. The member name will be present, but the
  6807  // value will be replaced with "sensitive".
  6808  func (s Recommendation) String() string {
  6809  	return awsutil.Prettify(s)
  6810  }
  6811  
  6812  // GoString returns the string representation.
  6813  //
  6814  // API parameter values that are decorated as "sensitive" in the API will not
  6815  // be included in the string output. The member name will be present, but the
  6816  // value will be replaced with "sensitive".
  6817  func (s Recommendation) GoString() string {
  6818  	return s.String()
  6819  }
  6820  
  6821  // SetDescription sets the Description field's value.
  6822  func (s *Recommendation) SetDescription(v string) *Recommendation {
  6823  	s.Description = &v
  6824  	return s
  6825  }
  6826  
  6827  // SetLink sets the Link field's value.
  6828  func (s *Recommendation) SetLink(v string) *Recommendation {
  6829  	s.Link = &v
  6830  	return s
  6831  }
  6832  
  6833  // SetName sets the Name field's value.
  6834  func (s *Recommendation) SetName(v string) *Recommendation {
  6835  	s.Name = &v
  6836  	return s
  6837  }
  6838  
  6839  // SetReason sets the Reason field's value.
  6840  func (s *Recommendation) SetReason(v string) *Recommendation {
  6841  	s.Reason = &v
  6842  	return s
  6843  }
  6844  
  6845  // SetRelatedAnomalies sets the RelatedAnomalies field's value.
  6846  func (s *Recommendation) SetRelatedAnomalies(v []*RecommendationRelatedAnomaly) *Recommendation {
  6847  	s.RelatedAnomalies = v
  6848  	return s
  6849  }
  6850  
  6851  // SetRelatedEvents sets the RelatedEvents field's value.
  6852  func (s *Recommendation) SetRelatedEvents(v []*RecommendationRelatedEvent) *Recommendation {
  6853  	s.RelatedEvents = v
  6854  	return s
  6855  }
  6856  
  6857  // Information about an anomaly that is related to a recommendation.
  6858  type RecommendationRelatedAnomaly struct {
  6859  	_ struct{} `type:"structure"`
  6860  
  6861  	// An array of objects that represent resources in which DevOps Guru detected
  6862  	// anomalous behavior. Each object contains the name and type of the resource.
  6863  	Resources []*RecommendationRelatedAnomalyResource `type:"list"`
  6864  
  6865  	// Information about where the anomalous behavior related the recommendation
  6866  	// was found. For example, details in Amazon CloudWatch metrics.
  6867  	SourceDetails []*RecommendationRelatedAnomalySourceDetail `type:"list"`
  6868  }
  6869  
  6870  // String returns the string representation.
  6871  //
  6872  // API parameter values that are decorated as "sensitive" in the API will not
  6873  // be included in the string output. The member name will be present, but the
  6874  // value will be replaced with "sensitive".
  6875  func (s RecommendationRelatedAnomaly) String() string {
  6876  	return awsutil.Prettify(s)
  6877  }
  6878  
  6879  // GoString returns the string representation.
  6880  //
  6881  // API parameter values that are decorated as "sensitive" in the API will not
  6882  // be included in the string output. The member name will be present, but the
  6883  // value will be replaced with "sensitive".
  6884  func (s RecommendationRelatedAnomaly) GoString() string {
  6885  	return s.String()
  6886  }
  6887  
  6888  // SetResources sets the Resources field's value.
  6889  func (s *RecommendationRelatedAnomaly) SetResources(v []*RecommendationRelatedAnomalyResource) *RecommendationRelatedAnomaly {
  6890  	s.Resources = v
  6891  	return s
  6892  }
  6893  
  6894  // SetSourceDetails sets the SourceDetails field's value.
  6895  func (s *RecommendationRelatedAnomaly) SetSourceDetails(v []*RecommendationRelatedAnomalySourceDetail) *RecommendationRelatedAnomaly {
  6896  	s.SourceDetails = v
  6897  	return s
  6898  }
  6899  
  6900  // Information about a resource in which DevOps Guru detected anomalous behavior.
  6901  type RecommendationRelatedAnomalyResource struct {
  6902  	_ struct{} `type:"structure"`
  6903  
  6904  	// The name of the resource.
  6905  	Name *string `type:"string"`
  6906  
  6907  	// The type of the resource.
  6908  	Type *string `type:"string"`
  6909  }
  6910  
  6911  // String returns the string representation.
  6912  //
  6913  // API parameter values that are decorated as "sensitive" in the API will not
  6914  // be included in the string output. The member name will be present, but the
  6915  // value will be replaced with "sensitive".
  6916  func (s RecommendationRelatedAnomalyResource) String() string {
  6917  	return awsutil.Prettify(s)
  6918  }
  6919  
  6920  // GoString returns the string representation.
  6921  //
  6922  // API parameter values that are decorated as "sensitive" in the API will not
  6923  // be included in the string output. The member name will be present, but the
  6924  // value will be replaced with "sensitive".
  6925  func (s RecommendationRelatedAnomalyResource) GoString() string {
  6926  	return s.String()
  6927  }
  6928  
  6929  // SetName sets the Name field's value.
  6930  func (s *RecommendationRelatedAnomalyResource) SetName(v string) *RecommendationRelatedAnomalyResource {
  6931  	s.Name = &v
  6932  	return s
  6933  }
  6934  
  6935  // SetType sets the Type field's value.
  6936  func (s *RecommendationRelatedAnomalyResource) SetType(v string) *RecommendationRelatedAnomalyResource {
  6937  	s.Type = &v
  6938  	return s
  6939  }
  6940  
  6941  // Contains an array of RecommendationRelatedCloudWatchMetricsSourceDetail objects
  6942  // that contain the name and namespace of an Amazon CloudWatch metric.
  6943  type RecommendationRelatedAnomalySourceDetail struct {
  6944  	_ struct{} `type:"structure"`
  6945  
  6946  	// An array of CloudWatchMetricsDetail objects that contains information about
  6947  	// the analyzed metrics that displayed anomalous behavior.
  6948  	CloudWatchMetrics []*RecommendationRelatedCloudWatchMetricsSourceDetail `type:"list"`
  6949  }
  6950  
  6951  // String returns the string representation.
  6952  //
  6953  // API parameter values that are decorated as "sensitive" in the API will not
  6954  // be included in the string output. The member name will be present, but the
  6955  // value will be replaced with "sensitive".
  6956  func (s RecommendationRelatedAnomalySourceDetail) String() string {
  6957  	return awsutil.Prettify(s)
  6958  }
  6959  
  6960  // GoString returns the string representation.
  6961  //
  6962  // API parameter values that are decorated as "sensitive" in the API will not
  6963  // be included in the string output. The member name will be present, but the
  6964  // value will be replaced with "sensitive".
  6965  func (s RecommendationRelatedAnomalySourceDetail) GoString() string {
  6966  	return s.String()
  6967  }
  6968  
  6969  // SetCloudWatchMetrics sets the CloudWatchMetrics field's value.
  6970  func (s *RecommendationRelatedAnomalySourceDetail) SetCloudWatchMetrics(v []*RecommendationRelatedCloudWatchMetricsSourceDetail) *RecommendationRelatedAnomalySourceDetail {
  6971  	s.CloudWatchMetrics = v
  6972  	return s
  6973  }
  6974  
  6975  // Information about an Amazon CloudWatch metric that is analyzed by DevOps
  6976  // Guru. It is one of many analyzed metrics that are used to generate insights.
  6977  type RecommendationRelatedCloudWatchMetricsSourceDetail struct {
  6978  	_ struct{} `type:"structure"`
  6979  
  6980  	// The name of the CloudWatch metric.
  6981  	MetricName *string `type:"string"`
  6982  
  6983  	// The namespace of the CloudWatch metric. A namespace is a container for CloudWatch
  6984  	// metrics.
  6985  	Namespace *string `type:"string"`
  6986  }
  6987  
  6988  // String returns the string representation.
  6989  //
  6990  // API parameter values that are decorated as "sensitive" in the API will not
  6991  // be included in the string output. The member name will be present, but the
  6992  // value will be replaced with "sensitive".
  6993  func (s RecommendationRelatedCloudWatchMetricsSourceDetail) String() string {
  6994  	return awsutil.Prettify(s)
  6995  }
  6996  
  6997  // GoString returns the string representation.
  6998  //
  6999  // API parameter values that are decorated as "sensitive" in the API will not
  7000  // be included in the string output. The member name will be present, but the
  7001  // value will be replaced with "sensitive".
  7002  func (s RecommendationRelatedCloudWatchMetricsSourceDetail) GoString() string {
  7003  	return s.String()
  7004  }
  7005  
  7006  // SetMetricName sets the MetricName field's value.
  7007  func (s *RecommendationRelatedCloudWatchMetricsSourceDetail) SetMetricName(v string) *RecommendationRelatedCloudWatchMetricsSourceDetail {
  7008  	s.MetricName = &v
  7009  	return s
  7010  }
  7011  
  7012  // SetNamespace sets the Namespace field's value.
  7013  func (s *RecommendationRelatedCloudWatchMetricsSourceDetail) SetNamespace(v string) *RecommendationRelatedCloudWatchMetricsSourceDetail {
  7014  	s.Namespace = &v
  7015  	return s
  7016  }
  7017  
  7018  // Information about an event that is related to a recommendation.
  7019  type RecommendationRelatedEvent struct {
  7020  	_ struct{} `type:"structure"`
  7021  
  7022  	// The name of the event. This corresponds to the Name field in an Event object.
  7023  	Name *string `type:"string"`
  7024  
  7025  	// A ResourceCollection object that contains arrays of the names of AWS CloudFormation
  7026  	// stacks. You can specify up to 500 AWS CloudFormation stacks.
  7027  	Resources []*RecommendationRelatedEventResource `type:"list"`
  7028  }
  7029  
  7030  // String returns the string representation.
  7031  //
  7032  // API parameter values that are decorated as "sensitive" in the API will not
  7033  // be included in the string output. The member name will be present, but the
  7034  // value will be replaced with "sensitive".
  7035  func (s RecommendationRelatedEvent) String() string {
  7036  	return awsutil.Prettify(s)
  7037  }
  7038  
  7039  // GoString returns the string representation.
  7040  //
  7041  // API parameter values that are decorated as "sensitive" in the API will not
  7042  // be included in the string output. The member name will be present, but the
  7043  // value will be replaced with "sensitive".
  7044  func (s RecommendationRelatedEvent) GoString() string {
  7045  	return s.String()
  7046  }
  7047  
  7048  // SetName sets the Name field's value.
  7049  func (s *RecommendationRelatedEvent) SetName(v string) *RecommendationRelatedEvent {
  7050  	s.Name = &v
  7051  	return s
  7052  }
  7053  
  7054  // SetResources sets the Resources field's value.
  7055  func (s *RecommendationRelatedEvent) SetResources(v []*RecommendationRelatedEventResource) *RecommendationRelatedEvent {
  7056  	s.Resources = v
  7057  	return s
  7058  }
  7059  
  7060  // Information about an AWS resource that emitted and event that is related
  7061  // to a recommendation in an insight.
  7062  type RecommendationRelatedEventResource struct {
  7063  	_ struct{} `type:"structure"`
  7064  
  7065  	// The name of the resource that emitted the event. This corresponds to the
  7066  	// Name field in an EventResource object.
  7067  	Name *string `type:"string"`
  7068  
  7069  	// The type of the resource that emitted the event. This corresponds to the
  7070  	// Type field in an EventResource object.
  7071  	Type *string `type:"string"`
  7072  }
  7073  
  7074  // String returns the string representation.
  7075  //
  7076  // API parameter values that are decorated as "sensitive" in the API will not
  7077  // be included in the string output. The member name will be present, but the
  7078  // value will be replaced with "sensitive".
  7079  func (s RecommendationRelatedEventResource) String() string {
  7080  	return awsutil.Prettify(s)
  7081  }
  7082  
  7083  // GoString returns the string representation.
  7084  //
  7085  // API parameter values that are decorated as "sensitive" in the API will not
  7086  // be included in the string output. The member name will be present, but the
  7087  // value will be replaced with "sensitive".
  7088  func (s RecommendationRelatedEventResource) GoString() string {
  7089  	return s.String()
  7090  }
  7091  
  7092  // SetName sets the Name field's value.
  7093  func (s *RecommendationRelatedEventResource) SetName(v string) *RecommendationRelatedEventResource {
  7094  	s.Name = &v
  7095  	return s
  7096  }
  7097  
  7098  // SetType sets the Type field's value.
  7099  func (s *RecommendationRelatedEventResource) SetType(v string) *RecommendationRelatedEventResource {
  7100  	s.Type = &v
  7101  	return s
  7102  }
  7103  
  7104  type RemoveNotificationChannelInput struct {
  7105  	_ struct{} `type:"structure" nopayload:"true"`
  7106  
  7107  	// The ID of the notification channel to be removed.
  7108  	//
  7109  	// Id is a required field
  7110  	Id *string `location:"uri" locationName:"Id" min:"36" type:"string" required:"true"`
  7111  }
  7112  
  7113  // String returns the string representation.
  7114  //
  7115  // API parameter values that are decorated as "sensitive" in the API will not
  7116  // be included in the string output. The member name will be present, but the
  7117  // value will be replaced with "sensitive".
  7118  func (s RemoveNotificationChannelInput) String() string {
  7119  	return awsutil.Prettify(s)
  7120  }
  7121  
  7122  // GoString returns the string representation.
  7123  //
  7124  // API parameter values that are decorated as "sensitive" in the API will not
  7125  // be included in the string output. The member name will be present, but the
  7126  // value will be replaced with "sensitive".
  7127  func (s RemoveNotificationChannelInput) GoString() string {
  7128  	return s.String()
  7129  }
  7130  
  7131  // Validate inspects the fields of the type to determine if they are valid.
  7132  func (s *RemoveNotificationChannelInput) Validate() error {
  7133  	invalidParams := request.ErrInvalidParams{Context: "RemoveNotificationChannelInput"}
  7134  	if s.Id == nil {
  7135  		invalidParams.Add(request.NewErrParamRequired("Id"))
  7136  	}
  7137  	if s.Id != nil && len(*s.Id) < 36 {
  7138  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
  7139  	}
  7140  
  7141  	if invalidParams.Len() > 0 {
  7142  		return invalidParams
  7143  	}
  7144  	return nil
  7145  }
  7146  
  7147  // SetId sets the Id field's value.
  7148  func (s *RemoveNotificationChannelInput) SetId(v string) *RemoveNotificationChannelInput {
  7149  	s.Id = &v
  7150  	return s
  7151  }
  7152  
  7153  type RemoveNotificationChannelOutput struct {
  7154  	_ struct{} `type:"structure" nopayload:"true"`
  7155  }
  7156  
  7157  // String returns the string representation.
  7158  //
  7159  // API parameter values that are decorated as "sensitive" in the API will not
  7160  // be included in the string output. The member name will be present, but the
  7161  // value will be replaced with "sensitive".
  7162  func (s RemoveNotificationChannelOutput) String() string {
  7163  	return awsutil.Prettify(s)
  7164  }
  7165  
  7166  // GoString returns the string representation.
  7167  //
  7168  // API parameter values that are decorated as "sensitive" in the API will not
  7169  // be included in the string output. The member name will be present, but the
  7170  // value will be replaced with "sensitive".
  7171  func (s RemoveNotificationChannelOutput) GoString() string {
  7172  	return s.String()
  7173  }
  7174  
  7175  // A collection of AWS resources supported by DevOps Guru. The one type of AWS
  7176  // resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  7177  // be configured to analyze only the AWS resources that are defined in the stacks.
  7178  // You can specify up to 500 AWS CloudFormation stacks.
  7179  type ResourceCollection struct {
  7180  	_ struct{} `type:"structure"`
  7181  
  7182  	// An array of the names of AWS CloudFormation stacks. The stacks define AWS
  7183  	// resources that DevOps Guru analyzes. You can specify up to 500 AWS CloudFormation
  7184  	// stacks.
  7185  	CloudFormation *CloudFormationCollection `type:"structure"`
  7186  }
  7187  
  7188  // String returns the string representation.
  7189  //
  7190  // API parameter values that are decorated as "sensitive" in the API will not
  7191  // be included in the string output. The member name will be present, but the
  7192  // value will be replaced with "sensitive".
  7193  func (s ResourceCollection) String() string {
  7194  	return awsutil.Prettify(s)
  7195  }
  7196  
  7197  // GoString returns the string representation.
  7198  //
  7199  // API parameter values that are decorated as "sensitive" in the API will not
  7200  // be included in the string output. The member name will be present, but the
  7201  // value will be replaced with "sensitive".
  7202  func (s ResourceCollection) GoString() string {
  7203  	return s.String()
  7204  }
  7205  
  7206  // SetCloudFormation sets the CloudFormation field's value.
  7207  func (s *ResourceCollection) SetCloudFormation(v *CloudFormationCollection) *ResourceCollection {
  7208  	s.CloudFormation = v
  7209  	return s
  7210  }
  7211  
  7212  // Information about a filter used to specify which AWS resources are analyzed
  7213  // for anomalous behavior by DevOps Guru.
  7214  type ResourceCollectionFilter struct {
  7215  	_ struct{} `type:"structure"`
  7216  
  7217  	// Information about AWS CloudFormation stacks. You can use up to 500 stacks
  7218  	// to specify which AWS resources in your account to analyze. For more information,
  7219  	// see Stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
  7220  	// in the AWS CloudFormation User Guide.
  7221  	CloudFormation *CloudFormationCollectionFilter `type:"structure"`
  7222  }
  7223  
  7224  // String returns the string representation.
  7225  //
  7226  // API parameter values that are decorated as "sensitive" in the API will not
  7227  // be included in the string output. The member name will be present, but the
  7228  // value will be replaced with "sensitive".
  7229  func (s ResourceCollectionFilter) String() string {
  7230  	return awsutil.Prettify(s)
  7231  }
  7232  
  7233  // GoString returns the string representation.
  7234  //
  7235  // API parameter values that are decorated as "sensitive" in the API will not
  7236  // be included in the string output. The member name will be present, but the
  7237  // value will be replaced with "sensitive".
  7238  func (s ResourceCollectionFilter) GoString() string {
  7239  	return s.String()
  7240  }
  7241  
  7242  // SetCloudFormation sets the CloudFormation field's value.
  7243  func (s *ResourceCollectionFilter) SetCloudFormation(v *CloudFormationCollectionFilter) *ResourceCollectionFilter {
  7244  	s.CloudFormation = v
  7245  	return s
  7246  }
  7247  
  7248  // A requested resource could not be found
  7249  type ResourceNotFoundException struct {
  7250  	_            struct{}                  `type:"structure"`
  7251  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7252  
  7253  	Message_ *string `locationName:"Message" type:"string"`
  7254  
  7255  	// The ID of the AWS resource that could not be found.
  7256  	//
  7257  	// ResourceId is a required field
  7258  	ResourceId *string `type:"string" required:"true"`
  7259  
  7260  	// The type of the AWS resource that could not be found.
  7261  	//
  7262  	// ResourceType is a required field
  7263  	ResourceType *string `type:"string" required:"true"`
  7264  }
  7265  
  7266  // String returns the string representation.
  7267  //
  7268  // API parameter values that are decorated as "sensitive" in the API will not
  7269  // be included in the string output. The member name will be present, but the
  7270  // value will be replaced with "sensitive".
  7271  func (s ResourceNotFoundException) String() string {
  7272  	return awsutil.Prettify(s)
  7273  }
  7274  
  7275  // GoString returns the string representation.
  7276  //
  7277  // API parameter values that are decorated as "sensitive" in the API will not
  7278  // be included in the string output. The member name will be present, but the
  7279  // value will be replaced with "sensitive".
  7280  func (s ResourceNotFoundException) GoString() string {
  7281  	return s.String()
  7282  }
  7283  
  7284  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7285  	return &ResourceNotFoundException{
  7286  		RespMetadata: v,
  7287  	}
  7288  }
  7289  
  7290  // Code returns the exception type name.
  7291  func (s *ResourceNotFoundException) Code() string {
  7292  	return "ResourceNotFoundException"
  7293  }
  7294  
  7295  // Message returns the exception's message.
  7296  func (s *ResourceNotFoundException) Message() string {
  7297  	if s.Message_ != nil {
  7298  		return *s.Message_
  7299  	}
  7300  	return ""
  7301  }
  7302  
  7303  // OrigErr always returns nil, satisfies awserr.Error interface.
  7304  func (s *ResourceNotFoundException) OrigErr() error {
  7305  	return nil
  7306  }
  7307  
  7308  func (s *ResourceNotFoundException) Error() string {
  7309  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7310  }
  7311  
  7312  // Status code returns the HTTP status code for the request's response error.
  7313  func (s *ResourceNotFoundException) StatusCode() int {
  7314  	return s.RespMetadata.StatusCode
  7315  }
  7316  
  7317  // RequestID returns the service's response RequestID for request.
  7318  func (s *ResourceNotFoundException) RequestID() string {
  7319  	return s.RespMetadata.RequestID
  7320  }
  7321  
  7322  // Specifies one or more severity values and one or more status values that
  7323  // are used to search for insights.
  7324  type SearchInsightsFilters struct {
  7325  	_ struct{} `type:"structure"`
  7326  
  7327  	// A collection of AWS resources supported by DevOps Guru. The one type of AWS
  7328  	// resource collection supported is AWS CloudFormation stacks. DevOps Guru can
  7329  	// be configured to analyze only the AWS resources that are defined in the stacks.
  7330  	// You can specify up to 500 AWS CloudFormation stacks.
  7331  	ResourceCollection *ResourceCollection `type:"structure"`
  7332  
  7333  	// A collection of the names of AWS services.
  7334  	ServiceCollection *ServiceCollection `type:"structure"`
  7335  
  7336  	// An array of severity values used to search for insights.
  7337  	Severities []*string `type:"list"`
  7338  
  7339  	// An array of status values used to search for insights.
  7340  	Statuses []*string `type:"list"`
  7341  }
  7342  
  7343  // String returns the string representation.
  7344  //
  7345  // API parameter values that are decorated as "sensitive" in the API will not
  7346  // be included in the string output. The member name will be present, but the
  7347  // value will be replaced with "sensitive".
  7348  func (s SearchInsightsFilters) String() string {
  7349  	return awsutil.Prettify(s)
  7350  }
  7351  
  7352  // GoString returns the string representation.
  7353  //
  7354  // API parameter values that are decorated as "sensitive" in the API will not
  7355  // be included in the string output. The member name will be present, but the
  7356  // value will be replaced with "sensitive".
  7357  func (s SearchInsightsFilters) GoString() string {
  7358  	return s.String()
  7359  }
  7360  
  7361  // SetResourceCollection sets the ResourceCollection field's value.
  7362  func (s *SearchInsightsFilters) SetResourceCollection(v *ResourceCollection) *SearchInsightsFilters {
  7363  	s.ResourceCollection = v
  7364  	return s
  7365  }
  7366  
  7367  // SetServiceCollection sets the ServiceCollection field's value.
  7368  func (s *SearchInsightsFilters) SetServiceCollection(v *ServiceCollection) *SearchInsightsFilters {
  7369  	s.ServiceCollection = v
  7370  	return s
  7371  }
  7372  
  7373  // SetSeverities sets the Severities field's value.
  7374  func (s *SearchInsightsFilters) SetSeverities(v []*string) *SearchInsightsFilters {
  7375  	s.Severities = v
  7376  	return s
  7377  }
  7378  
  7379  // SetStatuses sets the Statuses field's value.
  7380  func (s *SearchInsightsFilters) SetStatuses(v []*string) *SearchInsightsFilters {
  7381  	s.Statuses = v
  7382  	return s
  7383  }
  7384  
  7385  type SearchInsightsInput struct {
  7386  	_ struct{} `type:"structure"`
  7387  
  7388  	// A SearchInsightsFilters object that is used to set the severity and status
  7389  	// filters on your insight search.
  7390  	Filters *SearchInsightsFilters `type:"structure"`
  7391  
  7392  	// The maximum number of results to return with a single call. To retrieve the
  7393  	// remaining results, make another call with the returned nextToken value.
  7394  	MaxResults *int64 `min:"1" type:"integer"`
  7395  
  7396  	// The pagination token to use to retrieve the next page of results for this
  7397  	// operation. If this value is null, it retrieves the first page.
  7398  	NextToken *string `min:"36" type:"string"`
  7399  
  7400  	// The start of the time range passed in. Returned insights occurred after this
  7401  	// time.
  7402  	//
  7403  	// StartTimeRange is a required field
  7404  	StartTimeRange *StartTimeRange `type:"structure" required:"true"`
  7405  
  7406  	// The type of insights you are searching for (REACTIVE or PROACTIVE).
  7407  	//
  7408  	// Type is a required field
  7409  	Type *string `type:"string" required:"true" enum:"InsightType"`
  7410  }
  7411  
  7412  // String returns the string representation.
  7413  //
  7414  // API parameter values that are decorated as "sensitive" in the API will not
  7415  // be included in the string output. The member name will be present, but the
  7416  // value will be replaced with "sensitive".
  7417  func (s SearchInsightsInput) String() string {
  7418  	return awsutil.Prettify(s)
  7419  }
  7420  
  7421  // GoString returns the string representation.
  7422  //
  7423  // API parameter values that are decorated as "sensitive" in the API will not
  7424  // be included in the string output. The member name will be present, but the
  7425  // value will be replaced with "sensitive".
  7426  func (s SearchInsightsInput) GoString() string {
  7427  	return s.String()
  7428  }
  7429  
  7430  // Validate inspects the fields of the type to determine if they are valid.
  7431  func (s *SearchInsightsInput) Validate() error {
  7432  	invalidParams := request.ErrInvalidParams{Context: "SearchInsightsInput"}
  7433  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7434  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7435  	}
  7436  	if s.NextToken != nil && len(*s.NextToken) < 36 {
  7437  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 36))
  7438  	}
  7439  	if s.StartTimeRange == nil {
  7440  		invalidParams.Add(request.NewErrParamRequired("StartTimeRange"))
  7441  	}
  7442  	if s.Type == nil {
  7443  		invalidParams.Add(request.NewErrParamRequired("Type"))
  7444  	}
  7445  
  7446  	if invalidParams.Len() > 0 {
  7447  		return invalidParams
  7448  	}
  7449  	return nil
  7450  }
  7451  
  7452  // SetFilters sets the Filters field's value.
  7453  func (s *SearchInsightsInput) SetFilters(v *SearchInsightsFilters) *SearchInsightsInput {
  7454  	s.Filters = v
  7455  	return s
  7456  }
  7457  
  7458  // SetMaxResults sets the MaxResults field's value.
  7459  func (s *SearchInsightsInput) SetMaxResults(v int64) *SearchInsightsInput {
  7460  	s.MaxResults = &v
  7461  	return s
  7462  }
  7463  
  7464  // SetNextToken sets the NextToken field's value.
  7465  func (s *SearchInsightsInput) SetNextToken(v string) *SearchInsightsInput {
  7466  	s.NextToken = &v
  7467  	return s
  7468  }
  7469  
  7470  // SetStartTimeRange sets the StartTimeRange field's value.
  7471  func (s *SearchInsightsInput) SetStartTimeRange(v *StartTimeRange) *SearchInsightsInput {
  7472  	s.StartTimeRange = v
  7473  	return s
  7474  }
  7475  
  7476  // SetType sets the Type field's value.
  7477  func (s *SearchInsightsInput) SetType(v string) *SearchInsightsInput {
  7478  	s.Type = &v
  7479  	return s
  7480  }
  7481  
  7482  type SearchInsightsOutput struct {
  7483  	_ struct{} `type:"structure"`
  7484  
  7485  	// The pagination token to use to retrieve the next page of results for this
  7486  	// operation. If there are no more pages, this value is null.
  7487  	NextToken *string `min:"36" type:"string"`
  7488  
  7489  	// The returned proactive insights.
  7490  	ProactiveInsights []*ProactiveInsightSummary `type:"list"`
  7491  
  7492  	// The returned reactive insights.
  7493  	ReactiveInsights []*ReactiveInsightSummary `type:"list"`
  7494  }
  7495  
  7496  // String returns the string representation.
  7497  //
  7498  // API parameter values that are decorated as "sensitive" in the API will not
  7499  // be included in the string output. The member name will be present, but the
  7500  // value will be replaced with "sensitive".
  7501  func (s SearchInsightsOutput) String() string {
  7502  	return awsutil.Prettify(s)
  7503  }
  7504  
  7505  // GoString returns the string representation.
  7506  //
  7507  // API parameter values that are decorated as "sensitive" in the API will not
  7508  // be included in the string output. The member name will be present, but the
  7509  // value will be replaced with "sensitive".
  7510  func (s SearchInsightsOutput) GoString() string {
  7511  	return s.String()
  7512  }
  7513  
  7514  // SetNextToken sets the NextToken field's value.
  7515  func (s *SearchInsightsOutput) SetNextToken(v string) *SearchInsightsOutput {
  7516  	s.NextToken = &v
  7517  	return s
  7518  }
  7519  
  7520  // SetProactiveInsights sets the ProactiveInsights field's value.
  7521  func (s *SearchInsightsOutput) SetProactiveInsights(v []*ProactiveInsightSummary) *SearchInsightsOutput {
  7522  	s.ProactiveInsights = v
  7523  	return s
  7524  }
  7525  
  7526  // SetReactiveInsights sets the ReactiveInsights field's value.
  7527  func (s *SearchInsightsOutput) SetReactiveInsights(v []*ReactiveInsightSummary) *SearchInsightsOutput {
  7528  	s.ReactiveInsights = v
  7529  	return s
  7530  }
  7531  
  7532  // A collection of the names of AWS services.
  7533  type ServiceCollection struct {
  7534  	_ struct{} `type:"structure"`
  7535  
  7536  	// An array of strings that each specifies the name of an AWS service.
  7537  	ServiceNames []*string `type:"list"`
  7538  }
  7539  
  7540  // String returns the string representation.
  7541  //
  7542  // API parameter values that are decorated as "sensitive" in the API will not
  7543  // be included in the string output. The member name will be present, but the
  7544  // value will be replaced with "sensitive".
  7545  func (s ServiceCollection) String() string {
  7546  	return awsutil.Prettify(s)
  7547  }
  7548  
  7549  // GoString returns the string representation.
  7550  //
  7551  // API parameter values that are decorated as "sensitive" in the API will not
  7552  // be included in the string output. The member name will be present, but the
  7553  // value will be replaced with "sensitive".
  7554  func (s ServiceCollection) GoString() string {
  7555  	return s.String()
  7556  }
  7557  
  7558  // SetServiceNames sets the ServiceNames field's value.
  7559  func (s *ServiceCollection) SetServiceNames(v []*string) *ServiceCollection {
  7560  	s.ServiceNames = v
  7561  	return s
  7562  }
  7563  
  7564  // Represents the health of an AWS service.
  7565  type ServiceHealth struct {
  7566  	_ struct{} `type:"structure"`
  7567  
  7568  	// Represents the health of an AWS service. This is a ServiceInsightHealth that
  7569  	// contains the number of open proactive and reactive insights for this service.
  7570  	Insight *ServiceInsightHealth `type:"structure"`
  7571  
  7572  	// The name of the AWS service.
  7573  	ServiceName *string `type:"string" enum:"ServiceName"`
  7574  }
  7575  
  7576  // String returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s ServiceHealth) String() string {
  7582  	return awsutil.Prettify(s)
  7583  }
  7584  
  7585  // GoString returns the string representation.
  7586  //
  7587  // API parameter values that are decorated as "sensitive" in the API will not
  7588  // be included in the string output. The member name will be present, but the
  7589  // value will be replaced with "sensitive".
  7590  func (s ServiceHealth) GoString() string {
  7591  	return s.String()
  7592  }
  7593  
  7594  // SetInsight sets the Insight field's value.
  7595  func (s *ServiceHealth) SetInsight(v *ServiceInsightHealth) *ServiceHealth {
  7596  	s.Insight = v
  7597  	return s
  7598  }
  7599  
  7600  // SetServiceName sets the ServiceName field's value.
  7601  func (s *ServiceHealth) SetServiceName(v string) *ServiceHealth {
  7602  	s.ServiceName = &v
  7603  	return s
  7604  }
  7605  
  7606  // Contains the number of open proactive and reactive insights in an analyzed
  7607  // AWS service.
  7608  type ServiceInsightHealth struct {
  7609  	_ struct{} `type:"structure"`
  7610  
  7611  	// The number of open proactive insights in the AWS service
  7612  	OpenProactiveInsights *int64 `type:"integer"`
  7613  
  7614  	// The number of open reactive insights in the AWS service
  7615  	OpenReactiveInsights *int64 `type:"integer"`
  7616  }
  7617  
  7618  // String returns the string representation.
  7619  //
  7620  // API parameter values that are decorated as "sensitive" in the API will not
  7621  // be included in the string output. The member name will be present, but the
  7622  // value will be replaced with "sensitive".
  7623  func (s ServiceInsightHealth) String() string {
  7624  	return awsutil.Prettify(s)
  7625  }
  7626  
  7627  // GoString returns the string representation.
  7628  //
  7629  // API parameter values that are decorated as "sensitive" in the API will not
  7630  // be included in the string output. The member name will be present, but the
  7631  // value will be replaced with "sensitive".
  7632  func (s ServiceInsightHealth) GoString() string {
  7633  	return s.String()
  7634  }
  7635  
  7636  // SetOpenProactiveInsights sets the OpenProactiveInsights field's value.
  7637  func (s *ServiceInsightHealth) SetOpenProactiveInsights(v int64) *ServiceInsightHealth {
  7638  	s.OpenProactiveInsights = &v
  7639  	return s
  7640  }
  7641  
  7642  // SetOpenReactiveInsights sets the OpenReactiveInsights field's value.
  7643  func (s *ServiceInsightHealth) SetOpenReactiveInsights(v int64) *ServiceInsightHealth {
  7644  	s.OpenReactiveInsights = &v
  7645  	return s
  7646  }
  7647  
  7648  // Information about the integration of DevOps Guru with another AWS service,
  7649  // such as AWS Systems Manager.
  7650  type ServiceIntegrationConfig struct {
  7651  	_ struct{} `type:"structure"`
  7652  
  7653  	// Information about whether DevOps Guru is configured to create an OpsItem
  7654  	// in AWS Systems Manager OpsCenter for each created insight.
  7655  	OpsCenter *OpsCenterIntegration `type:"structure"`
  7656  }
  7657  
  7658  // String returns the string representation.
  7659  //
  7660  // API parameter values that are decorated as "sensitive" in the API will not
  7661  // be included in the string output. The member name will be present, but the
  7662  // value will be replaced with "sensitive".
  7663  func (s ServiceIntegrationConfig) String() string {
  7664  	return awsutil.Prettify(s)
  7665  }
  7666  
  7667  // GoString returns the string representation.
  7668  //
  7669  // API parameter values that are decorated as "sensitive" in the API will not
  7670  // be included in the string output. The member name will be present, but the
  7671  // value will be replaced with "sensitive".
  7672  func (s ServiceIntegrationConfig) GoString() string {
  7673  	return s.String()
  7674  }
  7675  
  7676  // SetOpsCenter sets the OpsCenter field's value.
  7677  func (s *ServiceIntegrationConfig) SetOpsCenter(v *OpsCenterIntegration) *ServiceIntegrationConfig {
  7678  	s.OpsCenter = v
  7679  	return s
  7680  }
  7681  
  7682  // The request contains a value that exceeds a maximum quota.
  7683  type ServiceQuotaExceededException struct {
  7684  	_            struct{}                  `type:"structure"`
  7685  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7686  
  7687  	Message_ *string `locationName:"Message" type:"string"`
  7688  }
  7689  
  7690  // String returns the string representation.
  7691  //
  7692  // API parameter values that are decorated as "sensitive" in the API will not
  7693  // be included in the string output. The member name will be present, but the
  7694  // value will be replaced with "sensitive".
  7695  func (s ServiceQuotaExceededException) String() string {
  7696  	return awsutil.Prettify(s)
  7697  }
  7698  
  7699  // GoString returns the string representation.
  7700  //
  7701  // API parameter values that are decorated as "sensitive" in the API will not
  7702  // be included in the string output. The member name will be present, but the
  7703  // value will be replaced with "sensitive".
  7704  func (s ServiceQuotaExceededException) GoString() string {
  7705  	return s.String()
  7706  }
  7707  
  7708  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  7709  	return &ServiceQuotaExceededException{
  7710  		RespMetadata: v,
  7711  	}
  7712  }
  7713  
  7714  // Code returns the exception type name.
  7715  func (s *ServiceQuotaExceededException) Code() string {
  7716  	return "ServiceQuotaExceededException"
  7717  }
  7718  
  7719  // Message returns the exception's message.
  7720  func (s *ServiceQuotaExceededException) Message() string {
  7721  	if s.Message_ != nil {
  7722  		return *s.Message_
  7723  	}
  7724  	return ""
  7725  }
  7726  
  7727  // OrigErr always returns nil, satisfies awserr.Error interface.
  7728  func (s *ServiceQuotaExceededException) OrigErr() error {
  7729  	return nil
  7730  }
  7731  
  7732  func (s *ServiceQuotaExceededException) Error() string {
  7733  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7734  }
  7735  
  7736  // Status code returns the HTTP status code for the request's response error.
  7737  func (s *ServiceQuotaExceededException) StatusCode() int {
  7738  	return s.RespMetadata.StatusCode
  7739  }
  7740  
  7741  // RequestID returns the service's response RequestID for request.
  7742  func (s *ServiceQuotaExceededException) RequestID() string {
  7743  	return s.RespMetadata.RequestID
  7744  }
  7745  
  7746  // An object that contains information about the estimated monthly cost to analyze
  7747  // an AWS resource. For more information, see Estimate your Amazon DevOps Guru
  7748  // costs (https://docs.aws.amazon.com/devops-guru/latest/userguide/cost-estimate.html)
  7749  // and Amazon DevOps Guru pricing (http://aws.amazon.com/devops-guru/pricing/).
  7750  type ServiceResourceCost struct {
  7751  	_ struct{} `type:"structure"`
  7752  
  7753  	// The total estimated monthly cost to analyze the active resources for this
  7754  	// resource.
  7755  	Cost *float64 `type:"double"`
  7756  
  7757  	// The number of active resources analyzed for this service to create a monthly
  7758  	// cost estimate.
  7759  	Count *int64 `type:"integer"`
  7760  
  7761  	// The state of the resource. The resource is ACTIVE if it produces metrics,
  7762  	// events, or logs within an hour, otherwise it is INACTIVE. You pay for the
  7763  	// number of active AWS resource hours analyzed for each resource. Inactive
  7764  	// resources are not charged.
  7765  	State *string `type:"string" enum:"CostEstimationServiceResourceState"`
  7766  
  7767  	// The type of the AWS resource.
  7768  	Type *string `min:"1" type:"string"`
  7769  
  7770  	// The price per hour to analyze the resources in the service. For more information,
  7771  	// see Estimate your Amazon DevOps Guru costs (https://docs.aws.amazon.com/devops-guru/latest/userguide/cost-estimate.html)
  7772  	// and Amazon DevOps Guru pricing (http://aws.amazon.com/devops-guru/pricing/).
  7773  	UnitCost *float64 `type:"double"`
  7774  }
  7775  
  7776  // String returns the string representation.
  7777  //
  7778  // API parameter values that are decorated as "sensitive" in the API will not
  7779  // be included in the string output. The member name will be present, but the
  7780  // value will be replaced with "sensitive".
  7781  func (s ServiceResourceCost) String() string {
  7782  	return awsutil.Prettify(s)
  7783  }
  7784  
  7785  // GoString returns the string representation.
  7786  //
  7787  // API parameter values that are decorated as "sensitive" in the API will not
  7788  // be included in the string output. The member name will be present, but the
  7789  // value will be replaced with "sensitive".
  7790  func (s ServiceResourceCost) GoString() string {
  7791  	return s.String()
  7792  }
  7793  
  7794  // SetCost sets the Cost field's value.
  7795  func (s *ServiceResourceCost) SetCost(v float64) *ServiceResourceCost {
  7796  	s.Cost = &v
  7797  	return s
  7798  }
  7799  
  7800  // SetCount sets the Count field's value.
  7801  func (s *ServiceResourceCost) SetCount(v int64) *ServiceResourceCost {
  7802  	s.Count = &v
  7803  	return s
  7804  }
  7805  
  7806  // SetState sets the State field's value.
  7807  func (s *ServiceResourceCost) SetState(v string) *ServiceResourceCost {
  7808  	s.State = &v
  7809  	return s
  7810  }
  7811  
  7812  // SetType sets the Type field's value.
  7813  func (s *ServiceResourceCost) SetType(v string) *ServiceResourceCost {
  7814  	s.Type = &v
  7815  	return s
  7816  }
  7817  
  7818  // SetUnitCost sets the UnitCost field's value.
  7819  func (s *ServiceResourceCost) SetUnitCost(v float64) *ServiceResourceCost {
  7820  	s.UnitCost = &v
  7821  	return s
  7822  }
  7823  
  7824  // Contains the Amazon Resource Name (ARN) of an Amazon Simple Notification
  7825  // Service topic.
  7826  //
  7827  // If you use an Amazon SNS topic in another account, you must attach a policy
  7828  // to it that grants DevOps Guru permission to it notifications. DevOps Guru
  7829  // adds the required policy on your behalf to send notifications using Amazon
  7830  // SNS in your account. For more information, see Permissions for cross account
  7831  // Amazon SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).
  7832  //
  7833  // If you use an Amazon SNS topic that is encrypted by an AWS Key Management
  7834  // Service customer-managed key (CMK), then you must add permissions to the
  7835  // CMK. For more information, see Permissions for AWS KMS–encrypted Amazon
  7836  // SNS topics (https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).
  7837  type SnsChannelConfig struct {
  7838  	_ struct{} `type:"structure"`
  7839  
  7840  	// The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.
  7841  	TopicArn *string `min:"36" type:"string"`
  7842  }
  7843  
  7844  // String returns the string representation.
  7845  //
  7846  // API parameter values that are decorated as "sensitive" in the API will not
  7847  // be included in the string output. The member name will be present, but the
  7848  // value will be replaced with "sensitive".
  7849  func (s SnsChannelConfig) String() string {
  7850  	return awsutil.Prettify(s)
  7851  }
  7852  
  7853  // GoString returns the string representation.
  7854  //
  7855  // API parameter values that are decorated as "sensitive" in the API will not
  7856  // be included in the string output. The member name will be present, but the
  7857  // value will be replaced with "sensitive".
  7858  func (s SnsChannelConfig) GoString() string {
  7859  	return s.String()
  7860  }
  7861  
  7862  // Validate inspects the fields of the type to determine if they are valid.
  7863  func (s *SnsChannelConfig) Validate() error {
  7864  	invalidParams := request.ErrInvalidParams{Context: "SnsChannelConfig"}
  7865  	if s.TopicArn != nil && len(*s.TopicArn) < 36 {
  7866  		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 36))
  7867  	}
  7868  
  7869  	if invalidParams.Len() > 0 {
  7870  		return invalidParams
  7871  	}
  7872  	return nil
  7873  }
  7874  
  7875  // SetTopicArn sets the TopicArn field's value.
  7876  func (s *SnsChannelConfig) SetTopicArn(v string) *SnsChannelConfig {
  7877  	s.TopicArn = &v
  7878  	return s
  7879  }
  7880  
  7881  type StartCostEstimationInput struct {
  7882  	_ struct{} `type:"structure"`
  7883  
  7884  	// The idempotency token used to identify each cost estimate request.
  7885  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  7886  
  7887  	// The collection of AWS resources used to create a monthly DevOps Guru cost
  7888  	// estimate.
  7889  	//
  7890  	// ResourceCollection is a required field
  7891  	ResourceCollection *CostEstimationResourceCollectionFilter `type:"structure" required:"true"`
  7892  }
  7893  
  7894  // String returns the string representation.
  7895  //
  7896  // API parameter values that are decorated as "sensitive" in the API will not
  7897  // be included in the string output. The member name will be present, but the
  7898  // value will be replaced with "sensitive".
  7899  func (s StartCostEstimationInput) String() string {
  7900  	return awsutil.Prettify(s)
  7901  }
  7902  
  7903  // GoString returns the string representation.
  7904  //
  7905  // API parameter values that are decorated as "sensitive" in the API will not
  7906  // be included in the string output. The member name will be present, but the
  7907  // value will be replaced with "sensitive".
  7908  func (s StartCostEstimationInput) GoString() string {
  7909  	return s.String()
  7910  }
  7911  
  7912  // Validate inspects the fields of the type to determine if they are valid.
  7913  func (s *StartCostEstimationInput) Validate() error {
  7914  	invalidParams := request.ErrInvalidParams{Context: "StartCostEstimationInput"}
  7915  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  7916  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  7917  	}
  7918  	if s.ResourceCollection == nil {
  7919  		invalidParams.Add(request.NewErrParamRequired("ResourceCollection"))
  7920  	}
  7921  	if s.ResourceCollection != nil {
  7922  		if err := s.ResourceCollection.Validate(); err != nil {
  7923  			invalidParams.AddNested("ResourceCollection", err.(request.ErrInvalidParams))
  7924  		}
  7925  	}
  7926  
  7927  	if invalidParams.Len() > 0 {
  7928  		return invalidParams
  7929  	}
  7930  	return nil
  7931  }
  7932  
  7933  // SetClientToken sets the ClientToken field's value.
  7934  func (s *StartCostEstimationInput) SetClientToken(v string) *StartCostEstimationInput {
  7935  	s.ClientToken = &v
  7936  	return s
  7937  }
  7938  
  7939  // SetResourceCollection sets the ResourceCollection field's value.
  7940  func (s *StartCostEstimationInput) SetResourceCollection(v *CostEstimationResourceCollectionFilter) *StartCostEstimationInput {
  7941  	s.ResourceCollection = v
  7942  	return s
  7943  }
  7944  
  7945  type StartCostEstimationOutput struct {
  7946  	_ struct{} `type:"structure" nopayload:"true"`
  7947  }
  7948  
  7949  // String returns the string representation.
  7950  //
  7951  // API parameter values that are decorated as "sensitive" in the API will not
  7952  // be included in the string output. The member name will be present, but the
  7953  // value will be replaced with "sensitive".
  7954  func (s StartCostEstimationOutput) String() string {
  7955  	return awsutil.Prettify(s)
  7956  }
  7957  
  7958  // GoString returns the string representation.
  7959  //
  7960  // API parameter values that are decorated as "sensitive" in the API will not
  7961  // be included in the string output. The member name will be present, but the
  7962  // value will be replaced with "sensitive".
  7963  func (s StartCostEstimationOutput) GoString() string {
  7964  	return s.String()
  7965  }
  7966  
  7967  // A time range used to specify when the behavior of an insight or anomaly started.
  7968  type StartTimeRange struct {
  7969  	_ struct{} `type:"structure"`
  7970  
  7971  	// The start time of the time range.
  7972  	FromTime *time.Time `type:"timestamp"`
  7973  
  7974  	// The end time of the time range.
  7975  	ToTime *time.Time `type:"timestamp"`
  7976  }
  7977  
  7978  // String returns the string representation.
  7979  //
  7980  // API parameter values that are decorated as "sensitive" in the API will not
  7981  // be included in the string output. The member name will be present, but the
  7982  // value will be replaced with "sensitive".
  7983  func (s StartTimeRange) String() string {
  7984  	return awsutil.Prettify(s)
  7985  }
  7986  
  7987  // GoString returns the string representation.
  7988  //
  7989  // API parameter values that are decorated as "sensitive" in the API will not
  7990  // be included in the string output. The member name will be present, but the
  7991  // value will be replaced with "sensitive".
  7992  func (s StartTimeRange) GoString() string {
  7993  	return s.String()
  7994  }
  7995  
  7996  // SetFromTime sets the FromTime field's value.
  7997  func (s *StartTimeRange) SetFromTime(v time.Time) *StartTimeRange {
  7998  	s.FromTime = &v
  7999  	return s
  8000  }
  8001  
  8002  // SetToTime sets the ToTime field's value.
  8003  func (s *StartTimeRange) SetToTime(v time.Time) *StartTimeRange {
  8004  	s.ToTime = &v
  8005  	return s
  8006  }
  8007  
  8008  // The request was denied due to a request throttling.
  8009  type ThrottlingException struct {
  8010  	_            struct{}                  `type:"structure"`
  8011  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8012  
  8013  	Message_ *string `locationName:"Message" type:"string"`
  8014  
  8015  	// The code of the quota that was exceeded, causing the throttling exception.
  8016  	QuotaCode *string `type:"string"`
  8017  
  8018  	// The number of seconds after which the action that caused the throttling exception
  8019  	// can be retried.
  8020  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  8021  
  8022  	// The code of the service that caused the throttling exception.
  8023  	ServiceCode *string `type:"string"`
  8024  }
  8025  
  8026  // String returns the string representation.
  8027  //
  8028  // API parameter values that are decorated as "sensitive" in the API will not
  8029  // be included in the string output. The member name will be present, but the
  8030  // value will be replaced with "sensitive".
  8031  func (s ThrottlingException) String() string {
  8032  	return awsutil.Prettify(s)
  8033  }
  8034  
  8035  // GoString returns the string representation.
  8036  //
  8037  // API parameter values that are decorated as "sensitive" in the API will not
  8038  // be included in the string output. The member name will be present, but the
  8039  // value will be replaced with "sensitive".
  8040  func (s ThrottlingException) GoString() string {
  8041  	return s.String()
  8042  }
  8043  
  8044  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  8045  	return &ThrottlingException{
  8046  		RespMetadata: v,
  8047  	}
  8048  }
  8049  
  8050  // Code returns the exception type name.
  8051  func (s *ThrottlingException) Code() string {
  8052  	return "ThrottlingException"
  8053  }
  8054  
  8055  // Message returns the exception's message.
  8056  func (s *ThrottlingException) Message() string {
  8057  	if s.Message_ != nil {
  8058  		return *s.Message_
  8059  	}
  8060  	return ""
  8061  }
  8062  
  8063  // OrigErr always returns nil, satisfies awserr.Error interface.
  8064  func (s *ThrottlingException) OrigErr() error {
  8065  	return nil
  8066  }
  8067  
  8068  func (s *ThrottlingException) Error() string {
  8069  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8070  }
  8071  
  8072  // Status code returns the HTTP status code for the request's response error.
  8073  func (s *ThrottlingException) StatusCode() int {
  8074  	return s.RespMetadata.StatusCode
  8075  }
  8076  
  8077  // RequestID returns the service's response RequestID for request.
  8078  func (s *ThrottlingException) RequestID() string {
  8079  	return s.RespMetadata.RequestID
  8080  }
  8081  
  8082  // Contains the names of AWS CloudFormation stacks used to update a collection
  8083  // of stacks. You can specify up to 500 AWS CloudFormation stacks.
  8084  type UpdateCloudFormationCollectionFilter struct {
  8085  	_ struct{} `type:"structure"`
  8086  
  8087  	// An array of the names of the AWS CloudFormation stacks to update. You can
  8088  	// specify up to 500 AWS CloudFormation stacks.
  8089  	StackNames []*string `type:"list"`
  8090  }
  8091  
  8092  // String returns the string representation.
  8093  //
  8094  // API parameter values that are decorated as "sensitive" in the API will not
  8095  // be included in the string output. The member name will be present, but the
  8096  // value will be replaced with "sensitive".
  8097  func (s UpdateCloudFormationCollectionFilter) String() string {
  8098  	return awsutil.Prettify(s)
  8099  }
  8100  
  8101  // GoString returns the string representation.
  8102  //
  8103  // API parameter values that are decorated as "sensitive" in the API will not
  8104  // be included in the string output. The member name will be present, but the
  8105  // value will be replaced with "sensitive".
  8106  func (s UpdateCloudFormationCollectionFilter) GoString() string {
  8107  	return s.String()
  8108  }
  8109  
  8110  // SetStackNames sets the StackNames field's value.
  8111  func (s *UpdateCloudFormationCollectionFilter) SetStackNames(v []*string) *UpdateCloudFormationCollectionFilter {
  8112  	s.StackNames = v
  8113  	return s
  8114  }
  8115  
  8116  // Contains information used to update a collection of AWS resources.
  8117  type UpdateResourceCollectionFilter struct {
  8118  	_ struct{} `type:"structure"`
  8119  
  8120  	// An collection of AWS CloudFormation stacks. You can specify up to 500 AWS
  8121  	// CloudFormation stacks.
  8122  	CloudFormation *UpdateCloudFormationCollectionFilter `type:"structure"`
  8123  }
  8124  
  8125  // String returns the string representation.
  8126  //
  8127  // API parameter values that are decorated as "sensitive" in the API will not
  8128  // be included in the string output. The member name will be present, but the
  8129  // value will be replaced with "sensitive".
  8130  func (s UpdateResourceCollectionFilter) String() string {
  8131  	return awsutil.Prettify(s)
  8132  }
  8133  
  8134  // GoString returns the string representation.
  8135  //
  8136  // API parameter values that are decorated as "sensitive" in the API will not
  8137  // be included in the string output. The member name will be present, but the
  8138  // value will be replaced with "sensitive".
  8139  func (s UpdateResourceCollectionFilter) GoString() string {
  8140  	return s.String()
  8141  }
  8142  
  8143  // SetCloudFormation sets the CloudFormation field's value.
  8144  func (s *UpdateResourceCollectionFilter) SetCloudFormation(v *UpdateCloudFormationCollectionFilter) *UpdateResourceCollectionFilter {
  8145  	s.CloudFormation = v
  8146  	return s
  8147  }
  8148  
  8149  type UpdateResourceCollectionInput struct {
  8150  	_ struct{} `type:"structure"`
  8151  
  8152  	// Specifies if the resource collection in the request is added or deleted to
  8153  	// the resource collection.
  8154  	//
  8155  	// Action is a required field
  8156  	Action *string `type:"string" required:"true" enum:"UpdateResourceCollectionAction"`
  8157  
  8158  	// Contains information used to update a collection of AWS resources.
  8159  	//
  8160  	// ResourceCollection is a required field
  8161  	ResourceCollection *UpdateResourceCollectionFilter `type:"structure" required:"true"`
  8162  }
  8163  
  8164  // String returns the string representation.
  8165  //
  8166  // API parameter values that are decorated as "sensitive" in the API will not
  8167  // be included in the string output. The member name will be present, but the
  8168  // value will be replaced with "sensitive".
  8169  func (s UpdateResourceCollectionInput) String() string {
  8170  	return awsutil.Prettify(s)
  8171  }
  8172  
  8173  // GoString returns the string representation.
  8174  //
  8175  // API parameter values that are decorated as "sensitive" in the API will not
  8176  // be included in the string output. The member name will be present, but the
  8177  // value will be replaced with "sensitive".
  8178  func (s UpdateResourceCollectionInput) GoString() string {
  8179  	return s.String()
  8180  }
  8181  
  8182  // Validate inspects the fields of the type to determine if they are valid.
  8183  func (s *UpdateResourceCollectionInput) Validate() error {
  8184  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceCollectionInput"}
  8185  	if s.Action == nil {
  8186  		invalidParams.Add(request.NewErrParamRequired("Action"))
  8187  	}
  8188  	if s.ResourceCollection == nil {
  8189  		invalidParams.Add(request.NewErrParamRequired("ResourceCollection"))
  8190  	}
  8191  
  8192  	if invalidParams.Len() > 0 {
  8193  		return invalidParams
  8194  	}
  8195  	return nil
  8196  }
  8197  
  8198  // SetAction sets the Action field's value.
  8199  func (s *UpdateResourceCollectionInput) SetAction(v string) *UpdateResourceCollectionInput {
  8200  	s.Action = &v
  8201  	return s
  8202  }
  8203  
  8204  // SetResourceCollection sets the ResourceCollection field's value.
  8205  func (s *UpdateResourceCollectionInput) SetResourceCollection(v *UpdateResourceCollectionFilter) *UpdateResourceCollectionInput {
  8206  	s.ResourceCollection = v
  8207  	return s
  8208  }
  8209  
  8210  type UpdateResourceCollectionOutput struct {
  8211  	_ struct{} `type:"structure" nopayload:"true"`
  8212  }
  8213  
  8214  // String returns the string representation.
  8215  //
  8216  // API parameter values that are decorated as "sensitive" in the API will not
  8217  // be included in the string output. The member name will be present, but the
  8218  // value will be replaced with "sensitive".
  8219  func (s UpdateResourceCollectionOutput) String() string {
  8220  	return awsutil.Prettify(s)
  8221  }
  8222  
  8223  // GoString returns the string representation.
  8224  //
  8225  // API parameter values that are decorated as "sensitive" in the API will not
  8226  // be included in the string output. The member name will be present, but the
  8227  // value will be replaced with "sensitive".
  8228  func (s UpdateResourceCollectionOutput) GoString() string {
  8229  	return s.String()
  8230  }
  8231  
  8232  // Information about updating the integration status of an AWS service, such
  8233  // as AWS Systems Manager, with DevOps Guru.
  8234  type UpdateServiceIntegrationConfig struct {
  8235  	_ struct{} `type:"structure"`
  8236  
  8237  	// Information about whether DevOps Guru is configured to create an OpsItem
  8238  	// in AWS Systems Manager OpsCenter for each created insight.
  8239  	OpsCenter *OpsCenterIntegrationConfig `type:"structure"`
  8240  }
  8241  
  8242  // String returns the string representation.
  8243  //
  8244  // API parameter values that are decorated as "sensitive" in the API will not
  8245  // be included in the string output. The member name will be present, but the
  8246  // value will be replaced with "sensitive".
  8247  func (s UpdateServiceIntegrationConfig) String() string {
  8248  	return awsutil.Prettify(s)
  8249  }
  8250  
  8251  // GoString returns the string representation.
  8252  //
  8253  // API parameter values that are decorated as "sensitive" in the API will not
  8254  // be included in the string output. The member name will be present, but the
  8255  // value will be replaced with "sensitive".
  8256  func (s UpdateServiceIntegrationConfig) GoString() string {
  8257  	return s.String()
  8258  }
  8259  
  8260  // SetOpsCenter sets the OpsCenter field's value.
  8261  func (s *UpdateServiceIntegrationConfig) SetOpsCenter(v *OpsCenterIntegrationConfig) *UpdateServiceIntegrationConfig {
  8262  	s.OpsCenter = v
  8263  	return s
  8264  }
  8265  
  8266  type UpdateServiceIntegrationInput struct {
  8267  	_ struct{} `type:"structure"`
  8268  
  8269  	// An IntegratedServiceConfig object used to specify the integrated service
  8270  	// you want to update, and whether you want to update it to enabled or disabled.
  8271  	//
  8272  	// ServiceIntegration is a required field
  8273  	ServiceIntegration *UpdateServiceIntegrationConfig `type:"structure" required:"true"`
  8274  }
  8275  
  8276  // String returns the string representation.
  8277  //
  8278  // API parameter values that are decorated as "sensitive" in the API will not
  8279  // be included in the string output. The member name will be present, but the
  8280  // value will be replaced with "sensitive".
  8281  func (s UpdateServiceIntegrationInput) String() string {
  8282  	return awsutil.Prettify(s)
  8283  }
  8284  
  8285  // GoString returns the string representation.
  8286  //
  8287  // API parameter values that are decorated as "sensitive" in the API will not
  8288  // be included in the string output. The member name will be present, but the
  8289  // value will be replaced with "sensitive".
  8290  func (s UpdateServiceIntegrationInput) GoString() string {
  8291  	return s.String()
  8292  }
  8293  
  8294  // Validate inspects the fields of the type to determine if they are valid.
  8295  func (s *UpdateServiceIntegrationInput) Validate() error {
  8296  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceIntegrationInput"}
  8297  	if s.ServiceIntegration == nil {
  8298  		invalidParams.Add(request.NewErrParamRequired("ServiceIntegration"))
  8299  	}
  8300  
  8301  	if invalidParams.Len() > 0 {
  8302  		return invalidParams
  8303  	}
  8304  	return nil
  8305  }
  8306  
  8307  // SetServiceIntegration sets the ServiceIntegration field's value.
  8308  func (s *UpdateServiceIntegrationInput) SetServiceIntegration(v *UpdateServiceIntegrationConfig) *UpdateServiceIntegrationInput {
  8309  	s.ServiceIntegration = v
  8310  	return s
  8311  }
  8312  
  8313  type UpdateServiceIntegrationOutput struct {
  8314  	_ struct{} `type:"structure" nopayload:"true"`
  8315  }
  8316  
  8317  // String returns the string representation.
  8318  //
  8319  // API parameter values that are decorated as "sensitive" in the API will not
  8320  // be included in the string output. The member name will be present, but the
  8321  // value will be replaced with "sensitive".
  8322  func (s UpdateServiceIntegrationOutput) String() string {
  8323  	return awsutil.Prettify(s)
  8324  }
  8325  
  8326  // GoString returns the string representation.
  8327  //
  8328  // API parameter values that are decorated as "sensitive" in the API will not
  8329  // be included in the string output. The member name will be present, but the
  8330  // value will be replaced with "sensitive".
  8331  func (s UpdateServiceIntegrationOutput) GoString() string {
  8332  	return s.String()
  8333  }
  8334  
  8335  // Contains information about data passed in to a field during a request that
  8336  // is not valid.
  8337  type ValidationException struct {
  8338  	_            struct{}                  `type:"structure"`
  8339  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8340  
  8341  	// An array of fields that are associated with the validation exception.
  8342  	Fields []*ValidationExceptionField `type:"list"`
  8343  
  8344  	// A message that describes the validation exception.
  8345  	Message_ *string `locationName:"Message" type:"string"`
  8346  
  8347  	// The reason the validation exception was thrown.
  8348  	Reason *string `type:"string" enum:"ValidationExceptionReason"`
  8349  }
  8350  
  8351  // String returns the string representation.
  8352  //
  8353  // API parameter values that are decorated as "sensitive" in the API will not
  8354  // be included in the string output. The member name will be present, but the
  8355  // value will be replaced with "sensitive".
  8356  func (s ValidationException) String() string {
  8357  	return awsutil.Prettify(s)
  8358  }
  8359  
  8360  // GoString returns the string representation.
  8361  //
  8362  // API parameter values that are decorated as "sensitive" in the API will not
  8363  // be included in the string output. The member name will be present, but the
  8364  // value will be replaced with "sensitive".
  8365  func (s ValidationException) GoString() string {
  8366  	return s.String()
  8367  }
  8368  
  8369  func newErrorValidationException(v protocol.ResponseMetadata) error {
  8370  	return &ValidationException{
  8371  		RespMetadata: v,
  8372  	}
  8373  }
  8374  
  8375  // Code returns the exception type name.
  8376  func (s *ValidationException) Code() string {
  8377  	return "ValidationException"
  8378  }
  8379  
  8380  // Message returns the exception's message.
  8381  func (s *ValidationException) Message() string {
  8382  	if s.Message_ != nil {
  8383  		return *s.Message_
  8384  	}
  8385  	return ""
  8386  }
  8387  
  8388  // OrigErr always returns nil, satisfies awserr.Error interface.
  8389  func (s *ValidationException) OrigErr() error {
  8390  	return nil
  8391  }
  8392  
  8393  func (s *ValidationException) Error() string {
  8394  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8395  }
  8396  
  8397  // Status code returns the HTTP status code for the request's response error.
  8398  func (s *ValidationException) StatusCode() int {
  8399  	return s.RespMetadata.StatusCode
  8400  }
  8401  
  8402  // RequestID returns the service's response RequestID for request.
  8403  func (s *ValidationException) RequestID() string {
  8404  	return s.RespMetadata.RequestID
  8405  }
  8406  
  8407  // The field associated with the validation exception.
  8408  type ValidationExceptionField struct {
  8409  	_ struct{} `type:"structure"`
  8410  
  8411  	// The message associated with the validation exception with information to
  8412  	// help determine its cause.
  8413  	//
  8414  	// Message is a required field
  8415  	Message *string `type:"string" required:"true"`
  8416  
  8417  	// The name of the field.
  8418  	//
  8419  	// Name is a required field
  8420  	Name *string `type:"string" required:"true"`
  8421  }
  8422  
  8423  // String returns the string representation.
  8424  //
  8425  // API parameter values that are decorated as "sensitive" in the API will not
  8426  // be included in the string output. The member name will be present, but the
  8427  // value will be replaced with "sensitive".
  8428  func (s ValidationExceptionField) String() string {
  8429  	return awsutil.Prettify(s)
  8430  }
  8431  
  8432  // GoString returns the string representation.
  8433  //
  8434  // API parameter values that are decorated as "sensitive" in the API will not
  8435  // be included in the string output. The member name will be present, but the
  8436  // value will be replaced with "sensitive".
  8437  func (s ValidationExceptionField) GoString() string {
  8438  	return s.String()
  8439  }
  8440  
  8441  // SetMessage sets the Message field's value.
  8442  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  8443  	s.Message = &v
  8444  	return s
  8445  }
  8446  
  8447  // SetName sets the Name field's value.
  8448  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  8449  	s.Name = &v
  8450  	return s
  8451  }
  8452  
  8453  const (
  8454  	// AnomalySeverityLow is a AnomalySeverity enum value
  8455  	AnomalySeverityLow = "LOW"
  8456  
  8457  	// AnomalySeverityMedium is a AnomalySeverity enum value
  8458  	AnomalySeverityMedium = "MEDIUM"
  8459  
  8460  	// AnomalySeverityHigh is a AnomalySeverity enum value
  8461  	AnomalySeverityHigh = "HIGH"
  8462  )
  8463  
  8464  // AnomalySeverity_Values returns all elements of the AnomalySeverity enum
  8465  func AnomalySeverity_Values() []string {
  8466  	return []string{
  8467  		AnomalySeverityLow,
  8468  		AnomalySeverityMedium,
  8469  		AnomalySeverityHigh,
  8470  	}
  8471  }
  8472  
  8473  const (
  8474  	// AnomalyStatusOngoing is a AnomalyStatus enum value
  8475  	AnomalyStatusOngoing = "ONGOING"
  8476  
  8477  	// AnomalyStatusClosed is a AnomalyStatus enum value
  8478  	AnomalyStatusClosed = "CLOSED"
  8479  )
  8480  
  8481  // AnomalyStatus_Values returns all elements of the AnomalyStatus enum
  8482  func AnomalyStatus_Values() []string {
  8483  	return []string{
  8484  		AnomalyStatusOngoing,
  8485  		AnomalyStatusClosed,
  8486  	}
  8487  }
  8488  
  8489  const (
  8490  	// CloudWatchMetricsStatSum is a CloudWatchMetricsStat enum value
  8491  	CloudWatchMetricsStatSum = "Sum"
  8492  
  8493  	// CloudWatchMetricsStatAverage is a CloudWatchMetricsStat enum value
  8494  	CloudWatchMetricsStatAverage = "Average"
  8495  
  8496  	// CloudWatchMetricsStatSampleCount is a CloudWatchMetricsStat enum value
  8497  	CloudWatchMetricsStatSampleCount = "SampleCount"
  8498  
  8499  	// CloudWatchMetricsStatMinimum is a CloudWatchMetricsStat enum value
  8500  	CloudWatchMetricsStatMinimum = "Minimum"
  8501  
  8502  	// CloudWatchMetricsStatMaximum is a CloudWatchMetricsStat enum value
  8503  	CloudWatchMetricsStatMaximum = "Maximum"
  8504  
  8505  	// CloudWatchMetricsStatP99 is a CloudWatchMetricsStat enum value
  8506  	CloudWatchMetricsStatP99 = "p99"
  8507  
  8508  	// CloudWatchMetricsStatP90 is a CloudWatchMetricsStat enum value
  8509  	CloudWatchMetricsStatP90 = "p90"
  8510  
  8511  	// CloudWatchMetricsStatP50 is a CloudWatchMetricsStat enum value
  8512  	CloudWatchMetricsStatP50 = "p50"
  8513  )
  8514  
  8515  // CloudWatchMetricsStat_Values returns all elements of the CloudWatchMetricsStat enum
  8516  func CloudWatchMetricsStat_Values() []string {
  8517  	return []string{
  8518  		CloudWatchMetricsStatSum,
  8519  		CloudWatchMetricsStatAverage,
  8520  		CloudWatchMetricsStatSampleCount,
  8521  		CloudWatchMetricsStatMinimum,
  8522  		CloudWatchMetricsStatMaximum,
  8523  		CloudWatchMetricsStatP99,
  8524  		CloudWatchMetricsStatP90,
  8525  		CloudWatchMetricsStatP50,
  8526  	}
  8527  }
  8528  
  8529  const (
  8530  	// CostEstimationServiceResourceStateActive is a CostEstimationServiceResourceState enum value
  8531  	CostEstimationServiceResourceStateActive = "ACTIVE"
  8532  
  8533  	// CostEstimationServiceResourceStateInactive is a CostEstimationServiceResourceState enum value
  8534  	CostEstimationServiceResourceStateInactive = "INACTIVE"
  8535  )
  8536  
  8537  // CostEstimationServiceResourceState_Values returns all elements of the CostEstimationServiceResourceState enum
  8538  func CostEstimationServiceResourceState_Values() []string {
  8539  	return []string{
  8540  		CostEstimationServiceResourceStateActive,
  8541  		CostEstimationServiceResourceStateInactive,
  8542  	}
  8543  }
  8544  
  8545  const (
  8546  	// CostEstimationStatusOngoing is a CostEstimationStatus enum value
  8547  	CostEstimationStatusOngoing = "ONGOING"
  8548  
  8549  	// CostEstimationStatusCompleted is a CostEstimationStatus enum value
  8550  	CostEstimationStatusCompleted = "COMPLETED"
  8551  )
  8552  
  8553  // CostEstimationStatus_Values returns all elements of the CostEstimationStatus enum
  8554  func CostEstimationStatus_Values() []string {
  8555  	return []string{
  8556  		CostEstimationStatusOngoing,
  8557  		CostEstimationStatusCompleted,
  8558  	}
  8559  }
  8560  
  8561  const (
  8562  	// EventClassInfrastructure is a EventClass enum value
  8563  	EventClassInfrastructure = "INFRASTRUCTURE"
  8564  
  8565  	// EventClassDeployment is a EventClass enum value
  8566  	EventClassDeployment = "DEPLOYMENT"
  8567  
  8568  	// EventClassSecurityChange is a EventClass enum value
  8569  	EventClassSecurityChange = "SECURITY_CHANGE"
  8570  
  8571  	// EventClassConfigChange is a EventClass enum value
  8572  	EventClassConfigChange = "CONFIG_CHANGE"
  8573  
  8574  	// EventClassSchemaChange is a EventClass enum value
  8575  	EventClassSchemaChange = "SCHEMA_CHANGE"
  8576  )
  8577  
  8578  // EventClass_Values returns all elements of the EventClass enum
  8579  func EventClass_Values() []string {
  8580  	return []string{
  8581  		EventClassInfrastructure,
  8582  		EventClassDeployment,
  8583  		EventClassSecurityChange,
  8584  		EventClassConfigChange,
  8585  		EventClassSchemaChange,
  8586  	}
  8587  }
  8588  
  8589  const (
  8590  	// EventDataSourceAwsCloudTrail is a EventDataSource enum value
  8591  	EventDataSourceAwsCloudTrail = "AWS_CLOUD_TRAIL"
  8592  
  8593  	// EventDataSourceAwsCodeDeploy is a EventDataSource enum value
  8594  	EventDataSourceAwsCodeDeploy = "AWS_CODE_DEPLOY"
  8595  )
  8596  
  8597  // EventDataSource_Values returns all elements of the EventDataSource enum
  8598  func EventDataSource_Values() []string {
  8599  	return []string{
  8600  		EventDataSourceAwsCloudTrail,
  8601  		EventDataSourceAwsCodeDeploy,
  8602  	}
  8603  }
  8604  
  8605  const (
  8606  	// InsightFeedbackOptionValidCollection is a InsightFeedbackOption enum value
  8607  	InsightFeedbackOptionValidCollection = "VALID_COLLECTION"
  8608  
  8609  	// InsightFeedbackOptionRecommendationUseful is a InsightFeedbackOption enum value
  8610  	InsightFeedbackOptionRecommendationUseful = "RECOMMENDATION_USEFUL"
  8611  
  8612  	// InsightFeedbackOptionAlertTooSensitive is a InsightFeedbackOption enum value
  8613  	InsightFeedbackOptionAlertTooSensitive = "ALERT_TOO_SENSITIVE"
  8614  
  8615  	// InsightFeedbackOptionDataNoisyAnomaly is a InsightFeedbackOption enum value
  8616  	InsightFeedbackOptionDataNoisyAnomaly = "DATA_NOISY_ANOMALY"
  8617  
  8618  	// InsightFeedbackOptionDataIncorrect is a InsightFeedbackOption enum value
  8619  	InsightFeedbackOptionDataIncorrect = "DATA_INCORRECT"
  8620  )
  8621  
  8622  // InsightFeedbackOption_Values returns all elements of the InsightFeedbackOption enum
  8623  func InsightFeedbackOption_Values() []string {
  8624  	return []string{
  8625  		InsightFeedbackOptionValidCollection,
  8626  		InsightFeedbackOptionRecommendationUseful,
  8627  		InsightFeedbackOptionAlertTooSensitive,
  8628  		InsightFeedbackOptionDataNoisyAnomaly,
  8629  		InsightFeedbackOptionDataIncorrect,
  8630  	}
  8631  }
  8632  
  8633  const (
  8634  	// InsightSeverityLow is a InsightSeverity enum value
  8635  	InsightSeverityLow = "LOW"
  8636  
  8637  	// InsightSeverityMedium is a InsightSeverity enum value
  8638  	InsightSeverityMedium = "MEDIUM"
  8639  
  8640  	// InsightSeverityHigh is a InsightSeverity enum value
  8641  	InsightSeverityHigh = "HIGH"
  8642  )
  8643  
  8644  // InsightSeverity_Values returns all elements of the InsightSeverity enum
  8645  func InsightSeverity_Values() []string {
  8646  	return []string{
  8647  		InsightSeverityLow,
  8648  		InsightSeverityMedium,
  8649  		InsightSeverityHigh,
  8650  	}
  8651  }
  8652  
  8653  const (
  8654  	// InsightStatusOngoing is a InsightStatus enum value
  8655  	InsightStatusOngoing = "ONGOING"
  8656  
  8657  	// InsightStatusClosed is a InsightStatus enum value
  8658  	InsightStatusClosed = "CLOSED"
  8659  )
  8660  
  8661  // InsightStatus_Values returns all elements of the InsightStatus enum
  8662  func InsightStatus_Values() []string {
  8663  	return []string{
  8664  		InsightStatusOngoing,
  8665  		InsightStatusClosed,
  8666  	}
  8667  }
  8668  
  8669  const (
  8670  	// InsightTypeReactive is a InsightType enum value
  8671  	InsightTypeReactive = "REACTIVE"
  8672  
  8673  	// InsightTypeProactive is a InsightType enum value
  8674  	InsightTypeProactive = "PROACTIVE"
  8675  )
  8676  
  8677  // InsightType_Values returns all elements of the InsightType enum
  8678  func InsightType_Values() []string {
  8679  	return []string{
  8680  		InsightTypeReactive,
  8681  		InsightTypeProactive,
  8682  	}
  8683  }
  8684  
  8685  const (
  8686  	// LocaleDeDe is a Locale enum value
  8687  	LocaleDeDe = "DE_DE"
  8688  
  8689  	// LocaleEnUs is a Locale enum value
  8690  	LocaleEnUs = "EN_US"
  8691  
  8692  	// LocaleEnGb is a Locale enum value
  8693  	LocaleEnGb = "EN_GB"
  8694  
  8695  	// LocaleEsEs is a Locale enum value
  8696  	LocaleEsEs = "ES_ES"
  8697  
  8698  	// LocaleFrFr is a Locale enum value
  8699  	LocaleFrFr = "FR_FR"
  8700  
  8701  	// LocaleItIt is a Locale enum value
  8702  	LocaleItIt = "IT_IT"
  8703  
  8704  	// LocaleJaJp is a Locale enum value
  8705  	LocaleJaJp = "JA_JP"
  8706  
  8707  	// LocaleKoKr is a Locale enum value
  8708  	LocaleKoKr = "KO_KR"
  8709  
  8710  	// LocalePtBr is a Locale enum value
  8711  	LocalePtBr = "PT_BR"
  8712  
  8713  	// LocaleZhCn is a Locale enum value
  8714  	LocaleZhCn = "ZH_CN"
  8715  
  8716  	// LocaleZhTw is a Locale enum value
  8717  	LocaleZhTw = "ZH_TW"
  8718  )
  8719  
  8720  // Locale_Values returns all elements of the Locale enum
  8721  func Locale_Values() []string {
  8722  	return []string{
  8723  		LocaleDeDe,
  8724  		LocaleEnUs,
  8725  		LocaleEnGb,
  8726  		LocaleEsEs,
  8727  		LocaleFrFr,
  8728  		LocaleItIt,
  8729  		LocaleJaJp,
  8730  		LocaleKoKr,
  8731  		LocalePtBr,
  8732  		LocaleZhCn,
  8733  		LocaleZhTw,
  8734  	}
  8735  }
  8736  
  8737  // Specifies if DevOps Guru is enabled to create an AWS Systems Manager OpsItem
  8738  // for each created insight.
  8739  const (
  8740  	// OptInStatusEnabled is a OptInStatus enum value
  8741  	OptInStatusEnabled = "ENABLED"
  8742  
  8743  	// OptInStatusDisabled is a OptInStatus enum value
  8744  	OptInStatusDisabled = "DISABLED"
  8745  )
  8746  
  8747  // OptInStatus_Values returns all elements of the OptInStatus enum
  8748  func OptInStatus_Values() []string {
  8749  	return []string{
  8750  		OptInStatusEnabled,
  8751  		OptInStatusDisabled,
  8752  	}
  8753  }
  8754  
  8755  const (
  8756  	// ResourceCollectionTypeAwsCloudFormation is a ResourceCollectionType enum value
  8757  	ResourceCollectionTypeAwsCloudFormation = "AWS_CLOUD_FORMATION"
  8758  
  8759  	// ResourceCollectionTypeAwsService is a ResourceCollectionType enum value
  8760  	ResourceCollectionTypeAwsService = "AWS_SERVICE"
  8761  )
  8762  
  8763  // ResourceCollectionType_Values returns all elements of the ResourceCollectionType enum
  8764  func ResourceCollectionType_Values() []string {
  8765  	return []string{
  8766  		ResourceCollectionTypeAwsCloudFormation,
  8767  		ResourceCollectionTypeAwsService,
  8768  	}
  8769  }
  8770  
  8771  const (
  8772  	// ServiceNameApiGateway is a ServiceName enum value
  8773  	ServiceNameApiGateway = "API_GATEWAY"
  8774  
  8775  	// ServiceNameApplicationElb is a ServiceName enum value
  8776  	ServiceNameApplicationElb = "APPLICATION_ELB"
  8777  
  8778  	// ServiceNameAutoScalingGroup is a ServiceName enum value
  8779  	ServiceNameAutoScalingGroup = "AUTO_SCALING_GROUP"
  8780  
  8781  	// ServiceNameCloudFront is a ServiceName enum value
  8782  	ServiceNameCloudFront = "CLOUD_FRONT"
  8783  
  8784  	// ServiceNameDynamoDb is a ServiceName enum value
  8785  	ServiceNameDynamoDb = "DYNAMO_DB"
  8786  
  8787  	// ServiceNameEc2 is a ServiceName enum value
  8788  	ServiceNameEc2 = "EC2"
  8789  
  8790  	// ServiceNameEcs is a ServiceName enum value
  8791  	ServiceNameEcs = "ECS"
  8792  
  8793  	// ServiceNameEks is a ServiceName enum value
  8794  	ServiceNameEks = "EKS"
  8795  
  8796  	// ServiceNameElasticBeanstalk is a ServiceName enum value
  8797  	ServiceNameElasticBeanstalk = "ELASTIC_BEANSTALK"
  8798  
  8799  	// ServiceNameElastiCache is a ServiceName enum value
  8800  	ServiceNameElastiCache = "ELASTI_CACHE"
  8801  
  8802  	// ServiceNameElb is a ServiceName enum value
  8803  	ServiceNameElb = "ELB"
  8804  
  8805  	// ServiceNameEs is a ServiceName enum value
  8806  	ServiceNameEs = "ES"
  8807  
  8808  	// ServiceNameKinesis is a ServiceName enum value
  8809  	ServiceNameKinesis = "KINESIS"
  8810  
  8811  	// ServiceNameLambda is a ServiceName enum value
  8812  	ServiceNameLambda = "LAMBDA"
  8813  
  8814  	// ServiceNameNatGateway is a ServiceName enum value
  8815  	ServiceNameNatGateway = "NAT_GATEWAY"
  8816  
  8817  	// ServiceNameNetworkElb is a ServiceName enum value
  8818  	ServiceNameNetworkElb = "NETWORK_ELB"
  8819  
  8820  	// ServiceNameRds is a ServiceName enum value
  8821  	ServiceNameRds = "RDS"
  8822  
  8823  	// ServiceNameRedshift is a ServiceName enum value
  8824  	ServiceNameRedshift = "REDSHIFT"
  8825  
  8826  	// ServiceNameRoute53 is a ServiceName enum value
  8827  	ServiceNameRoute53 = "ROUTE_53"
  8828  
  8829  	// ServiceNameS3 is a ServiceName enum value
  8830  	ServiceNameS3 = "S3"
  8831  
  8832  	// ServiceNameSageMaker is a ServiceName enum value
  8833  	ServiceNameSageMaker = "SAGE_MAKER"
  8834  
  8835  	// ServiceNameSns is a ServiceName enum value
  8836  	ServiceNameSns = "SNS"
  8837  
  8838  	// ServiceNameSqs is a ServiceName enum value
  8839  	ServiceNameSqs = "SQS"
  8840  
  8841  	// ServiceNameStepFunctions is a ServiceName enum value
  8842  	ServiceNameStepFunctions = "STEP_FUNCTIONS"
  8843  
  8844  	// ServiceNameSwf is a ServiceName enum value
  8845  	ServiceNameSwf = "SWF"
  8846  )
  8847  
  8848  // ServiceName_Values returns all elements of the ServiceName enum
  8849  func ServiceName_Values() []string {
  8850  	return []string{
  8851  		ServiceNameApiGateway,
  8852  		ServiceNameApplicationElb,
  8853  		ServiceNameAutoScalingGroup,
  8854  		ServiceNameCloudFront,
  8855  		ServiceNameDynamoDb,
  8856  		ServiceNameEc2,
  8857  		ServiceNameEcs,
  8858  		ServiceNameEks,
  8859  		ServiceNameElasticBeanstalk,
  8860  		ServiceNameElastiCache,
  8861  		ServiceNameElb,
  8862  		ServiceNameEs,
  8863  		ServiceNameKinesis,
  8864  		ServiceNameLambda,
  8865  		ServiceNameNatGateway,
  8866  		ServiceNameNetworkElb,
  8867  		ServiceNameRds,
  8868  		ServiceNameRedshift,
  8869  		ServiceNameRoute53,
  8870  		ServiceNameS3,
  8871  		ServiceNameSageMaker,
  8872  		ServiceNameSns,
  8873  		ServiceNameSqs,
  8874  		ServiceNameStepFunctions,
  8875  		ServiceNameSwf,
  8876  	}
  8877  }
  8878  
  8879  const (
  8880  	// UpdateResourceCollectionActionAdd is a UpdateResourceCollectionAction enum value
  8881  	UpdateResourceCollectionActionAdd = "ADD"
  8882  
  8883  	// UpdateResourceCollectionActionRemove is a UpdateResourceCollectionAction enum value
  8884  	UpdateResourceCollectionActionRemove = "REMOVE"
  8885  )
  8886  
  8887  // UpdateResourceCollectionAction_Values returns all elements of the UpdateResourceCollectionAction enum
  8888  func UpdateResourceCollectionAction_Values() []string {
  8889  	return []string{
  8890  		UpdateResourceCollectionActionAdd,
  8891  		UpdateResourceCollectionActionRemove,
  8892  	}
  8893  }
  8894  
  8895  const (
  8896  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
  8897  	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
  8898  
  8899  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
  8900  	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
  8901  
  8902  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
  8903  	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
  8904  
  8905  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
  8906  	ValidationExceptionReasonOther = "OTHER"
  8907  )
  8908  
  8909  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
  8910  func ValidationExceptionReason_Values() []string {
  8911  	return []string{
  8912  		ValidationExceptionReasonUnknownOperation,
  8913  		ValidationExceptionReasonCannotParse,
  8914  		ValidationExceptionReasonFieldValidationFailed,
  8915  		ValidationExceptionReasonOther,
  8916  	}
  8917  }