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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package prometheusservice
     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 opCreateAlertManagerDefinition = "CreateAlertManagerDefinition"
    17  
    18  // CreateAlertManagerDefinitionRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateAlertManagerDefinition 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 CreateAlertManagerDefinition for more information on using the CreateAlertManagerDefinition
    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 CreateAlertManagerDefinitionRequest method.
    34  //    req, resp := client.CreateAlertManagerDefinitionRequest(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/amp-2020-08-01/CreateAlertManagerDefinition
    42  func (c *PrometheusService) CreateAlertManagerDefinitionRequest(input *CreateAlertManagerDefinitionInput) (req *request.Request, output *CreateAlertManagerDefinitionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateAlertManagerDefinition,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/workspaces/{workspaceId}/alertmanager/definition",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateAlertManagerDefinitionInput{}
    51  	}
    52  
    53  	output = &CreateAlertManagerDefinitionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateAlertManagerDefinition API operation for Amazon Prometheus Service.
    59  //
    60  // Create an alert manager definition.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon Prometheus Service's
    67  // API operation CreateAlertManagerDefinition for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ThrottlingException
    71  //   Request was denied due to request throttling.
    72  //
    73  //   * ConflictException
    74  //   Updating or deleting a resource can cause an inconsistent state.
    75  //
    76  //   * ValidationException
    77  //   The input fails to satisfy the constraints specified by an AWS service.
    78  //
    79  //   * ResourceNotFoundException
    80  //   Request references a resource which does not exist.
    81  //
    82  //   * AccessDeniedException
    83  //   User does not have sufficient access to perform this action.
    84  //
    85  //   * InternalServerException
    86  //   Unexpected error during processing of request.
    87  //
    88  //   * ServiceQuotaExceededException
    89  //   Request would cause a service quota to be exceeded.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateAlertManagerDefinition
    92  func (c *PrometheusService) CreateAlertManagerDefinition(input *CreateAlertManagerDefinitionInput) (*CreateAlertManagerDefinitionOutput, error) {
    93  	req, out := c.CreateAlertManagerDefinitionRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // CreateAlertManagerDefinitionWithContext is the same as CreateAlertManagerDefinition with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See CreateAlertManagerDefinition for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *PrometheusService) CreateAlertManagerDefinitionWithContext(ctx aws.Context, input *CreateAlertManagerDefinitionInput, opts ...request.Option) (*CreateAlertManagerDefinitionOutput, error) {
   107  	req, out := c.CreateAlertManagerDefinitionRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opCreateRuleGroupsNamespace = "CreateRuleGroupsNamespace"
   114  
   115  // CreateRuleGroupsNamespaceRequest generates a "aws/request.Request" representing the
   116  // client's request for the CreateRuleGroupsNamespace operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See CreateRuleGroupsNamespace for more information on using the CreateRuleGroupsNamespace
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the CreateRuleGroupsNamespaceRequest method.
   131  //    req, resp := client.CreateRuleGroupsNamespaceRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateRuleGroupsNamespace
   139  func (c *PrometheusService) CreateRuleGroupsNamespaceRequest(input *CreateRuleGroupsNamespaceInput) (req *request.Request, output *CreateRuleGroupsNamespaceOutput) {
   140  	op := &request.Operation{
   141  		Name:       opCreateRuleGroupsNamespace,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/workspaces/{workspaceId}/rulegroupsnamespaces",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &CreateRuleGroupsNamespaceInput{}
   148  	}
   149  
   150  	output = &CreateRuleGroupsNamespaceOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // CreateRuleGroupsNamespace API operation for Amazon Prometheus Service.
   156  //
   157  // Create a rule group namespace.
   158  //
   159  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   160  // with awserr.Error's Code and Message methods to get detailed information about
   161  // the error.
   162  //
   163  // See the AWS API reference guide for Amazon Prometheus Service's
   164  // API operation CreateRuleGroupsNamespace for usage and error information.
   165  //
   166  // Returned Error Types:
   167  //   * ThrottlingException
   168  //   Request was denied due to request throttling.
   169  //
   170  //   * ConflictException
   171  //   Updating or deleting a resource can cause an inconsistent state.
   172  //
   173  //   * ValidationException
   174  //   The input fails to satisfy the constraints specified by an AWS service.
   175  //
   176  //   * ResourceNotFoundException
   177  //   Request references a resource which does not exist.
   178  //
   179  //   * AccessDeniedException
   180  //   User does not have sufficient access to perform this action.
   181  //
   182  //   * InternalServerException
   183  //   Unexpected error during processing of request.
   184  //
   185  //   * ServiceQuotaExceededException
   186  //   Request would cause a service quota to be exceeded.
   187  //
   188  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateRuleGroupsNamespace
   189  func (c *PrometheusService) CreateRuleGroupsNamespace(input *CreateRuleGroupsNamespaceInput) (*CreateRuleGroupsNamespaceOutput, error) {
   190  	req, out := c.CreateRuleGroupsNamespaceRequest(input)
   191  	return out, req.Send()
   192  }
   193  
   194  // CreateRuleGroupsNamespaceWithContext is the same as CreateRuleGroupsNamespace with the addition of
   195  // the ability to pass a context and additional request options.
   196  //
   197  // See CreateRuleGroupsNamespace for details on how to use this API operation.
   198  //
   199  // The context must be non-nil and will be used for request cancellation. If
   200  // the context is nil a panic will occur. In the future the SDK may create
   201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   202  // for more information on using Contexts.
   203  func (c *PrometheusService) CreateRuleGroupsNamespaceWithContext(ctx aws.Context, input *CreateRuleGroupsNamespaceInput, opts ...request.Option) (*CreateRuleGroupsNamespaceOutput, error) {
   204  	req, out := c.CreateRuleGroupsNamespaceRequest(input)
   205  	req.SetContext(ctx)
   206  	req.ApplyOptions(opts...)
   207  	return out, req.Send()
   208  }
   209  
   210  const opCreateWorkspace = "CreateWorkspace"
   211  
   212  // CreateWorkspaceRequest generates a "aws/request.Request" representing the
   213  // client's request for the CreateWorkspace operation. The "output" return
   214  // value will be populated with the request's response once the request completes
   215  // successfully.
   216  //
   217  // Use "Send" method on the returned Request to send the API call to the service.
   218  // the "output" return value is not valid until after Send returns without error.
   219  //
   220  // See CreateWorkspace for more information on using the CreateWorkspace
   221  // API call, and error handling.
   222  //
   223  // This method is useful when you want to inject custom logic or configuration
   224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   225  //
   226  //
   227  //    // Example sending a request using the CreateWorkspaceRequest method.
   228  //    req, resp := client.CreateWorkspaceRequest(params)
   229  //
   230  //    err := req.Send()
   231  //    if err == nil { // resp is now filled
   232  //        fmt.Println(resp)
   233  //    }
   234  //
   235  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateWorkspace
   236  func (c *PrometheusService) CreateWorkspaceRequest(input *CreateWorkspaceInput) (req *request.Request, output *CreateWorkspaceOutput) {
   237  	op := &request.Operation{
   238  		Name:       opCreateWorkspace,
   239  		HTTPMethod: "POST",
   240  		HTTPPath:   "/workspaces",
   241  	}
   242  
   243  	if input == nil {
   244  		input = &CreateWorkspaceInput{}
   245  	}
   246  
   247  	output = &CreateWorkspaceOutput{}
   248  	req = c.newRequest(op, input, output)
   249  	return
   250  }
   251  
   252  // CreateWorkspace API operation for Amazon Prometheus Service.
   253  //
   254  // Creates a new AMP workspace.
   255  //
   256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   257  // with awserr.Error's Code and Message methods to get detailed information about
   258  // the error.
   259  //
   260  // See the AWS API reference guide for Amazon Prometheus Service's
   261  // API operation CreateWorkspace for usage and error information.
   262  //
   263  // Returned Error Types:
   264  //   * ThrottlingException
   265  //   Request was denied due to request throttling.
   266  //
   267  //   * ConflictException
   268  //   Updating or deleting a resource can cause an inconsistent state.
   269  //
   270  //   * ValidationException
   271  //   The input fails to satisfy the constraints specified by an AWS service.
   272  //
   273  //   * AccessDeniedException
   274  //   User does not have sufficient access to perform this action.
   275  //
   276  //   * InternalServerException
   277  //   Unexpected error during processing of request.
   278  //
   279  //   * ServiceQuotaExceededException
   280  //   Request would cause a service quota to be exceeded.
   281  //
   282  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/CreateWorkspace
   283  func (c *PrometheusService) CreateWorkspace(input *CreateWorkspaceInput) (*CreateWorkspaceOutput, error) {
   284  	req, out := c.CreateWorkspaceRequest(input)
   285  	return out, req.Send()
   286  }
   287  
   288  // CreateWorkspaceWithContext is the same as CreateWorkspace with the addition of
   289  // the ability to pass a context and additional request options.
   290  //
   291  // See CreateWorkspace for details on how to use this API operation.
   292  //
   293  // The context must be non-nil and will be used for request cancellation. If
   294  // the context is nil a panic will occur. In the future the SDK may create
   295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   296  // for more information on using Contexts.
   297  func (c *PrometheusService) CreateWorkspaceWithContext(ctx aws.Context, input *CreateWorkspaceInput, opts ...request.Option) (*CreateWorkspaceOutput, error) {
   298  	req, out := c.CreateWorkspaceRequest(input)
   299  	req.SetContext(ctx)
   300  	req.ApplyOptions(opts...)
   301  	return out, req.Send()
   302  }
   303  
   304  const opDeleteAlertManagerDefinition = "DeleteAlertManagerDefinition"
   305  
   306  // DeleteAlertManagerDefinitionRequest generates a "aws/request.Request" representing the
   307  // client's request for the DeleteAlertManagerDefinition operation. The "output" return
   308  // value will be populated with the request's response once the request completes
   309  // successfully.
   310  //
   311  // Use "Send" method on the returned Request to send the API call to the service.
   312  // the "output" return value is not valid until after Send returns without error.
   313  //
   314  // See DeleteAlertManagerDefinition for more information on using the DeleteAlertManagerDefinition
   315  // API call, and error handling.
   316  //
   317  // This method is useful when you want to inject custom logic or configuration
   318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   319  //
   320  //
   321  //    // Example sending a request using the DeleteAlertManagerDefinitionRequest method.
   322  //    req, resp := client.DeleteAlertManagerDefinitionRequest(params)
   323  //
   324  //    err := req.Send()
   325  //    if err == nil { // resp is now filled
   326  //        fmt.Println(resp)
   327  //    }
   328  //
   329  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteAlertManagerDefinition
   330  func (c *PrometheusService) DeleteAlertManagerDefinitionRequest(input *DeleteAlertManagerDefinitionInput) (req *request.Request, output *DeleteAlertManagerDefinitionOutput) {
   331  	op := &request.Operation{
   332  		Name:       opDeleteAlertManagerDefinition,
   333  		HTTPMethod: "DELETE",
   334  		HTTPPath:   "/workspaces/{workspaceId}/alertmanager/definition",
   335  	}
   336  
   337  	if input == nil {
   338  		input = &DeleteAlertManagerDefinitionInput{}
   339  	}
   340  
   341  	output = &DeleteAlertManagerDefinitionOutput{}
   342  	req = c.newRequest(op, input, output)
   343  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   344  	return
   345  }
   346  
   347  // DeleteAlertManagerDefinition API operation for Amazon Prometheus Service.
   348  //
   349  // Deletes an alert manager definition.
   350  //
   351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   352  // with awserr.Error's Code and Message methods to get detailed information about
   353  // the error.
   354  //
   355  // See the AWS API reference guide for Amazon Prometheus Service's
   356  // API operation DeleteAlertManagerDefinition for usage and error information.
   357  //
   358  // Returned Error Types:
   359  //   * ThrottlingException
   360  //   Request was denied due to request throttling.
   361  //
   362  //   * ConflictException
   363  //   Updating or deleting a resource can cause an inconsistent state.
   364  //
   365  //   * ValidationException
   366  //   The input fails to satisfy the constraints specified by an AWS service.
   367  //
   368  //   * ResourceNotFoundException
   369  //   Request references a resource which does not exist.
   370  //
   371  //   * AccessDeniedException
   372  //   User does not have sufficient access to perform this action.
   373  //
   374  //   * InternalServerException
   375  //   Unexpected error during processing of request.
   376  //
   377  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteAlertManagerDefinition
   378  func (c *PrometheusService) DeleteAlertManagerDefinition(input *DeleteAlertManagerDefinitionInput) (*DeleteAlertManagerDefinitionOutput, error) {
   379  	req, out := c.DeleteAlertManagerDefinitionRequest(input)
   380  	return out, req.Send()
   381  }
   382  
   383  // DeleteAlertManagerDefinitionWithContext is the same as DeleteAlertManagerDefinition with the addition of
   384  // the ability to pass a context and additional request options.
   385  //
   386  // See DeleteAlertManagerDefinition for details on how to use this API operation.
   387  //
   388  // The context must be non-nil and will be used for request cancellation. If
   389  // the context is nil a panic will occur. In the future the SDK may create
   390  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   391  // for more information on using Contexts.
   392  func (c *PrometheusService) DeleteAlertManagerDefinitionWithContext(ctx aws.Context, input *DeleteAlertManagerDefinitionInput, opts ...request.Option) (*DeleteAlertManagerDefinitionOutput, error) {
   393  	req, out := c.DeleteAlertManagerDefinitionRequest(input)
   394  	req.SetContext(ctx)
   395  	req.ApplyOptions(opts...)
   396  	return out, req.Send()
   397  }
   398  
   399  const opDeleteRuleGroupsNamespace = "DeleteRuleGroupsNamespace"
   400  
   401  // DeleteRuleGroupsNamespaceRequest generates a "aws/request.Request" representing the
   402  // client's request for the DeleteRuleGroupsNamespace operation. The "output" return
   403  // value will be populated with the request's response once the request completes
   404  // successfully.
   405  //
   406  // Use "Send" method on the returned Request to send the API call to the service.
   407  // the "output" return value is not valid until after Send returns without error.
   408  //
   409  // See DeleteRuleGroupsNamespace for more information on using the DeleteRuleGroupsNamespace
   410  // API call, and error handling.
   411  //
   412  // This method is useful when you want to inject custom logic or configuration
   413  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   414  //
   415  //
   416  //    // Example sending a request using the DeleteRuleGroupsNamespaceRequest method.
   417  //    req, resp := client.DeleteRuleGroupsNamespaceRequest(params)
   418  //
   419  //    err := req.Send()
   420  //    if err == nil { // resp is now filled
   421  //        fmt.Println(resp)
   422  //    }
   423  //
   424  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteRuleGroupsNamespace
   425  func (c *PrometheusService) DeleteRuleGroupsNamespaceRequest(input *DeleteRuleGroupsNamespaceInput) (req *request.Request, output *DeleteRuleGroupsNamespaceOutput) {
   426  	op := &request.Operation{
   427  		Name:       opDeleteRuleGroupsNamespace,
   428  		HTTPMethod: "DELETE",
   429  		HTTPPath:   "/workspaces/{workspaceId}/rulegroupsnamespaces/{name}",
   430  	}
   431  
   432  	if input == nil {
   433  		input = &DeleteRuleGroupsNamespaceInput{}
   434  	}
   435  
   436  	output = &DeleteRuleGroupsNamespaceOutput{}
   437  	req = c.newRequest(op, input, output)
   438  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   439  	return
   440  }
   441  
   442  // DeleteRuleGroupsNamespace API operation for Amazon Prometheus Service.
   443  //
   444  // Delete a rule groups namespace.
   445  //
   446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   447  // with awserr.Error's Code and Message methods to get detailed information about
   448  // the error.
   449  //
   450  // See the AWS API reference guide for Amazon Prometheus Service's
   451  // API operation DeleteRuleGroupsNamespace for usage and error information.
   452  //
   453  // Returned Error Types:
   454  //   * ThrottlingException
   455  //   Request was denied due to request throttling.
   456  //
   457  //   * ConflictException
   458  //   Updating or deleting a resource can cause an inconsistent state.
   459  //
   460  //   * ValidationException
   461  //   The input fails to satisfy the constraints specified by an AWS service.
   462  //
   463  //   * ResourceNotFoundException
   464  //   Request references a resource which does not exist.
   465  //
   466  //   * AccessDeniedException
   467  //   User does not have sufficient access to perform this action.
   468  //
   469  //   * InternalServerException
   470  //   Unexpected error during processing of request.
   471  //
   472  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteRuleGroupsNamespace
   473  func (c *PrometheusService) DeleteRuleGroupsNamespace(input *DeleteRuleGroupsNamespaceInput) (*DeleteRuleGroupsNamespaceOutput, error) {
   474  	req, out := c.DeleteRuleGroupsNamespaceRequest(input)
   475  	return out, req.Send()
   476  }
   477  
   478  // DeleteRuleGroupsNamespaceWithContext is the same as DeleteRuleGroupsNamespace with the addition of
   479  // the ability to pass a context and additional request options.
   480  //
   481  // See DeleteRuleGroupsNamespace for details on how to use this API operation.
   482  //
   483  // The context must be non-nil and will be used for request cancellation. If
   484  // the context is nil a panic will occur. In the future the SDK may create
   485  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   486  // for more information on using Contexts.
   487  func (c *PrometheusService) DeleteRuleGroupsNamespaceWithContext(ctx aws.Context, input *DeleteRuleGroupsNamespaceInput, opts ...request.Option) (*DeleteRuleGroupsNamespaceOutput, error) {
   488  	req, out := c.DeleteRuleGroupsNamespaceRequest(input)
   489  	req.SetContext(ctx)
   490  	req.ApplyOptions(opts...)
   491  	return out, req.Send()
   492  }
   493  
   494  const opDeleteWorkspace = "DeleteWorkspace"
   495  
   496  // DeleteWorkspaceRequest generates a "aws/request.Request" representing the
   497  // client's request for the DeleteWorkspace operation. The "output" return
   498  // value will be populated with the request's response once the request completes
   499  // successfully.
   500  //
   501  // Use "Send" method on the returned Request to send the API call to the service.
   502  // the "output" return value is not valid until after Send returns without error.
   503  //
   504  // See DeleteWorkspace for more information on using the DeleteWorkspace
   505  // API call, and error handling.
   506  //
   507  // This method is useful when you want to inject custom logic or configuration
   508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   509  //
   510  //
   511  //    // Example sending a request using the DeleteWorkspaceRequest method.
   512  //    req, resp := client.DeleteWorkspaceRequest(params)
   513  //
   514  //    err := req.Send()
   515  //    if err == nil { // resp is now filled
   516  //        fmt.Println(resp)
   517  //    }
   518  //
   519  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteWorkspace
   520  func (c *PrometheusService) DeleteWorkspaceRequest(input *DeleteWorkspaceInput) (req *request.Request, output *DeleteWorkspaceOutput) {
   521  	op := &request.Operation{
   522  		Name:       opDeleteWorkspace,
   523  		HTTPMethod: "DELETE",
   524  		HTTPPath:   "/workspaces/{workspaceId}",
   525  	}
   526  
   527  	if input == nil {
   528  		input = &DeleteWorkspaceInput{}
   529  	}
   530  
   531  	output = &DeleteWorkspaceOutput{}
   532  	req = c.newRequest(op, input, output)
   533  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   534  	return
   535  }
   536  
   537  // DeleteWorkspace API operation for Amazon Prometheus Service.
   538  //
   539  // Deletes an AMP workspace.
   540  //
   541  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   542  // with awserr.Error's Code and Message methods to get detailed information about
   543  // the error.
   544  //
   545  // See the AWS API reference guide for Amazon Prometheus Service's
   546  // API operation DeleteWorkspace for usage and error information.
   547  //
   548  // Returned Error Types:
   549  //   * ThrottlingException
   550  //   Request was denied due to request throttling.
   551  //
   552  //   * ConflictException
   553  //   Updating or deleting a resource can cause an inconsistent state.
   554  //
   555  //   * ValidationException
   556  //   The input fails to satisfy the constraints specified by an AWS service.
   557  //
   558  //   * ResourceNotFoundException
   559  //   Request references a resource which does not exist.
   560  //
   561  //   * AccessDeniedException
   562  //   User does not have sufficient access to perform this action.
   563  //
   564  //   * InternalServerException
   565  //   Unexpected error during processing of request.
   566  //
   567  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DeleteWorkspace
   568  func (c *PrometheusService) DeleteWorkspace(input *DeleteWorkspaceInput) (*DeleteWorkspaceOutput, error) {
   569  	req, out := c.DeleteWorkspaceRequest(input)
   570  	return out, req.Send()
   571  }
   572  
   573  // DeleteWorkspaceWithContext is the same as DeleteWorkspace with the addition of
   574  // the ability to pass a context and additional request options.
   575  //
   576  // See DeleteWorkspace for details on how to use this API operation.
   577  //
   578  // The context must be non-nil and will be used for request cancellation. If
   579  // the context is nil a panic will occur. In the future the SDK may create
   580  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   581  // for more information on using Contexts.
   582  func (c *PrometheusService) DeleteWorkspaceWithContext(ctx aws.Context, input *DeleteWorkspaceInput, opts ...request.Option) (*DeleteWorkspaceOutput, error) {
   583  	req, out := c.DeleteWorkspaceRequest(input)
   584  	req.SetContext(ctx)
   585  	req.ApplyOptions(opts...)
   586  	return out, req.Send()
   587  }
   588  
   589  const opDescribeAlertManagerDefinition = "DescribeAlertManagerDefinition"
   590  
   591  // DescribeAlertManagerDefinitionRequest generates a "aws/request.Request" representing the
   592  // client's request for the DescribeAlertManagerDefinition operation. The "output" return
   593  // value will be populated with the request's response once the request completes
   594  // successfully.
   595  //
   596  // Use "Send" method on the returned Request to send the API call to the service.
   597  // the "output" return value is not valid until after Send returns without error.
   598  //
   599  // See DescribeAlertManagerDefinition for more information on using the DescribeAlertManagerDefinition
   600  // API call, and error handling.
   601  //
   602  // This method is useful when you want to inject custom logic or configuration
   603  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   604  //
   605  //
   606  //    // Example sending a request using the DescribeAlertManagerDefinitionRequest method.
   607  //    req, resp := client.DescribeAlertManagerDefinitionRequest(params)
   608  //
   609  //    err := req.Send()
   610  //    if err == nil { // resp is now filled
   611  //        fmt.Println(resp)
   612  //    }
   613  //
   614  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeAlertManagerDefinition
   615  func (c *PrometheusService) DescribeAlertManagerDefinitionRequest(input *DescribeAlertManagerDefinitionInput) (req *request.Request, output *DescribeAlertManagerDefinitionOutput) {
   616  	op := &request.Operation{
   617  		Name:       opDescribeAlertManagerDefinition,
   618  		HTTPMethod: "GET",
   619  		HTTPPath:   "/workspaces/{workspaceId}/alertmanager/definition",
   620  	}
   621  
   622  	if input == nil {
   623  		input = &DescribeAlertManagerDefinitionInput{}
   624  	}
   625  
   626  	output = &DescribeAlertManagerDefinitionOutput{}
   627  	req = c.newRequest(op, input, output)
   628  	return
   629  }
   630  
   631  // DescribeAlertManagerDefinition API operation for Amazon Prometheus Service.
   632  //
   633  // Describes an alert manager definition.
   634  //
   635  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   636  // with awserr.Error's Code and Message methods to get detailed information about
   637  // the error.
   638  //
   639  // See the AWS API reference guide for Amazon Prometheus Service's
   640  // API operation DescribeAlertManagerDefinition for usage and error information.
   641  //
   642  // Returned Error Types:
   643  //   * ThrottlingException
   644  //   Request was denied due to request throttling.
   645  //
   646  //   * ValidationException
   647  //   The input fails to satisfy the constraints specified by an AWS service.
   648  //
   649  //   * ResourceNotFoundException
   650  //   Request references a resource which does not exist.
   651  //
   652  //   * AccessDeniedException
   653  //   User does not have sufficient access to perform this action.
   654  //
   655  //   * InternalServerException
   656  //   Unexpected error during processing of request.
   657  //
   658  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeAlertManagerDefinition
   659  func (c *PrometheusService) DescribeAlertManagerDefinition(input *DescribeAlertManagerDefinitionInput) (*DescribeAlertManagerDefinitionOutput, error) {
   660  	req, out := c.DescribeAlertManagerDefinitionRequest(input)
   661  	return out, req.Send()
   662  }
   663  
   664  // DescribeAlertManagerDefinitionWithContext is the same as DescribeAlertManagerDefinition with the addition of
   665  // the ability to pass a context and additional request options.
   666  //
   667  // See DescribeAlertManagerDefinition for details on how to use this API operation.
   668  //
   669  // The context must be non-nil and will be used for request cancellation. If
   670  // the context is nil a panic will occur. In the future the SDK may create
   671  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   672  // for more information on using Contexts.
   673  func (c *PrometheusService) DescribeAlertManagerDefinitionWithContext(ctx aws.Context, input *DescribeAlertManagerDefinitionInput, opts ...request.Option) (*DescribeAlertManagerDefinitionOutput, error) {
   674  	req, out := c.DescribeAlertManagerDefinitionRequest(input)
   675  	req.SetContext(ctx)
   676  	req.ApplyOptions(opts...)
   677  	return out, req.Send()
   678  }
   679  
   680  const opDescribeRuleGroupsNamespace = "DescribeRuleGroupsNamespace"
   681  
   682  // DescribeRuleGroupsNamespaceRequest generates a "aws/request.Request" representing the
   683  // client's request for the DescribeRuleGroupsNamespace operation. The "output" return
   684  // value will be populated with the request's response once the request completes
   685  // successfully.
   686  //
   687  // Use "Send" method on the returned Request to send the API call to the service.
   688  // the "output" return value is not valid until after Send returns without error.
   689  //
   690  // See DescribeRuleGroupsNamespace for more information on using the DescribeRuleGroupsNamespace
   691  // API call, and error handling.
   692  //
   693  // This method is useful when you want to inject custom logic or configuration
   694  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   695  //
   696  //
   697  //    // Example sending a request using the DescribeRuleGroupsNamespaceRequest method.
   698  //    req, resp := client.DescribeRuleGroupsNamespaceRequest(params)
   699  //
   700  //    err := req.Send()
   701  //    if err == nil { // resp is now filled
   702  //        fmt.Println(resp)
   703  //    }
   704  //
   705  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeRuleGroupsNamespace
   706  func (c *PrometheusService) DescribeRuleGroupsNamespaceRequest(input *DescribeRuleGroupsNamespaceInput) (req *request.Request, output *DescribeRuleGroupsNamespaceOutput) {
   707  	op := &request.Operation{
   708  		Name:       opDescribeRuleGroupsNamespace,
   709  		HTTPMethod: "GET",
   710  		HTTPPath:   "/workspaces/{workspaceId}/rulegroupsnamespaces/{name}",
   711  	}
   712  
   713  	if input == nil {
   714  		input = &DescribeRuleGroupsNamespaceInput{}
   715  	}
   716  
   717  	output = &DescribeRuleGroupsNamespaceOutput{}
   718  	req = c.newRequest(op, input, output)
   719  	return
   720  }
   721  
   722  // DescribeRuleGroupsNamespace API operation for Amazon Prometheus Service.
   723  //
   724  // Describe a rule groups namespace.
   725  //
   726  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   727  // with awserr.Error's Code and Message methods to get detailed information about
   728  // the error.
   729  //
   730  // See the AWS API reference guide for Amazon Prometheus Service's
   731  // API operation DescribeRuleGroupsNamespace for usage and error information.
   732  //
   733  // Returned Error Types:
   734  //   * ThrottlingException
   735  //   Request was denied due to request throttling.
   736  //
   737  //   * ValidationException
   738  //   The input fails to satisfy the constraints specified by an AWS service.
   739  //
   740  //   * ResourceNotFoundException
   741  //   Request references a resource which does not exist.
   742  //
   743  //   * AccessDeniedException
   744  //   User does not have sufficient access to perform this action.
   745  //
   746  //   * InternalServerException
   747  //   Unexpected error during processing of request.
   748  //
   749  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeRuleGroupsNamespace
   750  func (c *PrometheusService) DescribeRuleGroupsNamespace(input *DescribeRuleGroupsNamespaceInput) (*DescribeRuleGroupsNamespaceOutput, error) {
   751  	req, out := c.DescribeRuleGroupsNamespaceRequest(input)
   752  	return out, req.Send()
   753  }
   754  
   755  // DescribeRuleGroupsNamespaceWithContext is the same as DescribeRuleGroupsNamespace with the addition of
   756  // the ability to pass a context and additional request options.
   757  //
   758  // See DescribeRuleGroupsNamespace for details on how to use this API operation.
   759  //
   760  // The context must be non-nil and will be used for request cancellation. If
   761  // the context is nil a panic will occur. In the future the SDK may create
   762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   763  // for more information on using Contexts.
   764  func (c *PrometheusService) DescribeRuleGroupsNamespaceWithContext(ctx aws.Context, input *DescribeRuleGroupsNamespaceInput, opts ...request.Option) (*DescribeRuleGroupsNamespaceOutput, error) {
   765  	req, out := c.DescribeRuleGroupsNamespaceRequest(input)
   766  	req.SetContext(ctx)
   767  	req.ApplyOptions(opts...)
   768  	return out, req.Send()
   769  }
   770  
   771  const opDescribeWorkspace = "DescribeWorkspace"
   772  
   773  // DescribeWorkspaceRequest generates a "aws/request.Request" representing the
   774  // client's request for the DescribeWorkspace operation. The "output" return
   775  // value will be populated with the request's response once the request completes
   776  // successfully.
   777  //
   778  // Use "Send" method on the returned Request to send the API call to the service.
   779  // the "output" return value is not valid until after Send returns without error.
   780  //
   781  // See DescribeWorkspace for more information on using the DescribeWorkspace
   782  // API call, and error handling.
   783  //
   784  // This method is useful when you want to inject custom logic or configuration
   785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   786  //
   787  //
   788  //    // Example sending a request using the DescribeWorkspaceRequest method.
   789  //    req, resp := client.DescribeWorkspaceRequest(params)
   790  //
   791  //    err := req.Send()
   792  //    if err == nil { // resp is now filled
   793  //        fmt.Println(resp)
   794  //    }
   795  //
   796  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeWorkspace
   797  func (c *PrometheusService) DescribeWorkspaceRequest(input *DescribeWorkspaceInput) (req *request.Request, output *DescribeWorkspaceOutput) {
   798  	op := &request.Operation{
   799  		Name:       opDescribeWorkspace,
   800  		HTTPMethod: "GET",
   801  		HTTPPath:   "/workspaces/{workspaceId}",
   802  	}
   803  
   804  	if input == nil {
   805  		input = &DescribeWorkspaceInput{}
   806  	}
   807  
   808  	output = &DescribeWorkspaceOutput{}
   809  	req = c.newRequest(op, input, output)
   810  	return
   811  }
   812  
   813  // DescribeWorkspace API operation for Amazon Prometheus Service.
   814  //
   815  // Describes an existing AMP workspace.
   816  //
   817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   818  // with awserr.Error's Code and Message methods to get detailed information about
   819  // the error.
   820  //
   821  // See the AWS API reference guide for Amazon Prometheus Service's
   822  // API operation DescribeWorkspace for usage and error information.
   823  //
   824  // Returned Error Types:
   825  //   * ThrottlingException
   826  //   Request was denied due to request throttling.
   827  //
   828  //   * ValidationException
   829  //   The input fails to satisfy the constraints specified by an AWS service.
   830  //
   831  //   * ResourceNotFoundException
   832  //   Request references a resource which does not exist.
   833  //
   834  //   * AccessDeniedException
   835  //   User does not have sufficient access to perform this action.
   836  //
   837  //   * InternalServerException
   838  //   Unexpected error during processing of request.
   839  //
   840  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/DescribeWorkspace
   841  func (c *PrometheusService) DescribeWorkspace(input *DescribeWorkspaceInput) (*DescribeWorkspaceOutput, error) {
   842  	req, out := c.DescribeWorkspaceRequest(input)
   843  	return out, req.Send()
   844  }
   845  
   846  // DescribeWorkspaceWithContext is the same as DescribeWorkspace with the addition of
   847  // the ability to pass a context and additional request options.
   848  //
   849  // See DescribeWorkspace for details on how to use this API operation.
   850  //
   851  // The context must be non-nil and will be used for request cancellation. If
   852  // the context is nil a panic will occur. In the future the SDK may create
   853  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   854  // for more information on using Contexts.
   855  func (c *PrometheusService) DescribeWorkspaceWithContext(ctx aws.Context, input *DescribeWorkspaceInput, opts ...request.Option) (*DescribeWorkspaceOutput, error) {
   856  	req, out := c.DescribeWorkspaceRequest(input)
   857  	req.SetContext(ctx)
   858  	req.ApplyOptions(opts...)
   859  	return out, req.Send()
   860  }
   861  
   862  const opListRuleGroupsNamespaces = "ListRuleGroupsNamespaces"
   863  
   864  // ListRuleGroupsNamespacesRequest generates a "aws/request.Request" representing the
   865  // client's request for the ListRuleGroupsNamespaces operation. The "output" return
   866  // value will be populated with the request's response once the request completes
   867  // successfully.
   868  //
   869  // Use "Send" method on the returned Request to send the API call to the service.
   870  // the "output" return value is not valid until after Send returns without error.
   871  //
   872  // See ListRuleGroupsNamespaces for more information on using the ListRuleGroupsNamespaces
   873  // API call, and error handling.
   874  //
   875  // This method is useful when you want to inject custom logic or configuration
   876  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   877  //
   878  //
   879  //    // Example sending a request using the ListRuleGroupsNamespacesRequest method.
   880  //    req, resp := client.ListRuleGroupsNamespacesRequest(params)
   881  //
   882  //    err := req.Send()
   883  //    if err == nil { // resp is now filled
   884  //        fmt.Println(resp)
   885  //    }
   886  //
   887  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListRuleGroupsNamespaces
   888  func (c *PrometheusService) ListRuleGroupsNamespacesRequest(input *ListRuleGroupsNamespacesInput) (req *request.Request, output *ListRuleGroupsNamespacesOutput) {
   889  	op := &request.Operation{
   890  		Name:       opListRuleGroupsNamespaces,
   891  		HTTPMethod: "GET",
   892  		HTTPPath:   "/workspaces/{workspaceId}/rulegroupsnamespaces",
   893  		Paginator: &request.Paginator{
   894  			InputTokens:     []string{"nextToken"},
   895  			OutputTokens:    []string{"nextToken"},
   896  			LimitToken:      "maxResults",
   897  			TruncationToken: "",
   898  		},
   899  	}
   900  
   901  	if input == nil {
   902  		input = &ListRuleGroupsNamespacesInput{}
   903  	}
   904  
   905  	output = &ListRuleGroupsNamespacesOutput{}
   906  	req = c.newRequest(op, input, output)
   907  	return
   908  }
   909  
   910  // ListRuleGroupsNamespaces API operation for Amazon Prometheus Service.
   911  //
   912  // Lists rule groups namespaces.
   913  //
   914  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   915  // with awserr.Error's Code and Message methods to get detailed information about
   916  // the error.
   917  //
   918  // See the AWS API reference guide for Amazon Prometheus Service's
   919  // API operation ListRuleGroupsNamespaces for usage and error information.
   920  //
   921  // Returned Error Types:
   922  //   * ThrottlingException
   923  //   Request was denied due to request throttling.
   924  //
   925  //   * ValidationException
   926  //   The input fails to satisfy the constraints specified by an AWS service.
   927  //
   928  //   * ResourceNotFoundException
   929  //   Request references a resource which does not exist.
   930  //
   931  //   * AccessDeniedException
   932  //   User does not have sufficient access to perform this action.
   933  //
   934  //   * InternalServerException
   935  //   Unexpected error during processing of request.
   936  //
   937  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListRuleGroupsNamespaces
   938  func (c *PrometheusService) ListRuleGroupsNamespaces(input *ListRuleGroupsNamespacesInput) (*ListRuleGroupsNamespacesOutput, error) {
   939  	req, out := c.ListRuleGroupsNamespacesRequest(input)
   940  	return out, req.Send()
   941  }
   942  
   943  // ListRuleGroupsNamespacesWithContext is the same as ListRuleGroupsNamespaces with the addition of
   944  // the ability to pass a context and additional request options.
   945  //
   946  // See ListRuleGroupsNamespaces for details on how to use this API operation.
   947  //
   948  // The context must be non-nil and will be used for request cancellation. If
   949  // the context is nil a panic will occur. In the future the SDK may create
   950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   951  // for more information on using Contexts.
   952  func (c *PrometheusService) ListRuleGroupsNamespacesWithContext(ctx aws.Context, input *ListRuleGroupsNamespacesInput, opts ...request.Option) (*ListRuleGroupsNamespacesOutput, error) {
   953  	req, out := c.ListRuleGroupsNamespacesRequest(input)
   954  	req.SetContext(ctx)
   955  	req.ApplyOptions(opts...)
   956  	return out, req.Send()
   957  }
   958  
   959  // ListRuleGroupsNamespacesPages iterates over the pages of a ListRuleGroupsNamespaces operation,
   960  // calling the "fn" function with the response data for each page. To stop
   961  // iterating, return false from the fn function.
   962  //
   963  // See ListRuleGroupsNamespaces method for more information on how to use this operation.
   964  //
   965  // Note: This operation can generate multiple requests to a service.
   966  //
   967  //    // Example iterating over at most 3 pages of a ListRuleGroupsNamespaces operation.
   968  //    pageNum := 0
   969  //    err := client.ListRuleGroupsNamespacesPages(params,
   970  //        func(page *prometheusservice.ListRuleGroupsNamespacesOutput, lastPage bool) bool {
   971  //            pageNum++
   972  //            fmt.Println(page)
   973  //            return pageNum <= 3
   974  //        })
   975  //
   976  func (c *PrometheusService) ListRuleGroupsNamespacesPages(input *ListRuleGroupsNamespacesInput, fn func(*ListRuleGroupsNamespacesOutput, bool) bool) error {
   977  	return c.ListRuleGroupsNamespacesPagesWithContext(aws.BackgroundContext(), input, fn)
   978  }
   979  
   980  // ListRuleGroupsNamespacesPagesWithContext same as ListRuleGroupsNamespacesPages except
   981  // it takes a Context and allows setting request options on the pages.
   982  //
   983  // The context must be non-nil and will be used for request cancellation. If
   984  // the context is nil a panic will occur. In the future the SDK may create
   985  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   986  // for more information on using Contexts.
   987  func (c *PrometheusService) ListRuleGroupsNamespacesPagesWithContext(ctx aws.Context, input *ListRuleGroupsNamespacesInput, fn func(*ListRuleGroupsNamespacesOutput, bool) bool, opts ...request.Option) error {
   988  	p := request.Pagination{
   989  		NewRequest: func() (*request.Request, error) {
   990  			var inCpy *ListRuleGroupsNamespacesInput
   991  			if input != nil {
   992  				tmp := *input
   993  				inCpy = &tmp
   994  			}
   995  			req, _ := c.ListRuleGroupsNamespacesRequest(inCpy)
   996  			req.SetContext(ctx)
   997  			req.ApplyOptions(opts...)
   998  			return req, nil
   999  		},
  1000  	}
  1001  
  1002  	for p.Next() {
  1003  		if !fn(p.Page().(*ListRuleGroupsNamespacesOutput), !p.HasNextPage()) {
  1004  			break
  1005  		}
  1006  	}
  1007  
  1008  	return p.Err()
  1009  }
  1010  
  1011  const opListTagsForResource = "ListTagsForResource"
  1012  
  1013  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1014  // client's request for the ListTagsForResource operation. The "output" return
  1015  // value will be populated with the request's response once the request completes
  1016  // successfully.
  1017  //
  1018  // Use "Send" method on the returned Request to send the API call to the service.
  1019  // the "output" return value is not valid until after Send returns without error.
  1020  //
  1021  // See ListTagsForResource for more information on using the ListTagsForResource
  1022  // API call, and error handling.
  1023  //
  1024  // This method is useful when you want to inject custom logic or configuration
  1025  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1026  //
  1027  //
  1028  //    // Example sending a request using the ListTagsForResourceRequest method.
  1029  //    req, resp := client.ListTagsForResourceRequest(params)
  1030  //
  1031  //    err := req.Send()
  1032  //    if err == nil { // resp is now filled
  1033  //        fmt.Println(resp)
  1034  //    }
  1035  //
  1036  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListTagsForResource
  1037  func (c *PrometheusService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1038  	op := &request.Operation{
  1039  		Name:       opListTagsForResource,
  1040  		HTTPMethod: "GET",
  1041  		HTTPPath:   "/tags/{resourceArn}",
  1042  	}
  1043  
  1044  	if input == nil {
  1045  		input = &ListTagsForResourceInput{}
  1046  	}
  1047  
  1048  	output = &ListTagsForResourceOutput{}
  1049  	req = c.newRequest(op, input, output)
  1050  	return
  1051  }
  1052  
  1053  // ListTagsForResource API operation for Amazon Prometheus Service.
  1054  //
  1055  // Lists the tags you have assigned to the resource.
  1056  //
  1057  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1058  // with awserr.Error's Code and Message methods to get detailed information about
  1059  // the error.
  1060  //
  1061  // See the AWS API reference guide for Amazon Prometheus Service's
  1062  // API operation ListTagsForResource for usage and error information.
  1063  //
  1064  // Returned Error Types:
  1065  //   * ThrottlingException
  1066  //   Request was denied due to request throttling.
  1067  //
  1068  //   * ValidationException
  1069  //   The input fails to satisfy the constraints specified by an AWS service.
  1070  //
  1071  //   * ResourceNotFoundException
  1072  //   Request references a resource which does not exist.
  1073  //
  1074  //   * AccessDeniedException
  1075  //   User does not have sufficient access to perform this action.
  1076  //
  1077  //   * InternalServerException
  1078  //   Unexpected error during processing of request.
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListTagsForResource
  1081  func (c *PrometheusService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1082  	req, out := c.ListTagsForResourceRequest(input)
  1083  	return out, req.Send()
  1084  }
  1085  
  1086  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1087  // the ability to pass a context and additional request options.
  1088  //
  1089  // See ListTagsForResource for details on how to use this API operation.
  1090  //
  1091  // The context must be non-nil and will be used for request cancellation. If
  1092  // the context is nil a panic will occur. In the future the SDK may create
  1093  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1094  // for more information on using Contexts.
  1095  func (c *PrometheusService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1096  	req, out := c.ListTagsForResourceRequest(input)
  1097  	req.SetContext(ctx)
  1098  	req.ApplyOptions(opts...)
  1099  	return out, req.Send()
  1100  }
  1101  
  1102  const opListWorkspaces = "ListWorkspaces"
  1103  
  1104  // ListWorkspacesRequest generates a "aws/request.Request" representing the
  1105  // client's request for the ListWorkspaces operation. The "output" return
  1106  // value will be populated with the request's response once the request completes
  1107  // successfully.
  1108  //
  1109  // Use "Send" method on the returned Request to send the API call to the service.
  1110  // the "output" return value is not valid until after Send returns without error.
  1111  //
  1112  // See ListWorkspaces for more information on using the ListWorkspaces
  1113  // API call, and error handling.
  1114  //
  1115  // This method is useful when you want to inject custom logic or configuration
  1116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1117  //
  1118  //
  1119  //    // Example sending a request using the ListWorkspacesRequest method.
  1120  //    req, resp := client.ListWorkspacesRequest(params)
  1121  //
  1122  //    err := req.Send()
  1123  //    if err == nil { // resp is now filled
  1124  //        fmt.Println(resp)
  1125  //    }
  1126  //
  1127  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListWorkspaces
  1128  func (c *PrometheusService) ListWorkspacesRequest(input *ListWorkspacesInput) (req *request.Request, output *ListWorkspacesOutput) {
  1129  	op := &request.Operation{
  1130  		Name:       opListWorkspaces,
  1131  		HTTPMethod: "GET",
  1132  		HTTPPath:   "/workspaces",
  1133  		Paginator: &request.Paginator{
  1134  			InputTokens:     []string{"nextToken"},
  1135  			OutputTokens:    []string{"nextToken"},
  1136  			LimitToken:      "maxResults",
  1137  			TruncationToken: "",
  1138  		},
  1139  	}
  1140  
  1141  	if input == nil {
  1142  		input = &ListWorkspacesInput{}
  1143  	}
  1144  
  1145  	output = &ListWorkspacesOutput{}
  1146  	req = c.newRequest(op, input, output)
  1147  	return
  1148  }
  1149  
  1150  // ListWorkspaces API operation for Amazon Prometheus Service.
  1151  //
  1152  // Lists all AMP workspaces, including workspaces being created or deleted.
  1153  //
  1154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1155  // with awserr.Error's Code and Message methods to get detailed information about
  1156  // the error.
  1157  //
  1158  // See the AWS API reference guide for Amazon Prometheus Service's
  1159  // API operation ListWorkspaces for usage and error information.
  1160  //
  1161  // Returned Error Types:
  1162  //   * ThrottlingException
  1163  //   Request was denied due to request throttling.
  1164  //
  1165  //   * ValidationException
  1166  //   The input fails to satisfy the constraints specified by an AWS service.
  1167  //
  1168  //   * AccessDeniedException
  1169  //   User does not have sufficient access to perform this action.
  1170  //
  1171  //   * InternalServerException
  1172  //   Unexpected error during processing of request.
  1173  //
  1174  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListWorkspaces
  1175  func (c *PrometheusService) ListWorkspaces(input *ListWorkspacesInput) (*ListWorkspacesOutput, error) {
  1176  	req, out := c.ListWorkspacesRequest(input)
  1177  	return out, req.Send()
  1178  }
  1179  
  1180  // ListWorkspacesWithContext is the same as ListWorkspaces with the addition of
  1181  // the ability to pass a context and additional request options.
  1182  //
  1183  // See ListWorkspaces for details on how to use this API operation.
  1184  //
  1185  // The context must be non-nil and will be used for request cancellation. If
  1186  // the context is nil a panic will occur. In the future the SDK may create
  1187  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1188  // for more information on using Contexts.
  1189  func (c *PrometheusService) ListWorkspacesWithContext(ctx aws.Context, input *ListWorkspacesInput, opts ...request.Option) (*ListWorkspacesOutput, error) {
  1190  	req, out := c.ListWorkspacesRequest(input)
  1191  	req.SetContext(ctx)
  1192  	req.ApplyOptions(opts...)
  1193  	return out, req.Send()
  1194  }
  1195  
  1196  // ListWorkspacesPages iterates over the pages of a ListWorkspaces operation,
  1197  // calling the "fn" function with the response data for each page. To stop
  1198  // iterating, return false from the fn function.
  1199  //
  1200  // See ListWorkspaces method for more information on how to use this operation.
  1201  //
  1202  // Note: This operation can generate multiple requests to a service.
  1203  //
  1204  //    // Example iterating over at most 3 pages of a ListWorkspaces operation.
  1205  //    pageNum := 0
  1206  //    err := client.ListWorkspacesPages(params,
  1207  //        func(page *prometheusservice.ListWorkspacesOutput, lastPage bool) bool {
  1208  //            pageNum++
  1209  //            fmt.Println(page)
  1210  //            return pageNum <= 3
  1211  //        })
  1212  //
  1213  func (c *PrometheusService) ListWorkspacesPages(input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool) error {
  1214  	return c.ListWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn)
  1215  }
  1216  
  1217  // ListWorkspacesPagesWithContext same as ListWorkspacesPages except
  1218  // it takes a Context and allows setting request options on the pages.
  1219  //
  1220  // The context must be non-nil and will be used for request cancellation. If
  1221  // the context is nil a panic will occur. In the future the SDK may create
  1222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1223  // for more information on using Contexts.
  1224  func (c *PrometheusService) ListWorkspacesPagesWithContext(ctx aws.Context, input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool, opts ...request.Option) error {
  1225  	p := request.Pagination{
  1226  		NewRequest: func() (*request.Request, error) {
  1227  			var inCpy *ListWorkspacesInput
  1228  			if input != nil {
  1229  				tmp := *input
  1230  				inCpy = &tmp
  1231  			}
  1232  			req, _ := c.ListWorkspacesRequest(inCpy)
  1233  			req.SetContext(ctx)
  1234  			req.ApplyOptions(opts...)
  1235  			return req, nil
  1236  		},
  1237  	}
  1238  
  1239  	for p.Next() {
  1240  		if !fn(p.Page().(*ListWorkspacesOutput), !p.HasNextPage()) {
  1241  			break
  1242  		}
  1243  	}
  1244  
  1245  	return p.Err()
  1246  }
  1247  
  1248  const opPutAlertManagerDefinition = "PutAlertManagerDefinition"
  1249  
  1250  // PutAlertManagerDefinitionRequest generates a "aws/request.Request" representing the
  1251  // client's request for the PutAlertManagerDefinition operation. The "output" return
  1252  // value will be populated with the request's response once the request completes
  1253  // successfully.
  1254  //
  1255  // Use "Send" method on the returned Request to send the API call to the service.
  1256  // the "output" return value is not valid until after Send returns without error.
  1257  //
  1258  // See PutAlertManagerDefinition for more information on using the PutAlertManagerDefinition
  1259  // API call, and error handling.
  1260  //
  1261  // This method is useful when you want to inject custom logic or configuration
  1262  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1263  //
  1264  //
  1265  //    // Example sending a request using the PutAlertManagerDefinitionRequest method.
  1266  //    req, resp := client.PutAlertManagerDefinitionRequest(params)
  1267  //
  1268  //    err := req.Send()
  1269  //    if err == nil { // resp is now filled
  1270  //        fmt.Println(resp)
  1271  //    }
  1272  //
  1273  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/PutAlertManagerDefinition
  1274  func (c *PrometheusService) PutAlertManagerDefinitionRequest(input *PutAlertManagerDefinitionInput) (req *request.Request, output *PutAlertManagerDefinitionOutput) {
  1275  	op := &request.Operation{
  1276  		Name:       opPutAlertManagerDefinition,
  1277  		HTTPMethod: "PUT",
  1278  		HTTPPath:   "/workspaces/{workspaceId}/alertmanager/definition",
  1279  	}
  1280  
  1281  	if input == nil {
  1282  		input = &PutAlertManagerDefinitionInput{}
  1283  	}
  1284  
  1285  	output = &PutAlertManagerDefinitionOutput{}
  1286  	req = c.newRequest(op, input, output)
  1287  	return
  1288  }
  1289  
  1290  // PutAlertManagerDefinition API operation for Amazon Prometheus Service.
  1291  //
  1292  // Update an alert manager definition.
  1293  //
  1294  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1295  // with awserr.Error's Code and Message methods to get detailed information about
  1296  // the error.
  1297  //
  1298  // See the AWS API reference guide for Amazon Prometheus Service's
  1299  // API operation PutAlertManagerDefinition for usage and error information.
  1300  //
  1301  // Returned Error Types:
  1302  //   * ThrottlingException
  1303  //   Request was denied due to request throttling.
  1304  //
  1305  //   * ConflictException
  1306  //   Updating or deleting a resource can cause an inconsistent state.
  1307  //
  1308  //   * ValidationException
  1309  //   The input fails to satisfy the constraints specified by an AWS service.
  1310  //
  1311  //   * ResourceNotFoundException
  1312  //   Request references a resource which does not exist.
  1313  //
  1314  //   * AccessDeniedException
  1315  //   User does not have sufficient access to perform this action.
  1316  //
  1317  //   * InternalServerException
  1318  //   Unexpected error during processing of request.
  1319  //
  1320  //   * ServiceQuotaExceededException
  1321  //   Request would cause a service quota to be exceeded.
  1322  //
  1323  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/PutAlertManagerDefinition
  1324  func (c *PrometheusService) PutAlertManagerDefinition(input *PutAlertManagerDefinitionInput) (*PutAlertManagerDefinitionOutput, error) {
  1325  	req, out := c.PutAlertManagerDefinitionRequest(input)
  1326  	return out, req.Send()
  1327  }
  1328  
  1329  // PutAlertManagerDefinitionWithContext is the same as PutAlertManagerDefinition with the addition of
  1330  // the ability to pass a context and additional request options.
  1331  //
  1332  // See PutAlertManagerDefinition for details on how to use this API operation.
  1333  //
  1334  // The context must be non-nil and will be used for request cancellation. If
  1335  // the context is nil a panic will occur. In the future the SDK may create
  1336  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1337  // for more information on using Contexts.
  1338  func (c *PrometheusService) PutAlertManagerDefinitionWithContext(ctx aws.Context, input *PutAlertManagerDefinitionInput, opts ...request.Option) (*PutAlertManagerDefinitionOutput, error) {
  1339  	req, out := c.PutAlertManagerDefinitionRequest(input)
  1340  	req.SetContext(ctx)
  1341  	req.ApplyOptions(opts...)
  1342  	return out, req.Send()
  1343  }
  1344  
  1345  const opPutRuleGroupsNamespace = "PutRuleGroupsNamespace"
  1346  
  1347  // PutRuleGroupsNamespaceRequest generates a "aws/request.Request" representing the
  1348  // client's request for the PutRuleGroupsNamespace operation. The "output" return
  1349  // value will be populated with the request's response once the request completes
  1350  // successfully.
  1351  //
  1352  // Use "Send" method on the returned Request to send the API call to the service.
  1353  // the "output" return value is not valid until after Send returns without error.
  1354  //
  1355  // See PutRuleGroupsNamespace for more information on using the PutRuleGroupsNamespace
  1356  // API call, and error handling.
  1357  //
  1358  // This method is useful when you want to inject custom logic or configuration
  1359  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1360  //
  1361  //
  1362  //    // Example sending a request using the PutRuleGroupsNamespaceRequest method.
  1363  //    req, resp := client.PutRuleGroupsNamespaceRequest(params)
  1364  //
  1365  //    err := req.Send()
  1366  //    if err == nil { // resp is now filled
  1367  //        fmt.Println(resp)
  1368  //    }
  1369  //
  1370  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/PutRuleGroupsNamespace
  1371  func (c *PrometheusService) PutRuleGroupsNamespaceRequest(input *PutRuleGroupsNamespaceInput) (req *request.Request, output *PutRuleGroupsNamespaceOutput) {
  1372  	op := &request.Operation{
  1373  		Name:       opPutRuleGroupsNamespace,
  1374  		HTTPMethod: "PUT",
  1375  		HTTPPath:   "/workspaces/{workspaceId}/rulegroupsnamespaces/{name}",
  1376  	}
  1377  
  1378  	if input == nil {
  1379  		input = &PutRuleGroupsNamespaceInput{}
  1380  	}
  1381  
  1382  	output = &PutRuleGroupsNamespaceOutput{}
  1383  	req = c.newRequest(op, input, output)
  1384  	return
  1385  }
  1386  
  1387  // PutRuleGroupsNamespace API operation for Amazon Prometheus Service.
  1388  //
  1389  // Update a rule groups namespace.
  1390  //
  1391  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1392  // with awserr.Error's Code and Message methods to get detailed information about
  1393  // the error.
  1394  //
  1395  // See the AWS API reference guide for Amazon Prometheus Service's
  1396  // API operation PutRuleGroupsNamespace for usage and error information.
  1397  //
  1398  // Returned Error Types:
  1399  //   * ThrottlingException
  1400  //   Request was denied due to request throttling.
  1401  //
  1402  //   * ConflictException
  1403  //   Updating or deleting a resource can cause an inconsistent state.
  1404  //
  1405  //   * ValidationException
  1406  //   The input fails to satisfy the constraints specified by an AWS service.
  1407  //
  1408  //   * ResourceNotFoundException
  1409  //   Request references a resource which does not exist.
  1410  //
  1411  //   * AccessDeniedException
  1412  //   User does not have sufficient access to perform this action.
  1413  //
  1414  //   * InternalServerException
  1415  //   Unexpected error during processing of request.
  1416  //
  1417  //   * ServiceQuotaExceededException
  1418  //   Request would cause a service quota to be exceeded.
  1419  //
  1420  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/PutRuleGroupsNamespace
  1421  func (c *PrometheusService) PutRuleGroupsNamespace(input *PutRuleGroupsNamespaceInput) (*PutRuleGroupsNamespaceOutput, error) {
  1422  	req, out := c.PutRuleGroupsNamespaceRequest(input)
  1423  	return out, req.Send()
  1424  }
  1425  
  1426  // PutRuleGroupsNamespaceWithContext is the same as PutRuleGroupsNamespace with the addition of
  1427  // the ability to pass a context and additional request options.
  1428  //
  1429  // See PutRuleGroupsNamespace for details on how to use this API operation.
  1430  //
  1431  // The context must be non-nil and will be used for request cancellation. If
  1432  // the context is nil a panic will occur. In the future the SDK may create
  1433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1434  // for more information on using Contexts.
  1435  func (c *PrometheusService) PutRuleGroupsNamespaceWithContext(ctx aws.Context, input *PutRuleGroupsNamespaceInput, opts ...request.Option) (*PutRuleGroupsNamespaceOutput, error) {
  1436  	req, out := c.PutRuleGroupsNamespaceRequest(input)
  1437  	req.SetContext(ctx)
  1438  	req.ApplyOptions(opts...)
  1439  	return out, req.Send()
  1440  }
  1441  
  1442  const opTagResource = "TagResource"
  1443  
  1444  // TagResourceRequest generates a "aws/request.Request" representing the
  1445  // client's request for the TagResource operation. The "output" return
  1446  // value will be populated with the request's response once the request completes
  1447  // successfully.
  1448  //
  1449  // Use "Send" method on the returned Request to send the API call to the service.
  1450  // the "output" return value is not valid until after Send returns without error.
  1451  //
  1452  // See TagResource for more information on using the TagResource
  1453  // API call, and error handling.
  1454  //
  1455  // This method is useful when you want to inject custom logic or configuration
  1456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1457  //
  1458  //
  1459  //    // Example sending a request using the TagResourceRequest method.
  1460  //    req, resp := client.TagResourceRequest(params)
  1461  //
  1462  //    err := req.Send()
  1463  //    if err == nil { // resp is now filled
  1464  //        fmt.Println(resp)
  1465  //    }
  1466  //
  1467  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/TagResource
  1468  func (c *PrometheusService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1469  	op := &request.Operation{
  1470  		Name:       opTagResource,
  1471  		HTTPMethod: "POST",
  1472  		HTTPPath:   "/tags/{resourceArn}",
  1473  	}
  1474  
  1475  	if input == nil {
  1476  		input = &TagResourceInput{}
  1477  	}
  1478  
  1479  	output = &TagResourceOutput{}
  1480  	req = c.newRequest(op, input, output)
  1481  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1482  	return
  1483  }
  1484  
  1485  // TagResource API operation for Amazon Prometheus Service.
  1486  //
  1487  // Creates tags for the specified resource.
  1488  //
  1489  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1490  // with awserr.Error's Code and Message methods to get detailed information about
  1491  // the error.
  1492  //
  1493  // See the AWS API reference guide for Amazon Prometheus Service's
  1494  // API operation TagResource for usage and error information.
  1495  //
  1496  // Returned Error Types:
  1497  //   * ThrottlingException
  1498  //   Request was denied due to request throttling.
  1499  //
  1500  //   * ValidationException
  1501  //   The input fails to satisfy the constraints specified by an AWS service.
  1502  //
  1503  //   * ResourceNotFoundException
  1504  //   Request references a resource which does not exist.
  1505  //
  1506  //   * AccessDeniedException
  1507  //   User does not have sufficient access to perform this action.
  1508  //
  1509  //   * InternalServerException
  1510  //   Unexpected error during processing of request.
  1511  //
  1512  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/TagResource
  1513  func (c *PrometheusService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1514  	req, out := c.TagResourceRequest(input)
  1515  	return out, req.Send()
  1516  }
  1517  
  1518  // TagResourceWithContext is the same as TagResource with the addition of
  1519  // the ability to pass a context and additional request options.
  1520  //
  1521  // See TagResource for details on how to use this API operation.
  1522  //
  1523  // The context must be non-nil and will be used for request cancellation. If
  1524  // the context is nil a panic will occur. In the future the SDK may create
  1525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1526  // for more information on using Contexts.
  1527  func (c *PrometheusService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1528  	req, out := c.TagResourceRequest(input)
  1529  	req.SetContext(ctx)
  1530  	req.ApplyOptions(opts...)
  1531  	return out, req.Send()
  1532  }
  1533  
  1534  const opUntagResource = "UntagResource"
  1535  
  1536  // UntagResourceRequest generates a "aws/request.Request" representing the
  1537  // client's request for the UntagResource operation. The "output" return
  1538  // value will be populated with the request's response once the request completes
  1539  // successfully.
  1540  //
  1541  // Use "Send" method on the returned Request to send the API call to the service.
  1542  // the "output" return value is not valid until after Send returns without error.
  1543  //
  1544  // See UntagResource for more information on using the UntagResource
  1545  // API call, and error handling.
  1546  //
  1547  // This method is useful when you want to inject custom logic or configuration
  1548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1549  //
  1550  //
  1551  //    // Example sending a request using the UntagResourceRequest method.
  1552  //    req, resp := client.UntagResourceRequest(params)
  1553  //
  1554  //    err := req.Send()
  1555  //    if err == nil { // resp is now filled
  1556  //        fmt.Println(resp)
  1557  //    }
  1558  //
  1559  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UntagResource
  1560  func (c *PrometheusService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1561  	op := &request.Operation{
  1562  		Name:       opUntagResource,
  1563  		HTTPMethod: "DELETE",
  1564  		HTTPPath:   "/tags/{resourceArn}",
  1565  	}
  1566  
  1567  	if input == nil {
  1568  		input = &UntagResourceInput{}
  1569  	}
  1570  
  1571  	output = &UntagResourceOutput{}
  1572  	req = c.newRequest(op, input, output)
  1573  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1574  	return
  1575  }
  1576  
  1577  // UntagResource API operation for Amazon Prometheus Service.
  1578  //
  1579  // Deletes tags from the specified resource.
  1580  //
  1581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1582  // with awserr.Error's Code and Message methods to get detailed information about
  1583  // the error.
  1584  //
  1585  // See the AWS API reference guide for Amazon Prometheus Service's
  1586  // API operation UntagResource for usage and error information.
  1587  //
  1588  // Returned Error Types:
  1589  //   * ThrottlingException
  1590  //   Request was denied due to request throttling.
  1591  //
  1592  //   * ValidationException
  1593  //   The input fails to satisfy the constraints specified by an AWS service.
  1594  //
  1595  //   * ResourceNotFoundException
  1596  //   Request references a resource which does not exist.
  1597  //
  1598  //   * AccessDeniedException
  1599  //   User does not have sufficient access to perform this action.
  1600  //
  1601  //   * InternalServerException
  1602  //   Unexpected error during processing of request.
  1603  //
  1604  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UntagResource
  1605  func (c *PrometheusService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1606  	req, out := c.UntagResourceRequest(input)
  1607  	return out, req.Send()
  1608  }
  1609  
  1610  // UntagResourceWithContext is the same as UntagResource with the addition of
  1611  // the ability to pass a context and additional request options.
  1612  //
  1613  // See UntagResource for details on how to use this API operation.
  1614  //
  1615  // The context must be non-nil and will be used for request cancellation. If
  1616  // the context is nil a panic will occur. In the future the SDK may create
  1617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1618  // for more information on using Contexts.
  1619  func (c *PrometheusService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1620  	req, out := c.UntagResourceRequest(input)
  1621  	req.SetContext(ctx)
  1622  	req.ApplyOptions(opts...)
  1623  	return out, req.Send()
  1624  }
  1625  
  1626  const opUpdateWorkspaceAlias = "UpdateWorkspaceAlias"
  1627  
  1628  // UpdateWorkspaceAliasRequest generates a "aws/request.Request" representing the
  1629  // client's request for the UpdateWorkspaceAlias operation. The "output" return
  1630  // value will be populated with the request's response once the request completes
  1631  // successfully.
  1632  //
  1633  // Use "Send" method on the returned Request to send the API call to the service.
  1634  // the "output" return value is not valid until after Send returns without error.
  1635  //
  1636  // See UpdateWorkspaceAlias for more information on using the UpdateWorkspaceAlias
  1637  // API call, and error handling.
  1638  //
  1639  // This method is useful when you want to inject custom logic or configuration
  1640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1641  //
  1642  //
  1643  //    // Example sending a request using the UpdateWorkspaceAliasRequest method.
  1644  //    req, resp := client.UpdateWorkspaceAliasRequest(params)
  1645  //
  1646  //    err := req.Send()
  1647  //    if err == nil { // resp is now filled
  1648  //        fmt.Println(resp)
  1649  //    }
  1650  //
  1651  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UpdateWorkspaceAlias
  1652  func (c *PrometheusService) UpdateWorkspaceAliasRequest(input *UpdateWorkspaceAliasInput) (req *request.Request, output *UpdateWorkspaceAliasOutput) {
  1653  	op := &request.Operation{
  1654  		Name:       opUpdateWorkspaceAlias,
  1655  		HTTPMethod: "POST",
  1656  		HTTPPath:   "/workspaces/{workspaceId}/alias",
  1657  	}
  1658  
  1659  	if input == nil {
  1660  		input = &UpdateWorkspaceAliasInput{}
  1661  	}
  1662  
  1663  	output = &UpdateWorkspaceAliasOutput{}
  1664  	req = c.newRequest(op, input, output)
  1665  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1666  	return
  1667  }
  1668  
  1669  // UpdateWorkspaceAlias API operation for Amazon Prometheus Service.
  1670  //
  1671  // Updates an AMP workspace alias.
  1672  //
  1673  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1674  // with awserr.Error's Code and Message methods to get detailed information about
  1675  // the error.
  1676  //
  1677  // See the AWS API reference guide for Amazon Prometheus Service's
  1678  // API operation UpdateWorkspaceAlias for usage and error information.
  1679  //
  1680  // Returned Error Types:
  1681  //   * ThrottlingException
  1682  //   Request was denied due to request throttling.
  1683  //
  1684  //   * ConflictException
  1685  //   Updating or deleting a resource can cause an inconsistent state.
  1686  //
  1687  //   * ValidationException
  1688  //   The input fails to satisfy the constraints specified by an AWS service.
  1689  //
  1690  //   * ResourceNotFoundException
  1691  //   Request references a resource which does not exist.
  1692  //
  1693  //   * AccessDeniedException
  1694  //   User does not have sufficient access to perform this action.
  1695  //
  1696  //   * InternalServerException
  1697  //   Unexpected error during processing of request.
  1698  //
  1699  //   * ServiceQuotaExceededException
  1700  //   Request would cause a service quota to be exceeded.
  1701  //
  1702  // See also, https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/UpdateWorkspaceAlias
  1703  func (c *PrometheusService) UpdateWorkspaceAlias(input *UpdateWorkspaceAliasInput) (*UpdateWorkspaceAliasOutput, error) {
  1704  	req, out := c.UpdateWorkspaceAliasRequest(input)
  1705  	return out, req.Send()
  1706  }
  1707  
  1708  // UpdateWorkspaceAliasWithContext is the same as UpdateWorkspaceAlias with the addition of
  1709  // the ability to pass a context and additional request options.
  1710  //
  1711  // See UpdateWorkspaceAlias for details on how to use this API operation.
  1712  //
  1713  // The context must be non-nil and will be used for request cancellation. If
  1714  // the context is nil a panic will occur. In the future the SDK may create
  1715  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1716  // for more information on using Contexts.
  1717  func (c *PrometheusService) UpdateWorkspaceAliasWithContext(ctx aws.Context, input *UpdateWorkspaceAliasInput, opts ...request.Option) (*UpdateWorkspaceAliasOutput, error) {
  1718  	req, out := c.UpdateWorkspaceAliasRequest(input)
  1719  	req.SetContext(ctx)
  1720  	req.ApplyOptions(opts...)
  1721  	return out, req.Send()
  1722  }
  1723  
  1724  // User does not have sufficient access to perform this action.
  1725  type AccessDeniedException struct {
  1726  	_            struct{}                  `type:"structure"`
  1727  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1728  
  1729  	// Description of the error.
  1730  	Message_ *string `locationName:"message" type:"string"`
  1731  }
  1732  
  1733  // String returns the string representation.
  1734  //
  1735  // API parameter values that are decorated as "sensitive" in the API will not
  1736  // be included in the string output. The member name will be present, but the
  1737  // value will be replaced with "sensitive".
  1738  func (s AccessDeniedException) String() string {
  1739  	return awsutil.Prettify(s)
  1740  }
  1741  
  1742  // GoString returns the string representation.
  1743  //
  1744  // API parameter values that are decorated as "sensitive" in the API will not
  1745  // be included in the string output. The member name will be present, but the
  1746  // value will be replaced with "sensitive".
  1747  func (s AccessDeniedException) GoString() string {
  1748  	return s.String()
  1749  }
  1750  
  1751  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  1752  	return &AccessDeniedException{
  1753  		RespMetadata: v,
  1754  	}
  1755  }
  1756  
  1757  // Code returns the exception type name.
  1758  func (s *AccessDeniedException) Code() string {
  1759  	return "AccessDeniedException"
  1760  }
  1761  
  1762  // Message returns the exception's message.
  1763  func (s *AccessDeniedException) Message() string {
  1764  	if s.Message_ != nil {
  1765  		return *s.Message_
  1766  	}
  1767  	return ""
  1768  }
  1769  
  1770  // OrigErr always returns nil, satisfies awserr.Error interface.
  1771  func (s *AccessDeniedException) OrigErr() error {
  1772  	return nil
  1773  }
  1774  
  1775  func (s *AccessDeniedException) Error() string {
  1776  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1777  }
  1778  
  1779  // Status code returns the HTTP status code for the request's response error.
  1780  func (s *AccessDeniedException) StatusCode() int {
  1781  	return s.RespMetadata.StatusCode
  1782  }
  1783  
  1784  // RequestID returns the service's response RequestID for request.
  1785  func (s *AccessDeniedException) RequestID() string {
  1786  	return s.RespMetadata.RequestID
  1787  }
  1788  
  1789  // Represents the properties of an alert manager definition.
  1790  type AlertManagerDefinitionDescription struct {
  1791  	_ struct{} `type:"structure"`
  1792  
  1793  	// The time when the alert manager definition was created.
  1794  	//
  1795  	// CreatedAt is a required field
  1796  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  1797  
  1798  	// The alert manager definition.
  1799  	// Data is automatically base64 encoded/decoded by the SDK.
  1800  	//
  1801  	// Data is a required field
  1802  	Data []byte `locationName:"data" type:"blob" required:"true"`
  1803  
  1804  	// The time when the alert manager definition was modified.
  1805  	//
  1806  	// ModifiedAt is a required field
  1807  	ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp" required:"true"`
  1808  
  1809  	// The status of alert manager definition.
  1810  	//
  1811  	// Status is a required field
  1812  	Status *AlertManagerDefinitionStatus `locationName:"status" type:"structure" required:"true"`
  1813  }
  1814  
  1815  // String returns the string representation.
  1816  //
  1817  // API parameter values that are decorated as "sensitive" in the API will not
  1818  // be included in the string output. The member name will be present, but the
  1819  // value will be replaced with "sensitive".
  1820  func (s AlertManagerDefinitionDescription) String() string {
  1821  	return awsutil.Prettify(s)
  1822  }
  1823  
  1824  // GoString returns the string representation.
  1825  //
  1826  // API parameter values that are decorated as "sensitive" in the API will not
  1827  // be included in the string output. The member name will be present, but the
  1828  // value will be replaced with "sensitive".
  1829  func (s AlertManagerDefinitionDescription) GoString() string {
  1830  	return s.String()
  1831  }
  1832  
  1833  // SetCreatedAt sets the CreatedAt field's value.
  1834  func (s *AlertManagerDefinitionDescription) SetCreatedAt(v time.Time) *AlertManagerDefinitionDescription {
  1835  	s.CreatedAt = &v
  1836  	return s
  1837  }
  1838  
  1839  // SetData sets the Data field's value.
  1840  func (s *AlertManagerDefinitionDescription) SetData(v []byte) *AlertManagerDefinitionDescription {
  1841  	s.Data = v
  1842  	return s
  1843  }
  1844  
  1845  // SetModifiedAt sets the ModifiedAt field's value.
  1846  func (s *AlertManagerDefinitionDescription) SetModifiedAt(v time.Time) *AlertManagerDefinitionDescription {
  1847  	s.ModifiedAt = &v
  1848  	return s
  1849  }
  1850  
  1851  // SetStatus sets the Status field's value.
  1852  func (s *AlertManagerDefinitionDescription) SetStatus(v *AlertManagerDefinitionStatus) *AlertManagerDefinitionDescription {
  1853  	s.Status = v
  1854  	return s
  1855  }
  1856  
  1857  // Represents the status of a definition.
  1858  type AlertManagerDefinitionStatus struct {
  1859  	_ struct{} `type:"structure"`
  1860  
  1861  	// Status code of this definition.
  1862  	//
  1863  	// StatusCode is a required field
  1864  	StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"AlertManagerDefinitionStatusCode"`
  1865  
  1866  	// The reason for failure if any.
  1867  	StatusReason *string `locationName:"statusReason" type:"string"`
  1868  }
  1869  
  1870  // String returns the string representation.
  1871  //
  1872  // API parameter values that are decorated as "sensitive" in the API will not
  1873  // be included in the string output. The member name will be present, but the
  1874  // value will be replaced with "sensitive".
  1875  func (s AlertManagerDefinitionStatus) String() string {
  1876  	return awsutil.Prettify(s)
  1877  }
  1878  
  1879  // GoString returns the string representation.
  1880  //
  1881  // API parameter values that are decorated as "sensitive" in the API will not
  1882  // be included in the string output. The member name will be present, but the
  1883  // value will be replaced with "sensitive".
  1884  func (s AlertManagerDefinitionStatus) GoString() string {
  1885  	return s.String()
  1886  }
  1887  
  1888  // SetStatusCode sets the StatusCode field's value.
  1889  func (s *AlertManagerDefinitionStatus) SetStatusCode(v string) *AlertManagerDefinitionStatus {
  1890  	s.StatusCode = &v
  1891  	return s
  1892  }
  1893  
  1894  // SetStatusReason sets the StatusReason field's value.
  1895  func (s *AlertManagerDefinitionStatus) SetStatusReason(v string) *AlertManagerDefinitionStatus {
  1896  	s.StatusReason = &v
  1897  	return s
  1898  }
  1899  
  1900  // Updating or deleting a resource can cause an inconsistent state.
  1901  type ConflictException struct {
  1902  	_            struct{}                  `type:"structure"`
  1903  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1904  
  1905  	// Description of the error.
  1906  	Message_ *string `locationName:"message" type:"string"`
  1907  
  1908  	// Identifier of the resource affected.
  1909  	//
  1910  	// ResourceId is a required field
  1911  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  1912  
  1913  	// Type of the resource affected.
  1914  	//
  1915  	// ResourceType is a required field
  1916  	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
  1917  }
  1918  
  1919  // String returns the string representation.
  1920  //
  1921  // API parameter values that are decorated as "sensitive" in the API will not
  1922  // be included in the string output. The member name will be present, but the
  1923  // value will be replaced with "sensitive".
  1924  func (s ConflictException) String() string {
  1925  	return awsutil.Prettify(s)
  1926  }
  1927  
  1928  // GoString returns the string representation.
  1929  //
  1930  // API parameter values that are decorated as "sensitive" in the API will not
  1931  // be included in the string output. The member name will be present, but the
  1932  // value will be replaced with "sensitive".
  1933  func (s ConflictException) GoString() string {
  1934  	return s.String()
  1935  }
  1936  
  1937  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1938  	return &ConflictException{
  1939  		RespMetadata: v,
  1940  	}
  1941  }
  1942  
  1943  // Code returns the exception type name.
  1944  func (s *ConflictException) Code() string {
  1945  	return "ConflictException"
  1946  }
  1947  
  1948  // Message returns the exception's message.
  1949  func (s *ConflictException) Message() string {
  1950  	if s.Message_ != nil {
  1951  		return *s.Message_
  1952  	}
  1953  	return ""
  1954  }
  1955  
  1956  // OrigErr always returns nil, satisfies awserr.Error interface.
  1957  func (s *ConflictException) OrigErr() error {
  1958  	return nil
  1959  }
  1960  
  1961  func (s *ConflictException) Error() string {
  1962  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  1963  }
  1964  
  1965  // Status code returns the HTTP status code for the request's response error.
  1966  func (s *ConflictException) StatusCode() int {
  1967  	return s.RespMetadata.StatusCode
  1968  }
  1969  
  1970  // RequestID returns the service's response RequestID for request.
  1971  func (s *ConflictException) RequestID() string {
  1972  	return s.RespMetadata.RequestID
  1973  }
  1974  
  1975  // Represents the input of a CreateAlertManagerDefinition operation.
  1976  type CreateAlertManagerDefinitionInput struct {
  1977  	_ struct{} `type:"structure"`
  1978  
  1979  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  1980  	// idempotency of the request.
  1981  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  1982  
  1983  	// The alert manager definition data.
  1984  	// Data is automatically base64 encoded/decoded by the SDK.
  1985  	//
  1986  	// Data is a required field
  1987  	Data []byte `locationName:"data" type:"blob" required:"true"`
  1988  
  1989  	// The ID of the workspace in which to create the alert manager definition.
  1990  	//
  1991  	// WorkspaceId is a required field
  1992  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  1993  }
  1994  
  1995  // String returns the string representation.
  1996  //
  1997  // API parameter values that are decorated as "sensitive" in the API will not
  1998  // be included in the string output. The member name will be present, but the
  1999  // value will be replaced with "sensitive".
  2000  func (s CreateAlertManagerDefinitionInput) String() string {
  2001  	return awsutil.Prettify(s)
  2002  }
  2003  
  2004  // GoString returns the string representation.
  2005  //
  2006  // API parameter values that are decorated as "sensitive" in the API will not
  2007  // be included in the string output. The member name will be present, but the
  2008  // value will be replaced with "sensitive".
  2009  func (s CreateAlertManagerDefinitionInput) GoString() string {
  2010  	return s.String()
  2011  }
  2012  
  2013  // Validate inspects the fields of the type to determine if they are valid.
  2014  func (s *CreateAlertManagerDefinitionInput) Validate() error {
  2015  	invalidParams := request.ErrInvalidParams{Context: "CreateAlertManagerDefinitionInput"}
  2016  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2017  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2018  	}
  2019  	if s.Data == nil {
  2020  		invalidParams.Add(request.NewErrParamRequired("Data"))
  2021  	}
  2022  	if s.WorkspaceId == nil {
  2023  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2024  	}
  2025  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2026  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2027  	}
  2028  
  2029  	if invalidParams.Len() > 0 {
  2030  		return invalidParams
  2031  	}
  2032  	return nil
  2033  }
  2034  
  2035  // SetClientToken sets the ClientToken field's value.
  2036  func (s *CreateAlertManagerDefinitionInput) SetClientToken(v string) *CreateAlertManagerDefinitionInput {
  2037  	s.ClientToken = &v
  2038  	return s
  2039  }
  2040  
  2041  // SetData sets the Data field's value.
  2042  func (s *CreateAlertManagerDefinitionInput) SetData(v []byte) *CreateAlertManagerDefinitionInput {
  2043  	s.Data = v
  2044  	return s
  2045  }
  2046  
  2047  // SetWorkspaceId sets the WorkspaceId field's value.
  2048  func (s *CreateAlertManagerDefinitionInput) SetWorkspaceId(v string) *CreateAlertManagerDefinitionInput {
  2049  	s.WorkspaceId = &v
  2050  	return s
  2051  }
  2052  
  2053  // Represents the output of a CreateAlertManagerDefinition operation.
  2054  type CreateAlertManagerDefinitionOutput struct {
  2055  	_ struct{} `type:"structure"`
  2056  
  2057  	// The status of alert manager definition.
  2058  	//
  2059  	// Status is a required field
  2060  	Status *AlertManagerDefinitionStatus `locationName:"status" type:"structure" required:"true"`
  2061  }
  2062  
  2063  // String returns the string representation.
  2064  //
  2065  // API parameter values that are decorated as "sensitive" in the API will not
  2066  // be included in the string output. The member name will be present, but the
  2067  // value will be replaced with "sensitive".
  2068  func (s CreateAlertManagerDefinitionOutput) String() string {
  2069  	return awsutil.Prettify(s)
  2070  }
  2071  
  2072  // GoString returns the string representation.
  2073  //
  2074  // API parameter values that are decorated as "sensitive" in the API will not
  2075  // be included in the string output. The member name will be present, but the
  2076  // value will be replaced with "sensitive".
  2077  func (s CreateAlertManagerDefinitionOutput) GoString() string {
  2078  	return s.String()
  2079  }
  2080  
  2081  // SetStatus sets the Status field's value.
  2082  func (s *CreateAlertManagerDefinitionOutput) SetStatus(v *AlertManagerDefinitionStatus) *CreateAlertManagerDefinitionOutput {
  2083  	s.Status = v
  2084  	return s
  2085  }
  2086  
  2087  // Represents the input of a CreateRuleGroupsNamespace operation.
  2088  type CreateRuleGroupsNamespaceInput struct {
  2089  	_ struct{} `type:"structure"`
  2090  
  2091  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  2092  	// idempotency of the request.
  2093  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2094  
  2095  	// The namespace data that define the rule groups.
  2096  	// Data is automatically base64 encoded/decoded by the SDK.
  2097  	//
  2098  	// Data is a required field
  2099  	Data []byte `locationName:"data" type:"blob" required:"true"`
  2100  
  2101  	// The rule groups namespace name.
  2102  	//
  2103  	// Name is a required field
  2104  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  2105  
  2106  	// Optional, user-provided tags for this rule groups namespace.
  2107  	Tags map[string]*string `locationName:"tags" type:"map"`
  2108  
  2109  	// The ID of the workspace in which to create the rule group namespace.
  2110  	//
  2111  	// WorkspaceId is a required field
  2112  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2113  }
  2114  
  2115  // String returns the string representation.
  2116  //
  2117  // API parameter values that are decorated as "sensitive" in the API will not
  2118  // be included in the string output. The member name will be present, but the
  2119  // value will be replaced with "sensitive".
  2120  func (s CreateRuleGroupsNamespaceInput) String() string {
  2121  	return awsutil.Prettify(s)
  2122  }
  2123  
  2124  // GoString returns the string representation.
  2125  //
  2126  // API parameter values that are decorated as "sensitive" in the API will not
  2127  // be included in the string output. The member name will be present, but the
  2128  // value will be replaced with "sensitive".
  2129  func (s CreateRuleGroupsNamespaceInput) GoString() string {
  2130  	return s.String()
  2131  }
  2132  
  2133  // Validate inspects the fields of the type to determine if they are valid.
  2134  func (s *CreateRuleGroupsNamespaceInput) Validate() error {
  2135  	invalidParams := request.ErrInvalidParams{Context: "CreateRuleGroupsNamespaceInput"}
  2136  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2137  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2138  	}
  2139  	if s.Data == nil {
  2140  		invalidParams.Add(request.NewErrParamRequired("Data"))
  2141  	}
  2142  	if s.Name == nil {
  2143  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2144  	}
  2145  	if s.Name != nil && len(*s.Name) < 1 {
  2146  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2147  	}
  2148  	if s.WorkspaceId == nil {
  2149  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2150  	}
  2151  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2152  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2153  	}
  2154  
  2155  	if invalidParams.Len() > 0 {
  2156  		return invalidParams
  2157  	}
  2158  	return nil
  2159  }
  2160  
  2161  // SetClientToken sets the ClientToken field's value.
  2162  func (s *CreateRuleGroupsNamespaceInput) SetClientToken(v string) *CreateRuleGroupsNamespaceInput {
  2163  	s.ClientToken = &v
  2164  	return s
  2165  }
  2166  
  2167  // SetData sets the Data field's value.
  2168  func (s *CreateRuleGroupsNamespaceInput) SetData(v []byte) *CreateRuleGroupsNamespaceInput {
  2169  	s.Data = v
  2170  	return s
  2171  }
  2172  
  2173  // SetName sets the Name field's value.
  2174  func (s *CreateRuleGroupsNamespaceInput) SetName(v string) *CreateRuleGroupsNamespaceInput {
  2175  	s.Name = &v
  2176  	return s
  2177  }
  2178  
  2179  // SetTags sets the Tags field's value.
  2180  func (s *CreateRuleGroupsNamespaceInput) SetTags(v map[string]*string) *CreateRuleGroupsNamespaceInput {
  2181  	s.Tags = v
  2182  	return s
  2183  }
  2184  
  2185  // SetWorkspaceId sets the WorkspaceId field's value.
  2186  func (s *CreateRuleGroupsNamespaceInput) SetWorkspaceId(v string) *CreateRuleGroupsNamespaceInput {
  2187  	s.WorkspaceId = &v
  2188  	return s
  2189  }
  2190  
  2191  // Represents the output of a CreateRuleGroupsNamespace operation.
  2192  type CreateRuleGroupsNamespaceOutput struct {
  2193  	_ struct{} `type:"structure"`
  2194  
  2195  	// The Amazon Resource Name (ARN) of this rule groups namespace.
  2196  	//
  2197  	// Arn is a required field
  2198  	Arn *string `locationName:"arn" type:"string" required:"true"`
  2199  
  2200  	// The rule groups namespace name.
  2201  	//
  2202  	// Name is a required field
  2203  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  2204  
  2205  	// The status of rule groups namespace.
  2206  	//
  2207  	// Status is a required field
  2208  	Status *RuleGroupsNamespaceStatus `locationName:"status" type:"structure" required:"true"`
  2209  
  2210  	// The tags of this rule groups namespace.
  2211  	Tags map[string]*string `locationName:"tags" type:"map"`
  2212  }
  2213  
  2214  // String returns the string representation.
  2215  //
  2216  // API parameter values that are decorated as "sensitive" in the API will not
  2217  // be included in the string output. The member name will be present, but the
  2218  // value will be replaced with "sensitive".
  2219  func (s CreateRuleGroupsNamespaceOutput) String() string {
  2220  	return awsutil.Prettify(s)
  2221  }
  2222  
  2223  // GoString returns the string representation.
  2224  //
  2225  // API parameter values that are decorated as "sensitive" in the API will not
  2226  // be included in the string output. The member name will be present, but the
  2227  // value will be replaced with "sensitive".
  2228  func (s CreateRuleGroupsNamespaceOutput) GoString() string {
  2229  	return s.String()
  2230  }
  2231  
  2232  // SetArn sets the Arn field's value.
  2233  func (s *CreateRuleGroupsNamespaceOutput) SetArn(v string) *CreateRuleGroupsNamespaceOutput {
  2234  	s.Arn = &v
  2235  	return s
  2236  }
  2237  
  2238  // SetName sets the Name field's value.
  2239  func (s *CreateRuleGroupsNamespaceOutput) SetName(v string) *CreateRuleGroupsNamespaceOutput {
  2240  	s.Name = &v
  2241  	return s
  2242  }
  2243  
  2244  // SetStatus sets the Status field's value.
  2245  func (s *CreateRuleGroupsNamespaceOutput) SetStatus(v *RuleGroupsNamespaceStatus) *CreateRuleGroupsNamespaceOutput {
  2246  	s.Status = v
  2247  	return s
  2248  }
  2249  
  2250  // SetTags sets the Tags field's value.
  2251  func (s *CreateRuleGroupsNamespaceOutput) SetTags(v map[string]*string) *CreateRuleGroupsNamespaceOutput {
  2252  	s.Tags = v
  2253  	return s
  2254  }
  2255  
  2256  // Represents the input of a CreateWorkspace operation.
  2257  type CreateWorkspaceInput struct {
  2258  	_ struct{} `type:"structure"`
  2259  
  2260  	// An optional user-assigned alias for this workspace. This alias is for user
  2261  	// reference and does not need to be unique.
  2262  	Alias *string `locationName:"alias" min:"1" type:"string"`
  2263  
  2264  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  2265  	// idempotency of the request.
  2266  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2267  
  2268  	// Optional, user-provided tags for this workspace.
  2269  	Tags map[string]*string `locationName:"tags" type:"map"`
  2270  }
  2271  
  2272  // String returns the string representation.
  2273  //
  2274  // API parameter values that are decorated as "sensitive" in the API will not
  2275  // be included in the string output. The member name will be present, but the
  2276  // value will be replaced with "sensitive".
  2277  func (s CreateWorkspaceInput) String() string {
  2278  	return awsutil.Prettify(s)
  2279  }
  2280  
  2281  // GoString returns the string representation.
  2282  //
  2283  // API parameter values that are decorated as "sensitive" in the API will not
  2284  // be included in the string output. The member name will be present, but the
  2285  // value will be replaced with "sensitive".
  2286  func (s CreateWorkspaceInput) GoString() string {
  2287  	return s.String()
  2288  }
  2289  
  2290  // Validate inspects the fields of the type to determine if they are valid.
  2291  func (s *CreateWorkspaceInput) Validate() error {
  2292  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkspaceInput"}
  2293  	if s.Alias != nil && len(*s.Alias) < 1 {
  2294  		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
  2295  	}
  2296  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2297  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2298  	}
  2299  
  2300  	if invalidParams.Len() > 0 {
  2301  		return invalidParams
  2302  	}
  2303  	return nil
  2304  }
  2305  
  2306  // SetAlias sets the Alias field's value.
  2307  func (s *CreateWorkspaceInput) SetAlias(v string) *CreateWorkspaceInput {
  2308  	s.Alias = &v
  2309  	return s
  2310  }
  2311  
  2312  // SetClientToken sets the ClientToken field's value.
  2313  func (s *CreateWorkspaceInput) SetClientToken(v string) *CreateWorkspaceInput {
  2314  	s.ClientToken = &v
  2315  	return s
  2316  }
  2317  
  2318  // SetTags sets the Tags field's value.
  2319  func (s *CreateWorkspaceInput) SetTags(v map[string]*string) *CreateWorkspaceInput {
  2320  	s.Tags = v
  2321  	return s
  2322  }
  2323  
  2324  // Represents the output of a CreateWorkspace operation.
  2325  type CreateWorkspaceOutput struct {
  2326  	_ struct{} `type:"structure"`
  2327  
  2328  	// The ARN of the workspace that was just created.
  2329  	//
  2330  	// Arn is a required field
  2331  	Arn *string `locationName:"arn" type:"string" required:"true"`
  2332  
  2333  	// The status of the workspace that was just created (usually CREATING).
  2334  	//
  2335  	// Status is a required field
  2336  	Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"`
  2337  
  2338  	// The tags of this workspace.
  2339  	Tags map[string]*string `locationName:"tags" type:"map"`
  2340  
  2341  	// The generated ID of the workspace that was just created.
  2342  	//
  2343  	// WorkspaceId is a required field
  2344  	WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2345  }
  2346  
  2347  // String returns the string representation.
  2348  //
  2349  // API parameter values that are decorated as "sensitive" in the API will not
  2350  // be included in the string output. The member name will be present, but the
  2351  // value will be replaced with "sensitive".
  2352  func (s CreateWorkspaceOutput) String() string {
  2353  	return awsutil.Prettify(s)
  2354  }
  2355  
  2356  // GoString returns the string representation.
  2357  //
  2358  // API parameter values that are decorated as "sensitive" in the API will not
  2359  // be included in the string output. The member name will be present, but the
  2360  // value will be replaced with "sensitive".
  2361  func (s CreateWorkspaceOutput) GoString() string {
  2362  	return s.String()
  2363  }
  2364  
  2365  // SetArn sets the Arn field's value.
  2366  func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput {
  2367  	s.Arn = &v
  2368  	return s
  2369  }
  2370  
  2371  // SetStatus sets the Status field's value.
  2372  func (s *CreateWorkspaceOutput) SetStatus(v *WorkspaceStatus) *CreateWorkspaceOutput {
  2373  	s.Status = v
  2374  	return s
  2375  }
  2376  
  2377  // SetTags sets the Tags field's value.
  2378  func (s *CreateWorkspaceOutput) SetTags(v map[string]*string) *CreateWorkspaceOutput {
  2379  	s.Tags = v
  2380  	return s
  2381  }
  2382  
  2383  // SetWorkspaceId sets the WorkspaceId field's value.
  2384  func (s *CreateWorkspaceOutput) SetWorkspaceId(v string) *CreateWorkspaceOutput {
  2385  	s.WorkspaceId = &v
  2386  	return s
  2387  }
  2388  
  2389  // Represents the input of a DeleteAlertManagerDefinition operation.
  2390  type DeleteAlertManagerDefinitionInput struct {
  2391  	_ struct{} `type:"structure" nopayload:"true"`
  2392  
  2393  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  2394  	// idempotency of the request.
  2395  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2396  
  2397  	// The ID of the workspace in which to delete the alert manager definition.
  2398  	//
  2399  	// WorkspaceId is a required field
  2400  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2401  }
  2402  
  2403  // String returns the string representation.
  2404  //
  2405  // API parameter values that are decorated as "sensitive" in the API will not
  2406  // be included in the string output. The member name will be present, but the
  2407  // value will be replaced with "sensitive".
  2408  func (s DeleteAlertManagerDefinitionInput) String() string {
  2409  	return awsutil.Prettify(s)
  2410  }
  2411  
  2412  // GoString returns the string representation.
  2413  //
  2414  // API parameter values that are decorated as "sensitive" in the API will not
  2415  // be included in the string output. The member name will be present, but the
  2416  // value will be replaced with "sensitive".
  2417  func (s DeleteAlertManagerDefinitionInput) GoString() string {
  2418  	return s.String()
  2419  }
  2420  
  2421  // Validate inspects the fields of the type to determine if they are valid.
  2422  func (s *DeleteAlertManagerDefinitionInput) Validate() error {
  2423  	invalidParams := request.ErrInvalidParams{Context: "DeleteAlertManagerDefinitionInput"}
  2424  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2425  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2426  	}
  2427  	if s.WorkspaceId == nil {
  2428  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2429  	}
  2430  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2431  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2432  	}
  2433  
  2434  	if invalidParams.Len() > 0 {
  2435  		return invalidParams
  2436  	}
  2437  	return nil
  2438  }
  2439  
  2440  // SetClientToken sets the ClientToken field's value.
  2441  func (s *DeleteAlertManagerDefinitionInput) SetClientToken(v string) *DeleteAlertManagerDefinitionInput {
  2442  	s.ClientToken = &v
  2443  	return s
  2444  }
  2445  
  2446  // SetWorkspaceId sets the WorkspaceId field's value.
  2447  func (s *DeleteAlertManagerDefinitionInput) SetWorkspaceId(v string) *DeleteAlertManagerDefinitionInput {
  2448  	s.WorkspaceId = &v
  2449  	return s
  2450  }
  2451  
  2452  type DeleteAlertManagerDefinitionOutput struct {
  2453  	_ struct{} `type:"structure" nopayload:"true"`
  2454  }
  2455  
  2456  // String returns the string representation.
  2457  //
  2458  // API parameter values that are decorated as "sensitive" in the API will not
  2459  // be included in the string output. The member name will be present, but the
  2460  // value will be replaced with "sensitive".
  2461  func (s DeleteAlertManagerDefinitionOutput) String() string {
  2462  	return awsutil.Prettify(s)
  2463  }
  2464  
  2465  // GoString returns the string representation.
  2466  //
  2467  // API parameter values that are decorated as "sensitive" in the API will not
  2468  // be included in the string output. The member name will be present, but the
  2469  // value will be replaced with "sensitive".
  2470  func (s DeleteAlertManagerDefinitionOutput) GoString() string {
  2471  	return s.String()
  2472  }
  2473  
  2474  // Represents the input of a DeleteRuleGroupsNamespace operation.
  2475  type DeleteRuleGroupsNamespaceInput struct {
  2476  	_ struct{} `type:"structure" nopayload:"true"`
  2477  
  2478  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  2479  	// idempotency of the request.
  2480  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2481  
  2482  	// The rule groups namespace name.
  2483  	//
  2484  	// Name is a required field
  2485  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  2486  
  2487  	// The ID of the workspace to delete rule group definition.
  2488  	//
  2489  	// WorkspaceId is a required field
  2490  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2491  }
  2492  
  2493  // String returns the string representation.
  2494  //
  2495  // API parameter values that are decorated as "sensitive" in the API will not
  2496  // be included in the string output. The member name will be present, but the
  2497  // value will be replaced with "sensitive".
  2498  func (s DeleteRuleGroupsNamespaceInput) String() string {
  2499  	return awsutil.Prettify(s)
  2500  }
  2501  
  2502  // GoString returns the string representation.
  2503  //
  2504  // API parameter values that are decorated as "sensitive" in the API will not
  2505  // be included in the string output. The member name will be present, but the
  2506  // value will be replaced with "sensitive".
  2507  func (s DeleteRuleGroupsNamespaceInput) GoString() string {
  2508  	return s.String()
  2509  }
  2510  
  2511  // Validate inspects the fields of the type to determine if they are valid.
  2512  func (s *DeleteRuleGroupsNamespaceInput) Validate() error {
  2513  	invalidParams := request.ErrInvalidParams{Context: "DeleteRuleGroupsNamespaceInput"}
  2514  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2515  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2516  	}
  2517  	if s.Name == nil {
  2518  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2519  	}
  2520  	if s.Name != nil && len(*s.Name) < 1 {
  2521  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2522  	}
  2523  	if s.WorkspaceId == nil {
  2524  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2525  	}
  2526  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2527  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2528  	}
  2529  
  2530  	if invalidParams.Len() > 0 {
  2531  		return invalidParams
  2532  	}
  2533  	return nil
  2534  }
  2535  
  2536  // SetClientToken sets the ClientToken field's value.
  2537  func (s *DeleteRuleGroupsNamespaceInput) SetClientToken(v string) *DeleteRuleGroupsNamespaceInput {
  2538  	s.ClientToken = &v
  2539  	return s
  2540  }
  2541  
  2542  // SetName sets the Name field's value.
  2543  func (s *DeleteRuleGroupsNamespaceInput) SetName(v string) *DeleteRuleGroupsNamespaceInput {
  2544  	s.Name = &v
  2545  	return s
  2546  }
  2547  
  2548  // SetWorkspaceId sets the WorkspaceId field's value.
  2549  func (s *DeleteRuleGroupsNamespaceInput) SetWorkspaceId(v string) *DeleteRuleGroupsNamespaceInput {
  2550  	s.WorkspaceId = &v
  2551  	return s
  2552  }
  2553  
  2554  type DeleteRuleGroupsNamespaceOutput struct {
  2555  	_ struct{} `type:"structure" nopayload:"true"`
  2556  }
  2557  
  2558  // String returns the string representation.
  2559  //
  2560  // API parameter values that are decorated as "sensitive" in the API will not
  2561  // be included in the string output. The member name will be present, but the
  2562  // value will be replaced with "sensitive".
  2563  func (s DeleteRuleGroupsNamespaceOutput) String() string {
  2564  	return awsutil.Prettify(s)
  2565  }
  2566  
  2567  // GoString returns the string representation.
  2568  //
  2569  // API parameter values that are decorated as "sensitive" in the API will not
  2570  // be included in the string output. The member name will be present, but the
  2571  // value will be replaced with "sensitive".
  2572  func (s DeleteRuleGroupsNamespaceOutput) GoString() string {
  2573  	return s.String()
  2574  }
  2575  
  2576  // Represents the input of a DeleteWorkspace operation.
  2577  type DeleteWorkspaceInput struct {
  2578  	_ struct{} `type:"structure" nopayload:"true"`
  2579  
  2580  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  2581  	// idempotency of the request.
  2582  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2583  
  2584  	// The ID of the workspace to delete.
  2585  	//
  2586  	// WorkspaceId is a required field
  2587  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2588  }
  2589  
  2590  // String returns the string representation.
  2591  //
  2592  // API parameter values that are decorated as "sensitive" in the API will not
  2593  // be included in the string output. The member name will be present, but the
  2594  // value will be replaced with "sensitive".
  2595  func (s DeleteWorkspaceInput) String() string {
  2596  	return awsutil.Prettify(s)
  2597  }
  2598  
  2599  // GoString returns the string representation.
  2600  //
  2601  // API parameter values that are decorated as "sensitive" in the API will not
  2602  // be included in the string output. The member name will be present, but the
  2603  // value will be replaced with "sensitive".
  2604  func (s DeleteWorkspaceInput) GoString() string {
  2605  	return s.String()
  2606  }
  2607  
  2608  // Validate inspects the fields of the type to determine if they are valid.
  2609  func (s *DeleteWorkspaceInput) Validate() error {
  2610  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkspaceInput"}
  2611  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2612  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2613  	}
  2614  	if s.WorkspaceId == nil {
  2615  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2616  	}
  2617  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2618  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2619  	}
  2620  
  2621  	if invalidParams.Len() > 0 {
  2622  		return invalidParams
  2623  	}
  2624  	return nil
  2625  }
  2626  
  2627  // SetClientToken sets the ClientToken field's value.
  2628  func (s *DeleteWorkspaceInput) SetClientToken(v string) *DeleteWorkspaceInput {
  2629  	s.ClientToken = &v
  2630  	return s
  2631  }
  2632  
  2633  // SetWorkspaceId sets the WorkspaceId field's value.
  2634  func (s *DeleteWorkspaceInput) SetWorkspaceId(v string) *DeleteWorkspaceInput {
  2635  	s.WorkspaceId = &v
  2636  	return s
  2637  }
  2638  
  2639  type DeleteWorkspaceOutput struct {
  2640  	_ struct{} `type:"structure" nopayload:"true"`
  2641  }
  2642  
  2643  // String returns the string representation.
  2644  //
  2645  // API parameter values that are decorated as "sensitive" in the API will not
  2646  // be included in the string output. The member name will be present, but the
  2647  // value will be replaced with "sensitive".
  2648  func (s DeleteWorkspaceOutput) String() string {
  2649  	return awsutil.Prettify(s)
  2650  }
  2651  
  2652  // GoString returns the string representation.
  2653  //
  2654  // API parameter values that are decorated as "sensitive" in the API will not
  2655  // be included in the string output. The member name will be present, but the
  2656  // value will be replaced with "sensitive".
  2657  func (s DeleteWorkspaceOutput) GoString() string {
  2658  	return s.String()
  2659  }
  2660  
  2661  // Represents the input of a DescribeAlertManagerDefinition operation.
  2662  type DescribeAlertManagerDefinitionInput struct {
  2663  	_ struct{} `type:"structure" nopayload:"true"`
  2664  
  2665  	// The ID of the workspace to describe.
  2666  	//
  2667  	// WorkspaceId is a required field
  2668  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2669  }
  2670  
  2671  // String returns the string representation.
  2672  //
  2673  // API parameter values that are decorated as "sensitive" in the API will not
  2674  // be included in the string output. The member name will be present, but the
  2675  // value will be replaced with "sensitive".
  2676  func (s DescribeAlertManagerDefinitionInput) String() string {
  2677  	return awsutil.Prettify(s)
  2678  }
  2679  
  2680  // GoString returns the string representation.
  2681  //
  2682  // API parameter values that are decorated as "sensitive" in the API will not
  2683  // be included in the string output. The member name will be present, but the
  2684  // value will be replaced with "sensitive".
  2685  func (s DescribeAlertManagerDefinitionInput) GoString() string {
  2686  	return s.String()
  2687  }
  2688  
  2689  // Validate inspects the fields of the type to determine if they are valid.
  2690  func (s *DescribeAlertManagerDefinitionInput) Validate() error {
  2691  	invalidParams := request.ErrInvalidParams{Context: "DescribeAlertManagerDefinitionInput"}
  2692  	if s.WorkspaceId == nil {
  2693  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2694  	}
  2695  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2696  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2697  	}
  2698  
  2699  	if invalidParams.Len() > 0 {
  2700  		return invalidParams
  2701  	}
  2702  	return nil
  2703  }
  2704  
  2705  // SetWorkspaceId sets the WorkspaceId field's value.
  2706  func (s *DescribeAlertManagerDefinitionInput) SetWorkspaceId(v string) *DescribeAlertManagerDefinitionInput {
  2707  	s.WorkspaceId = &v
  2708  	return s
  2709  }
  2710  
  2711  // Represents the output of a DescribeAlertManagerDefinition operation.
  2712  type DescribeAlertManagerDefinitionOutput struct {
  2713  	_ struct{} `type:"structure"`
  2714  
  2715  	// The properties of the selected workspace's alert manager definition.
  2716  	//
  2717  	// AlertManagerDefinition is a required field
  2718  	AlertManagerDefinition *AlertManagerDefinitionDescription `locationName:"alertManagerDefinition" type:"structure" required:"true"`
  2719  }
  2720  
  2721  // String returns the string representation.
  2722  //
  2723  // API parameter values that are decorated as "sensitive" in the API will not
  2724  // be included in the string output. The member name will be present, but the
  2725  // value will be replaced with "sensitive".
  2726  func (s DescribeAlertManagerDefinitionOutput) String() string {
  2727  	return awsutil.Prettify(s)
  2728  }
  2729  
  2730  // GoString returns the string representation.
  2731  //
  2732  // API parameter values that are decorated as "sensitive" in the API will not
  2733  // be included in the string output. The member name will be present, but the
  2734  // value will be replaced with "sensitive".
  2735  func (s DescribeAlertManagerDefinitionOutput) GoString() string {
  2736  	return s.String()
  2737  }
  2738  
  2739  // SetAlertManagerDefinition sets the AlertManagerDefinition field's value.
  2740  func (s *DescribeAlertManagerDefinitionOutput) SetAlertManagerDefinition(v *AlertManagerDefinitionDescription) *DescribeAlertManagerDefinitionOutput {
  2741  	s.AlertManagerDefinition = v
  2742  	return s
  2743  }
  2744  
  2745  // Represents the input of a DescribeRuleGroupsNamespace operation.
  2746  type DescribeRuleGroupsNamespaceInput struct {
  2747  	_ struct{} `type:"structure" nopayload:"true"`
  2748  
  2749  	// The rule groups namespace.
  2750  	//
  2751  	// Name is a required field
  2752  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  2753  
  2754  	// The ID of the workspace to describe.
  2755  	//
  2756  	// WorkspaceId is a required field
  2757  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  2758  }
  2759  
  2760  // String returns the string representation.
  2761  //
  2762  // API parameter values that are decorated as "sensitive" in the API will not
  2763  // be included in the string output. The member name will be present, but the
  2764  // value will be replaced with "sensitive".
  2765  func (s DescribeRuleGroupsNamespaceInput) String() string {
  2766  	return awsutil.Prettify(s)
  2767  }
  2768  
  2769  // GoString returns the string representation.
  2770  //
  2771  // API parameter values that are decorated as "sensitive" in the API will not
  2772  // be included in the string output. The member name will be present, but the
  2773  // value will be replaced with "sensitive".
  2774  func (s DescribeRuleGroupsNamespaceInput) GoString() string {
  2775  	return s.String()
  2776  }
  2777  
  2778  // Validate inspects the fields of the type to determine if they are valid.
  2779  func (s *DescribeRuleGroupsNamespaceInput) Validate() error {
  2780  	invalidParams := request.ErrInvalidParams{Context: "DescribeRuleGroupsNamespaceInput"}
  2781  	if s.Name == nil {
  2782  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2783  	}
  2784  	if s.Name != nil && len(*s.Name) < 1 {
  2785  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2786  	}
  2787  	if s.WorkspaceId == nil {
  2788  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2789  	}
  2790  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2791  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2792  	}
  2793  
  2794  	if invalidParams.Len() > 0 {
  2795  		return invalidParams
  2796  	}
  2797  	return nil
  2798  }
  2799  
  2800  // SetName sets the Name field's value.
  2801  func (s *DescribeRuleGroupsNamespaceInput) SetName(v string) *DescribeRuleGroupsNamespaceInput {
  2802  	s.Name = &v
  2803  	return s
  2804  }
  2805  
  2806  // SetWorkspaceId sets the WorkspaceId field's value.
  2807  func (s *DescribeRuleGroupsNamespaceInput) SetWorkspaceId(v string) *DescribeRuleGroupsNamespaceInput {
  2808  	s.WorkspaceId = &v
  2809  	return s
  2810  }
  2811  
  2812  // Represents the output of a DescribeRuleGroupsNamespace operation.
  2813  type DescribeRuleGroupsNamespaceOutput struct {
  2814  	_ struct{} `type:"structure"`
  2815  
  2816  	// The selected rule groups namespace.
  2817  	//
  2818  	// RuleGroupsNamespace is a required field
  2819  	RuleGroupsNamespace *RuleGroupsNamespaceDescription `locationName:"ruleGroupsNamespace" type:"structure" required:"true"`
  2820  }
  2821  
  2822  // String returns the string representation.
  2823  //
  2824  // API parameter values that are decorated as "sensitive" in the API will not
  2825  // be included in the string output. The member name will be present, but the
  2826  // value will be replaced with "sensitive".
  2827  func (s DescribeRuleGroupsNamespaceOutput) String() string {
  2828  	return awsutil.Prettify(s)
  2829  }
  2830  
  2831  // GoString returns the string representation.
  2832  //
  2833  // API parameter values that are decorated as "sensitive" in the API will not
  2834  // be included in the string output. The member name will be present, but the
  2835  // value will be replaced with "sensitive".
  2836  func (s DescribeRuleGroupsNamespaceOutput) GoString() string {
  2837  	return s.String()
  2838  }
  2839  
  2840  // SetRuleGroupsNamespace sets the RuleGroupsNamespace field's value.
  2841  func (s *DescribeRuleGroupsNamespaceOutput) SetRuleGroupsNamespace(v *RuleGroupsNamespaceDescription) *DescribeRuleGroupsNamespaceOutput {
  2842  	s.RuleGroupsNamespace = v
  2843  	return s
  2844  }
  2845  
  2846  // Represents the input of a DescribeWorkspace operation.
  2847  type DescribeWorkspaceInput struct {
  2848  	_ struct{} `type:"structure" nopayload:"true"`
  2849  
  2850  	// The ID of the workspace to describe.
  2851  	//
  2852  	// WorkspaceId is a required field
  2853  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" 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 DescribeWorkspaceInput) 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 DescribeWorkspaceInput) GoString() string {
  2871  	return s.String()
  2872  }
  2873  
  2874  // Validate inspects the fields of the type to determine if they are valid.
  2875  func (s *DescribeWorkspaceInput) Validate() error {
  2876  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceInput"}
  2877  	if s.WorkspaceId == nil {
  2878  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  2879  	}
  2880  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  2881  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  2882  	}
  2883  
  2884  	if invalidParams.Len() > 0 {
  2885  		return invalidParams
  2886  	}
  2887  	return nil
  2888  }
  2889  
  2890  // SetWorkspaceId sets the WorkspaceId field's value.
  2891  func (s *DescribeWorkspaceInput) SetWorkspaceId(v string) *DescribeWorkspaceInput {
  2892  	s.WorkspaceId = &v
  2893  	return s
  2894  }
  2895  
  2896  // Represents the output of a DescribeWorkspace operation.
  2897  type DescribeWorkspaceOutput struct {
  2898  	_ struct{} `type:"structure"`
  2899  
  2900  	// The properties of the selected workspace.
  2901  	//
  2902  	// Workspace is a required field
  2903  	Workspace *WorkspaceDescription `locationName:"workspace" type:"structure" required:"true"`
  2904  }
  2905  
  2906  // String 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 DescribeWorkspaceOutput) String() string {
  2912  	return awsutil.Prettify(s)
  2913  }
  2914  
  2915  // GoString returns the string representation.
  2916  //
  2917  // API parameter values that are decorated as "sensitive" in the API will not
  2918  // be included in the string output. The member name will be present, but the
  2919  // value will be replaced with "sensitive".
  2920  func (s DescribeWorkspaceOutput) GoString() string {
  2921  	return s.String()
  2922  }
  2923  
  2924  // SetWorkspace sets the Workspace field's value.
  2925  func (s *DescribeWorkspaceOutput) SetWorkspace(v *WorkspaceDescription) *DescribeWorkspaceOutput {
  2926  	s.Workspace = v
  2927  	return s
  2928  }
  2929  
  2930  // Unexpected error during processing of request.
  2931  type InternalServerException struct {
  2932  	_            struct{}                  `type:"structure"`
  2933  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2934  
  2935  	// Description of the error.
  2936  	Message_ *string `locationName:"message" type:"string"`
  2937  
  2938  	// Advice to clients on when the call can be safely retried.
  2939  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  2940  }
  2941  
  2942  // String returns the string representation.
  2943  //
  2944  // API parameter values that are decorated as "sensitive" in the API will not
  2945  // be included in the string output. The member name will be present, but the
  2946  // value will be replaced with "sensitive".
  2947  func (s InternalServerException) String() string {
  2948  	return awsutil.Prettify(s)
  2949  }
  2950  
  2951  // GoString returns the string representation.
  2952  //
  2953  // API parameter values that are decorated as "sensitive" in the API will not
  2954  // be included in the string output. The member name will be present, but the
  2955  // value will be replaced with "sensitive".
  2956  func (s InternalServerException) GoString() string {
  2957  	return s.String()
  2958  }
  2959  
  2960  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  2961  	return &InternalServerException{
  2962  		RespMetadata: v,
  2963  	}
  2964  }
  2965  
  2966  // Code returns the exception type name.
  2967  func (s *InternalServerException) Code() string {
  2968  	return "InternalServerException"
  2969  }
  2970  
  2971  // Message returns the exception's message.
  2972  func (s *InternalServerException) Message() string {
  2973  	if s.Message_ != nil {
  2974  		return *s.Message_
  2975  	}
  2976  	return ""
  2977  }
  2978  
  2979  // OrigErr always returns nil, satisfies awserr.Error interface.
  2980  func (s *InternalServerException) OrigErr() error {
  2981  	return nil
  2982  }
  2983  
  2984  func (s *InternalServerException) Error() string {
  2985  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  2986  }
  2987  
  2988  // Status code returns the HTTP status code for the request's response error.
  2989  func (s *InternalServerException) StatusCode() int {
  2990  	return s.RespMetadata.StatusCode
  2991  }
  2992  
  2993  // RequestID returns the service's response RequestID for request.
  2994  func (s *InternalServerException) RequestID() string {
  2995  	return s.RespMetadata.RequestID
  2996  }
  2997  
  2998  // Represents the input of a ListRuleGroupsNamespaces operation.
  2999  type ListRuleGroupsNamespacesInput struct {
  3000  	_ struct{} `type:"structure" nopayload:"true"`
  3001  
  3002  	// Maximum results to return in response (default=100, maximum=1000).
  3003  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  3004  
  3005  	// Optional filter for rule groups namespace name. Only the rule groups namespace
  3006  	// that begin with this value will be returned.
  3007  	Name *string `location:"querystring" locationName:"name" min:"1" type:"string"`
  3008  
  3009  	// Pagination token to request the next page in a paginated list. This token
  3010  	// is obtained from the output of the previous ListRuleGroupsNamespaces request.
  3011  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3012  
  3013  	// The ID of the workspace.
  3014  	//
  3015  	// WorkspaceId is a required field
  3016  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  3017  }
  3018  
  3019  // String returns the string representation.
  3020  //
  3021  // API parameter values that are decorated as "sensitive" in the API will not
  3022  // be included in the string output. The member name will be present, but the
  3023  // value will be replaced with "sensitive".
  3024  func (s ListRuleGroupsNamespacesInput) String() string {
  3025  	return awsutil.Prettify(s)
  3026  }
  3027  
  3028  // GoString returns the string representation.
  3029  //
  3030  // API parameter values that are decorated as "sensitive" in the API will not
  3031  // be included in the string output. The member name will be present, but the
  3032  // value will be replaced with "sensitive".
  3033  func (s ListRuleGroupsNamespacesInput) GoString() string {
  3034  	return s.String()
  3035  }
  3036  
  3037  // Validate inspects the fields of the type to determine if they are valid.
  3038  func (s *ListRuleGroupsNamespacesInput) Validate() error {
  3039  	invalidParams := request.ErrInvalidParams{Context: "ListRuleGroupsNamespacesInput"}
  3040  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3041  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3042  	}
  3043  	if s.Name != nil && len(*s.Name) < 1 {
  3044  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3045  	}
  3046  	if s.WorkspaceId == nil {
  3047  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  3048  	}
  3049  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  3050  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  3051  	}
  3052  
  3053  	if invalidParams.Len() > 0 {
  3054  		return invalidParams
  3055  	}
  3056  	return nil
  3057  }
  3058  
  3059  // SetMaxResults sets the MaxResults field's value.
  3060  func (s *ListRuleGroupsNamespacesInput) SetMaxResults(v int64) *ListRuleGroupsNamespacesInput {
  3061  	s.MaxResults = &v
  3062  	return s
  3063  }
  3064  
  3065  // SetName sets the Name field's value.
  3066  func (s *ListRuleGroupsNamespacesInput) SetName(v string) *ListRuleGroupsNamespacesInput {
  3067  	s.Name = &v
  3068  	return s
  3069  }
  3070  
  3071  // SetNextToken sets the NextToken field's value.
  3072  func (s *ListRuleGroupsNamespacesInput) SetNextToken(v string) *ListRuleGroupsNamespacesInput {
  3073  	s.NextToken = &v
  3074  	return s
  3075  }
  3076  
  3077  // SetWorkspaceId sets the WorkspaceId field's value.
  3078  func (s *ListRuleGroupsNamespacesInput) SetWorkspaceId(v string) *ListRuleGroupsNamespacesInput {
  3079  	s.WorkspaceId = &v
  3080  	return s
  3081  }
  3082  
  3083  // Represents the output of a ListRuleGroupsNamespaces operation.
  3084  type ListRuleGroupsNamespacesOutput struct {
  3085  	_ struct{} `type:"structure"`
  3086  
  3087  	// Pagination token to use when requesting the next page in this list.
  3088  	NextToken *string `locationName:"nextToken" type:"string"`
  3089  
  3090  	// The list of the selected rule groups namespaces.
  3091  	//
  3092  	// RuleGroupsNamespaces is a required field
  3093  	RuleGroupsNamespaces []*RuleGroupsNamespaceSummary `locationName:"ruleGroupsNamespaces" type:"list" required:"true"`
  3094  }
  3095  
  3096  // String returns the string representation.
  3097  //
  3098  // API parameter values that are decorated as "sensitive" in the API will not
  3099  // be included in the string output. The member name will be present, but the
  3100  // value will be replaced with "sensitive".
  3101  func (s ListRuleGroupsNamespacesOutput) String() string {
  3102  	return awsutil.Prettify(s)
  3103  }
  3104  
  3105  // GoString returns the string representation.
  3106  //
  3107  // API parameter values that are decorated as "sensitive" in the API will not
  3108  // be included in the string output. The member name will be present, but the
  3109  // value will be replaced with "sensitive".
  3110  func (s ListRuleGroupsNamespacesOutput) GoString() string {
  3111  	return s.String()
  3112  }
  3113  
  3114  // SetNextToken sets the NextToken field's value.
  3115  func (s *ListRuleGroupsNamespacesOutput) SetNextToken(v string) *ListRuleGroupsNamespacesOutput {
  3116  	s.NextToken = &v
  3117  	return s
  3118  }
  3119  
  3120  // SetRuleGroupsNamespaces sets the RuleGroupsNamespaces field's value.
  3121  func (s *ListRuleGroupsNamespacesOutput) SetRuleGroupsNamespaces(v []*RuleGroupsNamespaceSummary) *ListRuleGroupsNamespacesOutput {
  3122  	s.RuleGroupsNamespaces = v
  3123  	return s
  3124  }
  3125  
  3126  type ListTagsForResourceInput struct {
  3127  	_ struct{} `type:"structure" nopayload:"true"`
  3128  
  3129  	// The ARN of the resource.
  3130  	//
  3131  	// ResourceArn is a required field
  3132  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  3133  }
  3134  
  3135  // String returns the string representation.
  3136  //
  3137  // API parameter values that are decorated as "sensitive" in the API will not
  3138  // be included in the string output. The member name will be present, but the
  3139  // value will be replaced with "sensitive".
  3140  func (s ListTagsForResourceInput) String() string {
  3141  	return awsutil.Prettify(s)
  3142  }
  3143  
  3144  // GoString returns the string representation.
  3145  //
  3146  // API parameter values that are decorated as "sensitive" in the API will not
  3147  // be included in the string output. The member name will be present, but the
  3148  // value will be replaced with "sensitive".
  3149  func (s ListTagsForResourceInput) GoString() string {
  3150  	return s.String()
  3151  }
  3152  
  3153  // Validate inspects the fields of the type to determine if they are valid.
  3154  func (s *ListTagsForResourceInput) Validate() error {
  3155  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3156  	if s.ResourceArn == nil {
  3157  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3158  	}
  3159  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  3160  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  3161  	}
  3162  
  3163  	if invalidParams.Len() > 0 {
  3164  		return invalidParams
  3165  	}
  3166  	return nil
  3167  }
  3168  
  3169  // SetResourceArn sets the ResourceArn field's value.
  3170  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  3171  	s.ResourceArn = &v
  3172  	return s
  3173  }
  3174  
  3175  type ListTagsForResourceOutput struct {
  3176  	_ struct{} `type:"structure"`
  3177  
  3178  	// The list of tags assigned to the resource.
  3179  	Tags map[string]*string `locationName:"tags" type:"map"`
  3180  }
  3181  
  3182  // String returns the string representation.
  3183  //
  3184  // API parameter values that are decorated as "sensitive" in the API will not
  3185  // be included in the string output. The member name will be present, but the
  3186  // value will be replaced with "sensitive".
  3187  func (s ListTagsForResourceOutput) String() string {
  3188  	return awsutil.Prettify(s)
  3189  }
  3190  
  3191  // GoString returns the string representation.
  3192  //
  3193  // API parameter values that are decorated as "sensitive" in the API will not
  3194  // be included in the string output. The member name will be present, but the
  3195  // value will be replaced with "sensitive".
  3196  func (s ListTagsForResourceOutput) GoString() string {
  3197  	return s.String()
  3198  }
  3199  
  3200  // SetTags sets the Tags field's value.
  3201  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  3202  	s.Tags = v
  3203  	return s
  3204  }
  3205  
  3206  // Represents the input of a ListWorkspaces operation.
  3207  type ListWorkspacesInput struct {
  3208  	_ struct{} `type:"structure" nopayload:"true"`
  3209  
  3210  	// Optional filter for workspace alias. Only the workspaces with aliases that
  3211  	// begin with this value will be returned.
  3212  	Alias *string `location:"querystring" locationName:"alias" min:"1" type:"string"`
  3213  
  3214  	// Maximum results to return in response (default=100, maximum=1000).
  3215  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  3216  
  3217  	// Pagination token to request the next page in a paginated list. This token
  3218  	// is obtained from the output of the previous ListWorkspaces request.
  3219  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3220  }
  3221  
  3222  // String returns the string representation.
  3223  //
  3224  // API parameter values that are decorated as "sensitive" in the API will not
  3225  // be included in the string output. The member name will be present, but the
  3226  // value will be replaced with "sensitive".
  3227  func (s ListWorkspacesInput) String() string {
  3228  	return awsutil.Prettify(s)
  3229  }
  3230  
  3231  // GoString returns the string representation.
  3232  //
  3233  // API parameter values that are decorated as "sensitive" in the API will not
  3234  // be included in the string output. The member name will be present, but the
  3235  // value will be replaced with "sensitive".
  3236  func (s ListWorkspacesInput) GoString() string {
  3237  	return s.String()
  3238  }
  3239  
  3240  // Validate inspects the fields of the type to determine if they are valid.
  3241  func (s *ListWorkspacesInput) Validate() error {
  3242  	invalidParams := request.ErrInvalidParams{Context: "ListWorkspacesInput"}
  3243  	if s.Alias != nil && len(*s.Alias) < 1 {
  3244  		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
  3245  	}
  3246  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3247  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3248  	}
  3249  
  3250  	if invalidParams.Len() > 0 {
  3251  		return invalidParams
  3252  	}
  3253  	return nil
  3254  }
  3255  
  3256  // SetAlias sets the Alias field's value.
  3257  func (s *ListWorkspacesInput) SetAlias(v string) *ListWorkspacesInput {
  3258  	s.Alias = &v
  3259  	return s
  3260  }
  3261  
  3262  // SetMaxResults sets the MaxResults field's value.
  3263  func (s *ListWorkspacesInput) SetMaxResults(v int64) *ListWorkspacesInput {
  3264  	s.MaxResults = &v
  3265  	return s
  3266  }
  3267  
  3268  // SetNextToken sets the NextToken field's value.
  3269  func (s *ListWorkspacesInput) SetNextToken(v string) *ListWorkspacesInput {
  3270  	s.NextToken = &v
  3271  	return s
  3272  }
  3273  
  3274  // Represents the output of a ListWorkspaces operation.
  3275  type ListWorkspacesOutput struct {
  3276  	_ struct{} `type:"structure"`
  3277  
  3278  	// Pagination token to use when requesting the next page in this list.
  3279  	NextToken *string `locationName:"nextToken" type:"string"`
  3280  
  3281  	// The list of existing workspaces, including those undergoing creation or deletion.
  3282  	//
  3283  	// Workspaces is a required field
  3284  	Workspaces []*WorkspaceSummary `locationName:"workspaces" type:"list" required:"true"`
  3285  }
  3286  
  3287  // String returns the string representation.
  3288  //
  3289  // API parameter values that are decorated as "sensitive" in the API will not
  3290  // be included in the string output. The member name will be present, but the
  3291  // value will be replaced with "sensitive".
  3292  func (s ListWorkspacesOutput) String() string {
  3293  	return awsutil.Prettify(s)
  3294  }
  3295  
  3296  // GoString returns the string representation.
  3297  //
  3298  // API parameter values that are decorated as "sensitive" in the API will not
  3299  // be included in the string output. The member name will be present, but the
  3300  // value will be replaced with "sensitive".
  3301  func (s ListWorkspacesOutput) GoString() string {
  3302  	return s.String()
  3303  }
  3304  
  3305  // SetNextToken sets the NextToken field's value.
  3306  func (s *ListWorkspacesOutput) SetNextToken(v string) *ListWorkspacesOutput {
  3307  	s.NextToken = &v
  3308  	return s
  3309  }
  3310  
  3311  // SetWorkspaces sets the Workspaces field's value.
  3312  func (s *ListWorkspacesOutput) SetWorkspaces(v []*WorkspaceSummary) *ListWorkspacesOutput {
  3313  	s.Workspaces = v
  3314  	return s
  3315  }
  3316  
  3317  // Represents the input of a PutAlertManagerDefinition operation.
  3318  type PutAlertManagerDefinitionInput struct {
  3319  	_ struct{} `type:"structure"`
  3320  
  3321  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  3322  	// idempotency of the request.
  3323  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  3324  
  3325  	// The alert manager definition data.
  3326  	// Data is automatically base64 encoded/decoded by the SDK.
  3327  	//
  3328  	// Data is a required field
  3329  	Data []byte `locationName:"data" type:"blob" required:"true"`
  3330  
  3331  	// The ID of the workspace in which to update the alert manager definition.
  3332  	//
  3333  	// WorkspaceId is a required field
  3334  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  3335  }
  3336  
  3337  // String returns the string representation.
  3338  //
  3339  // API parameter values that are decorated as "sensitive" in the API will not
  3340  // be included in the string output. The member name will be present, but the
  3341  // value will be replaced with "sensitive".
  3342  func (s PutAlertManagerDefinitionInput) String() string {
  3343  	return awsutil.Prettify(s)
  3344  }
  3345  
  3346  // GoString returns the string representation.
  3347  //
  3348  // API parameter values that are decorated as "sensitive" in the API will not
  3349  // be included in the string output. The member name will be present, but the
  3350  // value will be replaced with "sensitive".
  3351  func (s PutAlertManagerDefinitionInput) GoString() string {
  3352  	return s.String()
  3353  }
  3354  
  3355  // Validate inspects the fields of the type to determine if they are valid.
  3356  func (s *PutAlertManagerDefinitionInput) Validate() error {
  3357  	invalidParams := request.ErrInvalidParams{Context: "PutAlertManagerDefinitionInput"}
  3358  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3359  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3360  	}
  3361  	if s.Data == nil {
  3362  		invalidParams.Add(request.NewErrParamRequired("Data"))
  3363  	}
  3364  	if s.WorkspaceId == nil {
  3365  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  3366  	}
  3367  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  3368  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  3369  	}
  3370  
  3371  	if invalidParams.Len() > 0 {
  3372  		return invalidParams
  3373  	}
  3374  	return nil
  3375  }
  3376  
  3377  // SetClientToken sets the ClientToken field's value.
  3378  func (s *PutAlertManagerDefinitionInput) SetClientToken(v string) *PutAlertManagerDefinitionInput {
  3379  	s.ClientToken = &v
  3380  	return s
  3381  }
  3382  
  3383  // SetData sets the Data field's value.
  3384  func (s *PutAlertManagerDefinitionInput) SetData(v []byte) *PutAlertManagerDefinitionInput {
  3385  	s.Data = v
  3386  	return s
  3387  }
  3388  
  3389  // SetWorkspaceId sets the WorkspaceId field's value.
  3390  func (s *PutAlertManagerDefinitionInput) SetWorkspaceId(v string) *PutAlertManagerDefinitionInput {
  3391  	s.WorkspaceId = &v
  3392  	return s
  3393  }
  3394  
  3395  // Represents the output of a PutAlertManagerDefinition operation.
  3396  type PutAlertManagerDefinitionOutput struct {
  3397  	_ struct{} `type:"structure"`
  3398  
  3399  	// The status of alert manager definition.
  3400  	//
  3401  	// Status is a required field
  3402  	Status *AlertManagerDefinitionStatus `locationName:"status" type:"structure" required:"true"`
  3403  }
  3404  
  3405  // String returns the string representation.
  3406  //
  3407  // API parameter values that are decorated as "sensitive" in the API will not
  3408  // be included in the string output. The member name will be present, but the
  3409  // value will be replaced with "sensitive".
  3410  func (s PutAlertManagerDefinitionOutput) String() string {
  3411  	return awsutil.Prettify(s)
  3412  }
  3413  
  3414  // GoString returns the string representation.
  3415  //
  3416  // API parameter values that are decorated as "sensitive" in the API will not
  3417  // be included in the string output. The member name will be present, but the
  3418  // value will be replaced with "sensitive".
  3419  func (s PutAlertManagerDefinitionOutput) GoString() string {
  3420  	return s.String()
  3421  }
  3422  
  3423  // SetStatus sets the Status field's value.
  3424  func (s *PutAlertManagerDefinitionOutput) SetStatus(v *AlertManagerDefinitionStatus) *PutAlertManagerDefinitionOutput {
  3425  	s.Status = v
  3426  	return s
  3427  }
  3428  
  3429  // Represents the input of a PutRuleGroupsNamespace operation.
  3430  type PutRuleGroupsNamespaceInput struct {
  3431  	_ struct{} `type:"structure"`
  3432  
  3433  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  3434  	// idempotency of the request.
  3435  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  3436  
  3437  	// The namespace data that define the rule groups.
  3438  	// Data is automatically base64 encoded/decoded by the SDK.
  3439  	//
  3440  	// Data is a required field
  3441  	Data []byte `locationName:"data" type:"blob" required:"true"`
  3442  
  3443  	// The rule groups namespace name.
  3444  	//
  3445  	// Name is a required field
  3446  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  3447  
  3448  	// The ID of the workspace in which to update the rule group namespace.
  3449  	//
  3450  	// WorkspaceId is a required field
  3451  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  3452  }
  3453  
  3454  // String returns the string representation.
  3455  //
  3456  // API parameter values that are decorated as "sensitive" in the API will not
  3457  // be included in the string output. The member name will be present, but the
  3458  // value will be replaced with "sensitive".
  3459  func (s PutRuleGroupsNamespaceInput) String() string {
  3460  	return awsutil.Prettify(s)
  3461  }
  3462  
  3463  // GoString returns the string representation.
  3464  //
  3465  // API parameter values that are decorated as "sensitive" in the API will not
  3466  // be included in the string output. The member name will be present, but the
  3467  // value will be replaced with "sensitive".
  3468  func (s PutRuleGroupsNamespaceInput) GoString() string {
  3469  	return s.String()
  3470  }
  3471  
  3472  // Validate inspects the fields of the type to determine if they are valid.
  3473  func (s *PutRuleGroupsNamespaceInput) Validate() error {
  3474  	invalidParams := request.ErrInvalidParams{Context: "PutRuleGroupsNamespaceInput"}
  3475  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3476  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3477  	}
  3478  	if s.Data == nil {
  3479  		invalidParams.Add(request.NewErrParamRequired("Data"))
  3480  	}
  3481  	if s.Name == nil {
  3482  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3483  	}
  3484  	if s.Name != nil && len(*s.Name) < 1 {
  3485  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3486  	}
  3487  	if s.WorkspaceId == nil {
  3488  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  3489  	}
  3490  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  3491  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  3492  	}
  3493  
  3494  	if invalidParams.Len() > 0 {
  3495  		return invalidParams
  3496  	}
  3497  	return nil
  3498  }
  3499  
  3500  // SetClientToken sets the ClientToken field's value.
  3501  func (s *PutRuleGroupsNamespaceInput) SetClientToken(v string) *PutRuleGroupsNamespaceInput {
  3502  	s.ClientToken = &v
  3503  	return s
  3504  }
  3505  
  3506  // SetData sets the Data field's value.
  3507  func (s *PutRuleGroupsNamespaceInput) SetData(v []byte) *PutRuleGroupsNamespaceInput {
  3508  	s.Data = v
  3509  	return s
  3510  }
  3511  
  3512  // SetName sets the Name field's value.
  3513  func (s *PutRuleGroupsNamespaceInput) SetName(v string) *PutRuleGroupsNamespaceInput {
  3514  	s.Name = &v
  3515  	return s
  3516  }
  3517  
  3518  // SetWorkspaceId sets the WorkspaceId field's value.
  3519  func (s *PutRuleGroupsNamespaceInput) SetWorkspaceId(v string) *PutRuleGroupsNamespaceInput {
  3520  	s.WorkspaceId = &v
  3521  	return s
  3522  }
  3523  
  3524  // Represents the output of a PutRuleGroupsNamespace operation.
  3525  type PutRuleGroupsNamespaceOutput struct {
  3526  	_ struct{} `type:"structure"`
  3527  
  3528  	// The Amazon Resource Name (ARN) of this rule groups namespace.
  3529  	//
  3530  	// Arn is a required field
  3531  	Arn *string `locationName:"arn" type:"string" required:"true"`
  3532  
  3533  	// The rule groups namespace name.
  3534  	//
  3535  	// Name is a required field
  3536  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3537  
  3538  	// The status of rule groups namespace.
  3539  	//
  3540  	// Status is a required field
  3541  	Status *RuleGroupsNamespaceStatus `locationName:"status" type:"structure" required:"true"`
  3542  
  3543  	// The tags of this rule groups namespace.
  3544  	Tags map[string]*string `locationName:"tags" type:"map"`
  3545  }
  3546  
  3547  // String returns the string representation.
  3548  //
  3549  // API parameter values that are decorated as "sensitive" in the API will not
  3550  // be included in the string output. The member name will be present, but the
  3551  // value will be replaced with "sensitive".
  3552  func (s PutRuleGroupsNamespaceOutput) String() string {
  3553  	return awsutil.Prettify(s)
  3554  }
  3555  
  3556  // GoString returns the string representation.
  3557  //
  3558  // API parameter values that are decorated as "sensitive" in the API will not
  3559  // be included in the string output. The member name will be present, but the
  3560  // value will be replaced with "sensitive".
  3561  func (s PutRuleGroupsNamespaceOutput) GoString() string {
  3562  	return s.String()
  3563  }
  3564  
  3565  // SetArn sets the Arn field's value.
  3566  func (s *PutRuleGroupsNamespaceOutput) SetArn(v string) *PutRuleGroupsNamespaceOutput {
  3567  	s.Arn = &v
  3568  	return s
  3569  }
  3570  
  3571  // SetName sets the Name field's value.
  3572  func (s *PutRuleGroupsNamespaceOutput) SetName(v string) *PutRuleGroupsNamespaceOutput {
  3573  	s.Name = &v
  3574  	return s
  3575  }
  3576  
  3577  // SetStatus sets the Status field's value.
  3578  func (s *PutRuleGroupsNamespaceOutput) SetStatus(v *RuleGroupsNamespaceStatus) *PutRuleGroupsNamespaceOutput {
  3579  	s.Status = v
  3580  	return s
  3581  }
  3582  
  3583  // SetTags sets the Tags field's value.
  3584  func (s *PutRuleGroupsNamespaceOutput) SetTags(v map[string]*string) *PutRuleGroupsNamespaceOutput {
  3585  	s.Tags = v
  3586  	return s
  3587  }
  3588  
  3589  // Request references a resource which does not exist.
  3590  type ResourceNotFoundException struct {
  3591  	_            struct{}                  `type:"structure"`
  3592  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3593  
  3594  	// Description of the error.
  3595  	Message_ *string `locationName:"message" type:"string"`
  3596  
  3597  	// Identifier of the resource affected.
  3598  	//
  3599  	// ResourceId is a required field
  3600  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  3601  
  3602  	// Type of the resource affected.
  3603  	//
  3604  	// ResourceType is a required field
  3605  	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
  3606  }
  3607  
  3608  // String returns the string representation.
  3609  //
  3610  // API parameter values that are decorated as "sensitive" in the API will not
  3611  // be included in the string output. The member name will be present, but the
  3612  // value will be replaced with "sensitive".
  3613  func (s ResourceNotFoundException) String() string {
  3614  	return awsutil.Prettify(s)
  3615  }
  3616  
  3617  // GoString returns the string representation.
  3618  //
  3619  // API parameter values that are decorated as "sensitive" in the API will not
  3620  // be included in the string output. The member name will be present, but the
  3621  // value will be replaced with "sensitive".
  3622  func (s ResourceNotFoundException) GoString() string {
  3623  	return s.String()
  3624  }
  3625  
  3626  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3627  	return &ResourceNotFoundException{
  3628  		RespMetadata: v,
  3629  	}
  3630  }
  3631  
  3632  // Code returns the exception type name.
  3633  func (s *ResourceNotFoundException) Code() string {
  3634  	return "ResourceNotFoundException"
  3635  }
  3636  
  3637  // Message returns the exception's message.
  3638  func (s *ResourceNotFoundException) Message() string {
  3639  	if s.Message_ != nil {
  3640  		return *s.Message_
  3641  	}
  3642  	return ""
  3643  }
  3644  
  3645  // OrigErr always returns nil, satisfies awserr.Error interface.
  3646  func (s *ResourceNotFoundException) OrigErr() error {
  3647  	return nil
  3648  }
  3649  
  3650  func (s *ResourceNotFoundException) Error() string {
  3651  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3652  }
  3653  
  3654  // Status code returns the HTTP status code for the request's response error.
  3655  func (s *ResourceNotFoundException) StatusCode() int {
  3656  	return s.RespMetadata.StatusCode
  3657  }
  3658  
  3659  // RequestID returns the service's response RequestID for request.
  3660  func (s *ResourceNotFoundException) RequestID() string {
  3661  	return s.RespMetadata.RequestID
  3662  }
  3663  
  3664  // Represents a description of the rule groups namespace.
  3665  type RuleGroupsNamespaceDescription struct {
  3666  	_ struct{} `type:"structure"`
  3667  
  3668  	// The Amazon Resource Name (ARN) of this rule groups namespace.
  3669  	//
  3670  	// Arn is a required field
  3671  	Arn *string `locationName:"arn" type:"string" required:"true"`
  3672  
  3673  	// The time when the rule groups namespace was created.
  3674  	//
  3675  	// CreatedAt is a required field
  3676  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  3677  
  3678  	// The rule groups namespace data.
  3679  	// Data is automatically base64 encoded/decoded by the SDK.
  3680  	//
  3681  	// Data is a required field
  3682  	Data []byte `locationName:"data" type:"blob" required:"true"`
  3683  
  3684  	// The time when the rule groups namespace was modified.
  3685  	//
  3686  	// ModifiedAt is a required field
  3687  	ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp" required:"true"`
  3688  
  3689  	// The rule groups namespace name.
  3690  	//
  3691  	// Name is a required field
  3692  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3693  
  3694  	// The status of rule groups namespace.
  3695  	//
  3696  	// Status is a required field
  3697  	Status *RuleGroupsNamespaceStatus `locationName:"status" type:"structure" required:"true"`
  3698  
  3699  	// The tags of this rule groups namespace.
  3700  	Tags map[string]*string `locationName:"tags" type:"map"`
  3701  }
  3702  
  3703  // String returns the string representation.
  3704  //
  3705  // API parameter values that are decorated as "sensitive" in the API will not
  3706  // be included in the string output. The member name will be present, but the
  3707  // value will be replaced with "sensitive".
  3708  func (s RuleGroupsNamespaceDescription) String() string {
  3709  	return awsutil.Prettify(s)
  3710  }
  3711  
  3712  // GoString returns the string representation.
  3713  //
  3714  // API parameter values that are decorated as "sensitive" in the API will not
  3715  // be included in the string output. The member name will be present, but the
  3716  // value will be replaced with "sensitive".
  3717  func (s RuleGroupsNamespaceDescription) GoString() string {
  3718  	return s.String()
  3719  }
  3720  
  3721  // SetArn sets the Arn field's value.
  3722  func (s *RuleGroupsNamespaceDescription) SetArn(v string) *RuleGroupsNamespaceDescription {
  3723  	s.Arn = &v
  3724  	return s
  3725  }
  3726  
  3727  // SetCreatedAt sets the CreatedAt field's value.
  3728  func (s *RuleGroupsNamespaceDescription) SetCreatedAt(v time.Time) *RuleGroupsNamespaceDescription {
  3729  	s.CreatedAt = &v
  3730  	return s
  3731  }
  3732  
  3733  // SetData sets the Data field's value.
  3734  func (s *RuleGroupsNamespaceDescription) SetData(v []byte) *RuleGroupsNamespaceDescription {
  3735  	s.Data = v
  3736  	return s
  3737  }
  3738  
  3739  // SetModifiedAt sets the ModifiedAt field's value.
  3740  func (s *RuleGroupsNamespaceDescription) SetModifiedAt(v time.Time) *RuleGroupsNamespaceDescription {
  3741  	s.ModifiedAt = &v
  3742  	return s
  3743  }
  3744  
  3745  // SetName sets the Name field's value.
  3746  func (s *RuleGroupsNamespaceDescription) SetName(v string) *RuleGroupsNamespaceDescription {
  3747  	s.Name = &v
  3748  	return s
  3749  }
  3750  
  3751  // SetStatus sets the Status field's value.
  3752  func (s *RuleGroupsNamespaceDescription) SetStatus(v *RuleGroupsNamespaceStatus) *RuleGroupsNamespaceDescription {
  3753  	s.Status = v
  3754  	return s
  3755  }
  3756  
  3757  // SetTags sets the Tags field's value.
  3758  func (s *RuleGroupsNamespaceDescription) SetTags(v map[string]*string) *RuleGroupsNamespaceDescription {
  3759  	s.Tags = v
  3760  	return s
  3761  }
  3762  
  3763  // Represents the status of a namespace.
  3764  type RuleGroupsNamespaceStatus struct {
  3765  	_ struct{} `type:"structure"`
  3766  
  3767  	// Status code of this namespace.
  3768  	//
  3769  	// StatusCode is a required field
  3770  	StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"RuleGroupsNamespaceStatusCode"`
  3771  
  3772  	// The reason for failure if any.
  3773  	StatusReason *string `locationName:"statusReason" type:"string"`
  3774  }
  3775  
  3776  // String returns the string representation.
  3777  //
  3778  // API parameter values that are decorated as "sensitive" in the API will not
  3779  // be included in the string output. The member name will be present, but the
  3780  // value will be replaced with "sensitive".
  3781  func (s RuleGroupsNamespaceStatus) String() string {
  3782  	return awsutil.Prettify(s)
  3783  }
  3784  
  3785  // GoString returns the string representation.
  3786  //
  3787  // API parameter values that are decorated as "sensitive" in the API will not
  3788  // be included in the string output. The member name will be present, but the
  3789  // value will be replaced with "sensitive".
  3790  func (s RuleGroupsNamespaceStatus) GoString() string {
  3791  	return s.String()
  3792  }
  3793  
  3794  // SetStatusCode sets the StatusCode field's value.
  3795  func (s *RuleGroupsNamespaceStatus) SetStatusCode(v string) *RuleGroupsNamespaceStatus {
  3796  	s.StatusCode = &v
  3797  	return s
  3798  }
  3799  
  3800  // SetStatusReason sets the StatusReason field's value.
  3801  func (s *RuleGroupsNamespaceStatus) SetStatusReason(v string) *RuleGroupsNamespaceStatus {
  3802  	s.StatusReason = &v
  3803  	return s
  3804  }
  3805  
  3806  // Represents a summary of the rule groups namespace.
  3807  type RuleGroupsNamespaceSummary struct {
  3808  	_ struct{} `type:"structure"`
  3809  
  3810  	// The Amazon Resource Name (ARN) of this rule groups namespace.
  3811  	//
  3812  	// Arn is a required field
  3813  	Arn *string `locationName:"arn" type:"string" required:"true"`
  3814  
  3815  	// The time when the rule groups namespace was created.
  3816  	//
  3817  	// CreatedAt is a required field
  3818  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  3819  
  3820  	// The time when the rule groups namespace was modified.
  3821  	//
  3822  	// ModifiedAt is a required field
  3823  	ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp" required:"true"`
  3824  
  3825  	// The rule groups namespace name.
  3826  	//
  3827  	// Name is a required field
  3828  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  3829  
  3830  	// The status of rule groups namespace.
  3831  	//
  3832  	// Status is a required field
  3833  	Status *RuleGroupsNamespaceStatus `locationName:"status" type:"structure" required:"true"`
  3834  
  3835  	// The tags of this rule groups namespace.
  3836  	Tags map[string]*string `locationName:"tags" type:"map"`
  3837  }
  3838  
  3839  // String returns the string representation.
  3840  //
  3841  // API parameter values that are decorated as "sensitive" in the API will not
  3842  // be included in the string output. The member name will be present, but the
  3843  // value will be replaced with "sensitive".
  3844  func (s RuleGroupsNamespaceSummary) String() string {
  3845  	return awsutil.Prettify(s)
  3846  }
  3847  
  3848  // GoString returns the string representation.
  3849  //
  3850  // API parameter values that are decorated as "sensitive" in the API will not
  3851  // be included in the string output. The member name will be present, but the
  3852  // value will be replaced with "sensitive".
  3853  func (s RuleGroupsNamespaceSummary) GoString() string {
  3854  	return s.String()
  3855  }
  3856  
  3857  // SetArn sets the Arn field's value.
  3858  func (s *RuleGroupsNamespaceSummary) SetArn(v string) *RuleGroupsNamespaceSummary {
  3859  	s.Arn = &v
  3860  	return s
  3861  }
  3862  
  3863  // SetCreatedAt sets the CreatedAt field's value.
  3864  func (s *RuleGroupsNamespaceSummary) SetCreatedAt(v time.Time) *RuleGroupsNamespaceSummary {
  3865  	s.CreatedAt = &v
  3866  	return s
  3867  }
  3868  
  3869  // SetModifiedAt sets the ModifiedAt field's value.
  3870  func (s *RuleGroupsNamespaceSummary) SetModifiedAt(v time.Time) *RuleGroupsNamespaceSummary {
  3871  	s.ModifiedAt = &v
  3872  	return s
  3873  }
  3874  
  3875  // SetName sets the Name field's value.
  3876  func (s *RuleGroupsNamespaceSummary) SetName(v string) *RuleGroupsNamespaceSummary {
  3877  	s.Name = &v
  3878  	return s
  3879  }
  3880  
  3881  // SetStatus sets the Status field's value.
  3882  func (s *RuleGroupsNamespaceSummary) SetStatus(v *RuleGroupsNamespaceStatus) *RuleGroupsNamespaceSummary {
  3883  	s.Status = v
  3884  	return s
  3885  }
  3886  
  3887  // SetTags sets the Tags field's value.
  3888  func (s *RuleGroupsNamespaceSummary) SetTags(v map[string]*string) *RuleGroupsNamespaceSummary {
  3889  	s.Tags = v
  3890  	return s
  3891  }
  3892  
  3893  // Request would cause a service quota to be exceeded.
  3894  type ServiceQuotaExceededException struct {
  3895  	_            struct{}                  `type:"structure"`
  3896  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3897  
  3898  	// Description of the error.
  3899  	Message_ *string `locationName:"message" type:"string"`
  3900  
  3901  	// Service Quotas requirement to identify originating quota.
  3902  	//
  3903  	// QuotaCode is a required field
  3904  	QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"`
  3905  
  3906  	// Identifier of the resource affected.
  3907  	//
  3908  	// ResourceId is a required field
  3909  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  3910  
  3911  	// Type of the resource affected.
  3912  	//
  3913  	// ResourceType is a required field
  3914  	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
  3915  
  3916  	// Service Quotas requirement to identify originating service.
  3917  	//
  3918  	// ServiceCode is a required field
  3919  	ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"`
  3920  }
  3921  
  3922  // String returns the string representation.
  3923  //
  3924  // API parameter values that are decorated as "sensitive" in the API will not
  3925  // be included in the string output. The member name will be present, but the
  3926  // value will be replaced with "sensitive".
  3927  func (s ServiceQuotaExceededException) String() string {
  3928  	return awsutil.Prettify(s)
  3929  }
  3930  
  3931  // GoString returns the string representation.
  3932  //
  3933  // API parameter values that are decorated as "sensitive" in the API will not
  3934  // be included in the string output. The member name will be present, but the
  3935  // value will be replaced with "sensitive".
  3936  func (s ServiceQuotaExceededException) GoString() string {
  3937  	return s.String()
  3938  }
  3939  
  3940  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  3941  	return &ServiceQuotaExceededException{
  3942  		RespMetadata: v,
  3943  	}
  3944  }
  3945  
  3946  // Code returns the exception type name.
  3947  func (s *ServiceQuotaExceededException) Code() string {
  3948  	return "ServiceQuotaExceededException"
  3949  }
  3950  
  3951  // Message returns the exception's message.
  3952  func (s *ServiceQuotaExceededException) Message() string {
  3953  	if s.Message_ != nil {
  3954  		return *s.Message_
  3955  	}
  3956  	return ""
  3957  }
  3958  
  3959  // OrigErr always returns nil, satisfies awserr.Error interface.
  3960  func (s *ServiceQuotaExceededException) OrigErr() error {
  3961  	return nil
  3962  }
  3963  
  3964  func (s *ServiceQuotaExceededException) Error() string {
  3965  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3966  }
  3967  
  3968  // Status code returns the HTTP status code for the request's response error.
  3969  func (s *ServiceQuotaExceededException) StatusCode() int {
  3970  	return s.RespMetadata.StatusCode
  3971  }
  3972  
  3973  // RequestID returns the service's response RequestID for request.
  3974  func (s *ServiceQuotaExceededException) RequestID() string {
  3975  	return s.RespMetadata.RequestID
  3976  }
  3977  
  3978  type TagResourceInput struct {
  3979  	_ struct{} `type:"structure"`
  3980  
  3981  	// The ARN of the resource.
  3982  	//
  3983  	// ResourceArn is a required field
  3984  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  3985  
  3986  	// The list of tags assigned to the resource.
  3987  	//
  3988  	// Tags is a required field
  3989  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  3990  }
  3991  
  3992  // String returns the string representation.
  3993  //
  3994  // API parameter values that are decorated as "sensitive" in the API will not
  3995  // be included in the string output. The member name will be present, but the
  3996  // value will be replaced with "sensitive".
  3997  func (s TagResourceInput) String() string {
  3998  	return awsutil.Prettify(s)
  3999  }
  4000  
  4001  // GoString returns the string representation.
  4002  //
  4003  // API parameter values that are decorated as "sensitive" in the API will not
  4004  // be included in the string output. The member name will be present, but the
  4005  // value will be replaced with "sensitive".
  4006  func (s TagResourceInput) GoString() string {
  4007  	return s.String()
  4008  }
  4009  
  4010  // Validate inspects the fields of the type to determine if they are valid.
  4011  func (s *TagResourceInput) Validate() error {
  4012  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  4013  	if s.ResourceArn == nil {
  4014  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4015  	}
  4016  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4017  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4018  	}
  4019  	if s.Tags == nil {
  4020  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4021  	}
  4022  
  4023  	if invalidParams.Len() > 0 {
  4024  		return invalidParams
  4025  	}
  4026  	return nil
  4027  }
  4028  
  4029  // SetResourceArn sets the ResourceArn field's value.
  4030  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  4031  	s.ResourceArn = &v
  4032  	return s
  4033  }
  4034  
  4035  // SetTags sets the Tags field's value.
  4036  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  4037  	s.Tags = v
  4038  	return s
  4039  }
  4040  
  4041  type TagResourceOutput struct {
  4042  	_ struct{} `type:"structure" nopayload:"true"`
  4043  }
  4044  
  4045  // String returns the string representation.
  4046  //
  4047  // API parameter values that are decorated as "sensitive" in the API will not
  4048  // be included in the string output. The member name will be present, but the
  4049  // value will be replaced with "sensitive".
  4050  func (s TagResourceOutput) String() string {
  4051  	return awsutil.Prettify(s)
  4052  }
  4053  
  4054  // GoString returns the string representation.
  4055  //
  4056  // API parameter values that are decorated as "sensitive" in the API will not
  4057  // be included in the string output. The member name will be present, but the
  4058  // value will be replaced with "sensitive".
  4059  func (s TagResourceOutput) GoString() string {
  4060  	return s.String()
  4061  }
  4062  
  4063  // Request was denied due to request throttling.
  4064  type ThrottlingException struct {
  4065  	_            struct{}                  `type:"structure"`
  4066  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4067  
  4068  	// Description of the error.
  4069  	Message_ *string `locationName:"message" type:"string"`
  4070  
  4071  	// Service Quotas requirement to identify originating quota.
  4072  	QuotaCode *string `locationName:"quotaCode" type:"string"`
  4073  
  4074  	// Advice to clients on when the call can be safely retried.
  4075  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  4076  
  4077  	// Service Quotas requirement to identify originating service.
  4078  	ServiceCode *string `locationName:"serviceCode" type:"string"`
  4079  }
  4080  
  4081  // String returns the string representation.
  4082  //
  4083  // API parameter values that are decorated as "sensitive" in the API will not
  4084  // be included in the string output. The member name will be present, but the
  4085  // value will be replaced with "sensitive".
  4086  func (s ThrottlingException) String() string {
  4087  	return awsutil.Prettify(s)
  4088  }
  4089  
  4090  // GoString returns the string representation.
  4091  //
  4092  // API parameter values that are decorated as "sensitive" in the API will not
  4093  // be included in the string output. The member name will be present, but the
  4094  // value will be replaced with "sensitive".
  4095  func (s ThrottlingException) GoString() string {
  4096  	return s.String()
  4097  }
  4098  
  4099  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  4100  	return &ThrottlingException{
  4101  		RespMetadata: v,
  4102  	}
  4103  }
  4104  
  4105  // Code returns the exception type name.
  4106  func (s *ThrottlingException) Code() string {
  4107  	return "ThrottlingException"
  4108  }
  4109  
  4110  // Message returns the exception's message.
  4111  func (s *ThrottlingException) Message() string {
  4112  	if s.Message_ != nil {
  4113  		return *s.Message_
  4114  	}
  4115  	return ""
  4116  }
  4117  
  4118  // OrigErr always returns nil, satisfies awserr.Error interface.
  4119  func (s *ThrottlingException) OrigErr() error {
  4120  	return nil
  4121  }
  4122  
  4123  func (s *ThrottlingException) Error() string {
  4124  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4125  }
  4126  
  4127  // Status code returns the HTTP status code for the request's response error.
  4128  func (s *ThrottlingException) StatusCode() int {
  4129  	return s.RespMetadata.StatusCode
  4130  }
  4131  
  4132  // RequestID returns the service's response RequestID for request.
  4133  func (s *ThrottlingException) RequestID() string {
  4134  	return s.RespMetadata.RequestID
  4135  }
  4136  
  4137  type UntagResourceInput struct {
  4138  	_ struct{} `type:"structure" nopayload:"true"`
  4139  
  4140  	// The ARN of the resource.
  4141  	//
  4142  	// ResourceArn is a required field
  4143  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  4144  
  4145  	// One or more tag keys
  4146  	//
  4147  	// TagKeys is a required field
  4148  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  4149  }
  4150  
  4151  // String returns the string representation.
  4152  //
  4153  // API parameter values that are decorated as "sensitive" in the API will not
  4154  // be included in the string output. The member name will be present, but the
  4155  // value will be replaced with "sensitive".
  4156  func (s UntagResourceInput) String() string {
  4157  	return awsutil.Prettify(s)
  4158  }
  4159  
  4160  // GoString returns the string representation.
  4161  //
  4162  // API parameter values that are decorated as "sensitive" in the API will not
  4163  // be included in the string output. The member name will be present, but the
  4164  // value will be replaced with "sensitive".
  4165  func (s UntagResourceInput) GoString() string {
  4166  	return s.String()
  4167  }
  4168  
  4169  // Validate inspects the fields of the type to determine if they are valid.
  4170  func (s *UntagResourceInput) Validate() error {
  4171  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  4172  	if s.ResourceArn == nil {
  4173  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4174  	}
  4175  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4176  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4177  	}
  4178  	if s.TagKeys == nil {
  4179  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4180  	}
  4181  
  4182  	if invalidParams.Len() > 0 {
  4183  		return invalidParams
  4184  	}
  4185  	return nil
  4186  }
  4187  
  4188  // SetResourceArn sets the ResourceArn field's value.
  4189  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  4190  	s.ResourceArn = &v
  4191  	return s
  4192  }
  4193  
  4194  // SetTagKeys sets the TagKeys field's value.
  4195  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  4196  	s.TagKeys = v
  4197  	return s
  4198  }
  4199  
  4200  type UntagResourceOutput struct {
  4201  	_ struct{} `type:"structure" nopayload:"true"`
  4202  }
  4203  
  4204  // String returns the string representation.
  4205  //
  4206  // API parameter values that are decorated as "sensitive" in the API will not
  4207  // be included in the string output. The member name will be present, but the
  4208  // value will be replaced with "sensitive".
  4209  func (s UntagResourceOutput) String() string {
  4210  	return awsutil.Prettify(s)
  4211  }
  4212  
  4213  // GoString returns the string representation.
  4214  //
  4215  // API parameter values that are decorated as "sensitive" in the API will not
  4216  // be included in the string output. The member name will be present, but the
  4217  // value will be replaced with "sensitive".
  4218  func (s UntagResourceOutput) GoString() string {
  4219  	return s.String()
  4220  }
  4221  
  4222  // Represents the input of an UpdateWorkspaceAlias operation.
  4223  type UpdateWorkspaceAliasInput struct {
  4224  	_ struct{} `type:"structure"`
  4225  
  4226  	// The new alias of the workspace.
  4227  	Alias *string `locationName:"alias" min:"1" type:"string"`
  4228  
  4229  	// Optional, unique, case-sensitive, user-provided identifier to ensure the
  4230  	// idempotency of the request.
  4231  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  4232  
  4233  	// The ID of the workspace being updated.
  4234  	//
  4235  	// WorkspaceId is a required field
  4236  	WorkspaceId *string `location:"uri" locationName:"workspaceId" min:"1" type:"string" required:"true"`
  4237  }
  4238  
  4239  // String returns the string representation.
  4240  //
  4241  // API parameter values that are decorated as "sensitive" in the API will not
  4242  // be included in the string output. The member name will be present, but the
  4243  // value will be replaced with "sensitive".
  4244  func (s UpdateWorkspaceAliasInput) String() string {
  4245  	return awsutil.Prettify(s)
  4246  }
  4247  
  4248  // GoString returns the string representation.
  4249  //
  4250  // API parameter values that are decorated as "sensitive" in the API will not
  4251  // be included in the string output. The member name will be present, but the
  4252  // value will be replaced with "sensitive".
  4253  func (s UpdateWorkspaceAliasInput) GoString() string {
  4254  	return s.String()
  4255  }
  4256  
  4257  // Validate inspects the fields of the type to determine if they are valid.
  4258  func (s *UpdateWorkspaceAliasInput) Validate() error {
  4259  	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceAliasInput"}
  4260  	if s.Alias != nil && len(*s.Alias) < 1 {
  4261  		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
  4262  	}
  4263  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  4264  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  4265  	}
  4266  	if s.WorkspaceId == nil {
  4267  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  4268  	}
  4269  	if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 {
  4270  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1))
  4271  	}
  4272  
  4273  	if invalidParams.Len() > 0 {
  4274  		return invalidParams
  4275  	}
  4276  	return nil
  4277  }
  4278  
  4279  // SetAlias sets the Alias field's value.
  4280  func (s *UpdateWorkspaceAliasInput) SetAlias(v string) *UpdateWorkspaceAliasInput {
  4281  	s.Alias = &v
  4282  	return s
  4283  }
  4284  
  4285  // SetClientToken sets the ClientToken field's value.
  4286  func (s *UpdateWorkspaceAliasInput) SetClientToken(v string) *UpdateWorkspaceAliasInput {
  4287  	s.ClientToken = &v
  4288  	return s
  4289  }
  4290  
  4291  // SetWorkspaceId sets the WorkspaceId field's value.
  4292  func (s *UpdateWorkspaceAliasInput) SetWorkspaceId(v string) *UpdateWorkspaceAliasInput {
  4293  	s.WorkspaceId = &v
  4294  	return s
  4295  }
  4296  
  4297  type UpdateWorkspaceAliasOutput struct {
  4298  	_ struct{} `type:"structure" nopayload:"true"`
  4299  }
  4300  
  4301  // String returns the string representation.
  4302  //
  4303  // API parameter values that are decorated as "sensitive" in the API will not
  4304  // be included in the string output. The member name will be present, but the
  4305  // value will be replaced with "sensitive".
  4306  func (s UpdateWorkspaceAliasOutput) String() string {
  4307  	return awsutil.Prettify(s)
  4308  }
  4309  
  4310  // GoString returns the string representation.
  4311  //
  4312  // API parameter values that are decorated as "sensitive" in the API will not
  4313  // be included in the string output. The member name will be present, but the
  4314  // value will be replaced with "sensitive".
  4315  func (s UpdateWorkspaceAliasOutput) GoString() string {
  4316  	return s.String()
  4317  }
  4318  
  4319  // The input fails to satisfy the constraints specified by an AWS service.
  4320  type ValidationException struct {
  4321  	_            struct{}                  `type:"structure"`
  4322  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4323  
  4324  	// The field that caused the error, if applicable. If more than one field caused
  4325  	// the error, pick one and elaborate in the message.
  4326  	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"`
  4327  
  4328  	// Description of the error.
  4329  	Message_ *string `locationName:"message" type:"string"`
  4330  
  4331  	// Reason the request failed validation.
  4332  	//
  4333  	// Reason is a required field
  4334  	Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"`
  4335  }
  4336  
  4337  // String returns the string representation.
  4338  //
  4339  // API parameter values that are decorated as "sensitive" in the API will not
  4340  // be included in the string output. The member name will be present, but the
  4341  // value will be replaced with "sensitive".
  4342  func (s ValidationException) String() string {
  4343  	return awsutil.Prettify(s)
  4344  }
  4345  
  4346  // GoString returns the string representation.
  4347  //
  4348  // API parameter values that are decorated as "sensitive" in the API will not
  4349  // be included in the string output. The member name will be present, but the
  4350  // value will be replaced with "sensitive".
  4351  func (s ValidationException) GoString() string {
  4352  	return s.String()
  4353  }
  4354  
  4355  func newErrorValidationException(v protocol.ResponseMetadata) error {
  4356  	return &ValidationException{
  4357  		RespMetadata: v,
  4358  	}
  4359  }
  4360  
  4361  // Code returns the exception type name.
  4362  func (s *ValidationException) Code() string {
  4363  	return "ValidationException"
  4364  }
  4365  
  4366  // Message returns the exception's message.
  4367  func (s *ValidationException) Message() string {
  4368  	if s.Message_ != nil {
  4369  		return *s.Message_
  4370  	}
  4371  	return ""
  4372  }
  4373  
  4374  // OrigErr always returns nil, satisfies awserr.Error interface.
  4375  func (s *ValidationException) OrigErr() error {
  4376  	return nil
  4377  }
  4378  
  4379  func (s *ValidationException) Error() string {
  4380  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4381  }
  4382  
  4383  // Status code returns the HTTP status code for the request's response error.
  4384  func (s *ValidationException) StatusCode() int {
  4385  	return s.RespMetadata.StatusCode
  4386  }
  4387  
  4388  // RequestID returns the service's response RequestID for request.
  4389  func (s *ValidationException) RequestID() string {
  4390  	return s.RespMetadata.RequestID
  4391  }
  4392  
  4393  // Stores information about a field passed inside a request that resulted in
  4394  // an exception.
  4395  type ValidationExceptionField struct {
  4396  	_ struct{} `type:"structure"`
  4397  
  4398  	// Message describing why the field failed validation.
  4399  	//
  4400  	// Message is a required field
  4401  	Message *string `locationName:"message" type:"string" required:"true"`
  4402  
  4403  	// The field name.
  4404  	//
  4405  	// Name is a required field
  4406  	Name *string `locationName:"name" type:"string" required:"true"`
  4407  }
  4408  
  4409  // String returns the string representation.
  4410  //
  4411  // API parameter values that are decorated as "sensitive" in the API will not
  4412  // be included in the string output. The member name will be present, but the
  4413  // value will be replaced with "sensitive".
  4414  func (s ValidationExceptionField) String() string {
  4415  	return awsutil.Prettify(s)
  4416  }
  4417  
  4418  // GoString returns the string representation.
  4419  //
  4420  // API parameter values that are decorated as "sensitive" in the API will not
  4421  // be included in the string output. The member name will be present, but the
  4422  // value will be replaced with "sensitive".
  4423  func (s ValidationExceptionField) GoString() string {
  4424  	return s.String()
  4425  }
  4426  
  4427  // SetMessage sets the Message field's value.
  4428  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  4429  	s.Message = &v
  4430  	return s
  4431  }
  4432  
  4433  // SetName sets the Name field's value.
  4434  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  4435  	s.Name = &v
  4436  	return s
  4437  }
  4438  
  4439  // Represents the properties of a workspace.
  4440  type WorkspaceDescription struct {
  4441  	_ struct{} `type:"structure"`
  4442  
  4443  	// Alias of this workspace.
  4444  	Alias *string `locationName:"alias" min:"1" type:"string"`
  4445  
  4446  	// The Amazon Resource Name (ARN) of this workspace.
  4447  	//
  4448  	// Arn is a required field
  4449  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4450  
  4451  	// The time when the workspace was created.
  4452  	//
  4453  	// CreatedAt is a required field
  4454  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  4455  
  4456  	// Prometheus endpoint URI.
  4457  	PrometheusEndpoint *string `locationName:"prometheusEndpoint" min:"1" type:"string"`
  4458  
  4459  	// The status of this workspace.
  4460  	//
  4461  	// Status is a required field
  4462  	Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"`
  4463  
  4464  	// The tags of this workspace.
  4465  	Tags map[string]*string `locationName:"tags" type:"map"`
  4466  
  4467  	// Unique string identifying this workspace.
  4468  	//
  4469  	// WorkspaceId is a required field
  4470  	WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"`
  4471  }
  4472  
  4473  // String returns the string representation.
  4474  //
  4475  // API parameter values that are decorated as "sensitive" in the API will not
  4476  // be included in the string output. The member name will be present, but the
  4477  // value will be replaced with "sensitive".
  4478  func (s WorkspaceDescription) String() string {
  4479  	return awsutil.Prettify(s)
  4480  }
  4481  
  4482  // GoString returns the string representation.
  4483  //
  4484  // API parameter values that are decorated as "sensitive" in the API will not
  4485  // be included in the string output. The member name will be present, but the
  4486  // value will be replaced with "sensitive".
  4487  func (s WorkspaceDescription) GoString() string {
  4488  	return s.String()
  4489  }
  4490  
  4491  // SetAlias sets the Alias field's value.
  4492  func (s *WorkspaceDescription) SetAlias(v string) *WorkspaceDescription {
  4493  	s.Alias = &v
  4494  	return s
  4495  }
  4496  
  4497  // SetArn sets the Arn field's value.
  4498  func (s *WorkspaceDescription) SetArn(v string) *WorkspaceDescription {
  4499  	s.Arn = &v
  4500  	return s
  4501  }
  4502  
  4503  // SetCreatedAt sets the CreatedAt field's value.
  4504  func (s *WorkspaceDescription) SetCreatedAt(v time.Time) *WorkspaceDescription {
  4505  	s.CreatedAt = &v
  4506  	return s
  4507  }
  4508  
  4509  // SetPrometheusEndpoint sets the PrometheusEndpoint field's value.
  4510  func (s *WorkspaceDescription) SetPrometheusEndpoint(v string) *WorkspaceDescription {
  4511  	s.PrometheusEndpoint = &v
  4512  	return s
  4513  }
  4514  
  4515  // SetStatus sets the Status field's value.
  4516  func (s *WorkspaceDescription) SetStatus(v *WorkspaceStatus) *WorkspaceDescription {
  4517  	s.Status = v
  4518  	return s
  4519  }
  4520  
  4521  // SetTags sets the Tags field's value.
  4522  func (s *WorkspaceDescription) SetTags(v map[string]*string) *WorkspaceDescription {
  4523  	s.Tags = v
  4524  	return s
  4525  }
  4526  
  4527  // SetWorkspaceId sets the WorkspaceId field's value.
  4528  func (s *WorkspaceDescription) SetWorkspaceId(v string) *WorkspaceDescription {
  4529  	s.WorkspaceId = &v
  4530  	return s
  4531  }
  4532  
  4533  // Represents the status of a workspace.
  4534  type WorkspaceStatus struct {
  4535  	_ struct{} `type:"structure"`
  4536  
  4537  	// Status code of this workspace.
  4538  	//
  4539  	// StatusCode is a required field
  4540  	StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"WorkspaceStatusCode"`
  4541  }
  4542  
  4543  // String returns the string representation.
  4544  //
  4545  // API parameter values that are decorated as "sensitive" in the API will not
  4546  // be included in the string output. The member name will be present, but the
  4547  // value will be replaced with "sensitive".
  4548  func (s WorkspaceStatus) String() string {
  4549  	return awsutil.Prettify(s)
  4550  }
  4551  
  4552  // GoString returns the string representation.
  4553  //
  4554  // API parameter values that are decorated as "sensitive" in the API will not
  4555  // be included in the string output. The member name will be present, but the
  4556  // value will be replaced with "sensitive".
  4557  func (s WorkspaceStatus) GoString() string {
  4558  	return s.String()
  4559  }
  4560  
  4561  // SetStatusCode sets the StatusCode field's value.
  4562  func (s *WorkspaceStatus) SetStatusCode(v string) *WorkspaceStatus {
  4563  	s.StatusCode = &v
  4564  	return s
  4565  }
  4566  
  4567  // Represents a summary of the properties of a workspace.
  4568  type WorkspaceSummary struct {
  4569  	_ struct{} `type:"structure"`
  4570  
  4571  	// Alias of this workspace.
  4572  	Alias *string `locationName:"alias" min:"1" type:"string"`
  4573  
  4574  	// The AmazonResourceName of this workspace.
  4575  	//
  4576  	// Arn is a required field
  4577  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4578  
  4579  	// The time when the workspace was created.
  4580  	//
  4581  	// CreatedAt is a required field
  4582  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  4583  
  4584  	// The status of this workspace.
  4585  	//
  4586  	// Status is a required field
  4587  	Status *WorkspaceStatus `locationName:"status" type:"structure" required:"true"`
  4588  
  4589  	// The tags of this workspace.
  4590  	Tags map[string]*string `locationName:"tags" type:"map"`
  4591  
  4592  	// Unique string identifying this workspace.
  4593  	//
  4594  	// WorkspaceId is a required field
  4595  	WorkspaceId *string `locationName:"workspaceId" min:"1" type:"string" required:"true"`
  4596  }
  4597  
  4598  // String returns the string representation.
  4599  //
  4600  // API parameter values that are decorated as "sensitive" in the API will not
  4601  // be included in the string output. The member name will be present, but the
  4602  // value will be replaced with "sensitive".
  4603  func (s WorkspaceSummary) String() string {
  4604  	return awsutil.Prettify(s)
  4605  }
  4606  
  4607  // GoString returns the string representation.
  4608  //
  4609  // API parameter values that are decorated as "sensitive" in the API will not
  4610  // be included in the string output. The member name will be present, but the
  4611  // value will be replaced with "sensitive".
  4612  func (s WorkspaceSummary) GoString() string {
  4613  	return s.String()
  4614  }
  4615  
  4616  // SetAlias sets the Alias field's value.
  4617  func (s *WorkspaceSummary) SetAlias(v string) *WorkspaceSummary {
  4618  	s.Alias = &v
  4619  	return s
  4620  }
  4621  
  4622  // SetArn sets the Arn field's value.
  4623  func (s *WorkspaceSummary) SetArn(v string) *WorkspaceSummary {
  4624  	s.Arn = &v
  4625  	return s
  4626  }
  4627  
  4628  // SetCreatedAt sets the CreatedAt field's value.
  4629  func (s *WorkspaceSummary) SetCreatedAt(v time.Time) *WorkspaceSummary {
  4630  	s.CreatedAt = &v
  4631  	return s
  4632  }
  4633  
  4634  // SetStatus sets the Status field's value.
  4635  func (s *WorkspaceSummary) SetStatus(v *WorkspaceStatus) *WorkspaceSummary {
  4636  	s.Status = v
  4637  	return s
  4638  }
  4639  
  4640  // SetTags sets the Tags field's value.
  4641  func (s *WorkspaceSummary) SetTags(v map[string]*string) *WorkspaceSummary {
  4642  	s.Tags = v
  4643  	return s
  4644  }
  4645  
  4646  // SetWorkspaceId sets the WorkspaceId field's value.
  4647  func (s *WorkspaceSummary) SetWorkspaceId(v string) *WorkspaceSummary {
  4648  	s.WorkspaceId = &v
  4649  	return s
  4650  }
  4651  
  4652  // State of an alert manager definition.
  4653  const (
  4654  	// AlertManagerDefinitionStatusCodeCreating is a AlertManagerDefinitionStatusCode enum value
  4655  	AlertManagerDefinitionStatusCodeCreating = "CREATING"
  4656  
  4657  	// AlertManagerDefinitionStatusCodeActive is a AlertManagerDefinitionStatusCode enum value
  4658  	AlertManagerDefinitionStatusCodeActive = "ACTIVE"
  4659  
  4660  	// AlertManagerDefinitionStatusCodeUpdating is a AlertManagerDefinitionStatusCode enum value
  4661  	AlertManagerDefinitionStatusCodeUpdating = "UPDATING"
  4662  
  4663  	// AlertManagerDefinitionStatusCodeDeleting is a AlertManagerDefinitionStatusCode enum value
  4664  	AlertManagerDefinitionStatusCodeDeleting = "DELETING"
  4665  
  4666  	// AlertManagerDefinitionStatusCodeCreationFailed is a AlertManagerDefinitionStatusCode enum value
  4667  	AlertManagerDefinitionStatusCodeCreationFailed = "CREATION_FAILED"
  4668  
  4669  	// AlertManagerDefinitionStatusCodeUpdateFailed is a AlertManagerDefinitionStatusCode enum value
  4670  	AlertManagerDefinitionStatusCodeUpdateFailed = "UPDATE_FAILED"
  4671  )
  4672  
  4673  // AlertManagerDefinitionStatusCode_Values returns all elements of the AlertManagerDefinitionStatusCode enum
  4674  func AlertManagerDefinitionStatusCode_Values() []string {
  4675  	return []string{
  4676  		AlertManagerDefinitionStatusCodeCreating,
  4677  		AlertManagerDefinitionStatusCodeActive,
  4678  		AlertManagerDefinitionStatusCodeUpdating,
  4679  		AlertManagerDefinitionStatusCodeDeleting,
  4680  		AlertManagerDefinitionStatusCodeCreationFailed,
  4681  		AlertManagerDefinitionStatusCodeUpdateFailed,
  4682  	}
  4683  }
  4684  
  4685  // State of a namespace.
  4686  const (
  4687  	// RuleGroupsNamespaceStatusCodeCreating is a RuleGroupsNamespaceStatusCode enum value
  4688  	RuleGroupsNamespaceStatusCodeCreating = "CREATING"
  4689  
  4690  	// RuleGroupsNamespaceStatusCodeActive is a RuleGroupsNamespaceStatusCode enum value
  4691  	RuleGroupsNamespaceStatusCodeActive = "ACTIVE"
  4692  
  4693  	// RuleGroupsNamespaceStatusCodeUpdating is a RuleGroupsNamespaceStatusCode enum value
  4694  	RuleGroupsNamespaceStatusCodeUpdating = "UPDATING"
  4695  
  4696  	// RuleGroupsNamespaceStatusCodeDeleting is a RuleGroupsNamespaceStatusCode enum value
  4697  	RuleGroupsNamespaceStatusCodeDeleting = "DELETING"
  4698  
  4699  	// RuleGroupsNamespaceStatusCodeCreationFailed is a RuleGroupsNamespaceStatusCode enum value
  4700  	RuleGroupsNamespaceStatusCodeCreationFailed = "CREATION_FAILED"
  4701  
  4702  	// RuleGroupsNamespaceStatusCodeUpdateFailed is a RuleGroupsNamespaceStatusCode enum value
  4703  	RuleGroupsNamespaceStatusCodeUpdateFailed = "UPDATE_FAILED"
  4704  )
  4705  
  4706  // RuleGroupsNamespaceStatusCode_Values returns all elements of the RuleGroupsNamespaceStatusCode enum
  4707  func RuleGroupsNamespaceStatusCode_Values() []string {
  4708  	return []string{
  4709  		RuleGroupsNamespaceStatusCodeCreating,
  4710  		RuleGroupsNamespaceStatusCodeActive,
  4711  		RuleGroupsNamespaceStatusCodeUpdating,
  4712  		RuleGroupsNamespaceStatusCodeDeleting,
  4713  		RuleGroupsNamespaceStatusCodeCreationFailed,
  4714  		RuleGroupsNamespaceStatusCodeUpdateFailed,
  4715  	}
  4716  }
  4717  
  4718  // Possible reasons a request failed validation.
  4719  const (
  4720  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
  4721  	ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION"
  4722  
  4723  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
  4724  	ValidationExceptionReasonCannotParse = "CANNOT_PARSE"
  4725  
  4726  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
  4727  	ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED"
  4728  
  4729  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
  4730  	ValidationExceptionReasonOther = "OTHER"
  4731  )
  4732  
  4733  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
  4734  func ValidationExceptionReason_Values() []string {
  4735  	return []string{
  4736  		ValidationExceptionReasonUnknownOperation,
  4737  		ValidationExceptionReasonCannotParse,
  4738  		ValidationExceptionReasonFieldValidationFailed,
  4739  		ValidationExceptionReasonOther,
  4740  	}
  4741  }
  4742  
  4743  // State of a workspace.
  4744  const (
  4745  	// WorkspaceStatusCodeCreating is a WorkspaceStatusCode enum value
  4746  	WorkspaceStatusCodeCreating = "CREATING"
  4747  
  4748  	// WorkspaceStatusCodeActive is a WorkspaceStatusCode enum value
  4749  	WorkspaceStatusCodeActive = "ACTIVE"
  4750  
  4751  	// WorkspaceStatusCodeUpdating is a WorkspaceStatusCode enum value
  4752  	WorkspaceStatusCodeUpdating = "UPDATING"
  4753  
  4754  	// WorkspaceStatusCodeDeleting is a WorkspaceStatusCode enum value
  4755  	WorkspaceStatusCodeDeleting = "DELETING"
  4756  
  4757  	// WorkspaceStatusCodeCreationFailed is a WorkspaceStatusCode enum value
  4758  	WorkspaceStatusCodeCreationFailed = "CREATION_FAILED"
  4759  )
  4760  
  4761  // WorkspaceStatusCode_Values returns all elements of the WorkspaceStatusCode enum
  4762  func WorkspaceStatusCode_Values() []string {
  4763  	return []string{
  4764  		WorkspaceStatusCodeCreating,
  4765  		WorkspaceStatusCodeActive,
  4766  		WorkspaceStatusCodeUpdating,
  4767  		WorkspaceStatusCodeDeleting,
  4768  		WorkspaceStatusCodeCreationFailed,
  4769  	}
  4770  }