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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package savingsplans
     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 opCreateSavingsPlan = "CreateSavingsPlan"
    17  
    18  // CreateSavingsPlanRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateSavingsPlan 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 CreateSavingsPlan for more information on using the CreateSavingsPlan
    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 CreateSavingsPlanRequest method.
    34  //    req, resp := client.CreateSavingsPlanRequest(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/savingsplans-2019-06-28/CreateSavingsPlan
    42  func (c *SavingsPlans) CreateSavingsPlanRequest(input *CreateSavingsPlanInput) (req *request.Request, output *CreateSavingsPlanOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateSavingsPlan,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/CreateSavingsPlan",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateSavingsPlanInput{}
    51  	}
    52  
    53  	output = &CreateSavingsPlanOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateSavingsPlan API operation for AWS Savings Plans.
    59  //
    60  // Creates a Savings Plan.
    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 AWS Savings Plans's
    67  // API operation CreateSavingsPlan for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ResourceNotFoundException
    71  //   The specified resource was not found.
    72  //
    73  //   * ValidationException
    74  //   One of the input parameters is not valid.
    75  //
    76  //   * InternalServerException
    77  //   An unexpected error occurred.
    78  //
    79  //   * ServiceQuotaExceededException
    80  //   A service quota has been exceeded.
    81  //
    82  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlan
    83  func (c *SavingsPlans) CreateSavingsPlan(input *CreateSavingsPlanInput) (*CreateSavingsPlanOutput, error) {
    84  	req, out := c.CreateSavingsPlanRequest(input)
    85  	return out, req.Send()
    86  }
    87  
    88  // CreateSavingsPlanWithContext is the same as CreateSavingsPlan with the addition of
    89  // the ability to pass a context and additional request options.
    90  //
    91  // See CreateSavingsPlan for details on how to use this API operation.
    92  //
    93  // The context must be non-nil and will be used for request cancellation. If
    94  // the context is nil a panic will occur. In the future the SDK may create
    95  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    96  // for more information on using Contexts.
    97  func (c *SavingsPlans) CreateSavingsPlanWithContext(ctx aws.Context, input *CreateSavingsPlanInput, opts ...request.Option) (*CreateSavingsPlanOutput, error) {
    98  	req, out := c.CreateSavingsPlanRequest(input)
    99  	req.SetContext(ctx)
   100  	req.ApplyOptions(opts...)
   101  	return out, req.Send()
   102  }
   103  
   104  const opDeleteQueuedSavingsPlan = "DeleteQueuedSavingsPlan"
   105  
   106  // DeleteQueuedSavingsPlanRequest generates a "aws/request.Request" representing the
   107  // client's request for the DeleteQueuedSavingsPlan operation. The "output" return
   108  // value will be populated with the request's response once the request completes
   109  // successfully.
   110  //
   111  // Use "Send" method on the returned Request to send the API call to the service.
   112  // the "output" return value is not valid until after Send returns without error.
   113  //
   114  // See DeleteQueuedSavingsPlan for more information on using the DeleteQueuedSavingsPlan
   115  // API call, and error handling.
   116  //
   117  // This method is useful when you want to inject custom logic or configuration
   118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   119  //
   120  //
   121  //    // Example sending a request using the DeleteQueuedSavingsPlanRequest method.
   122  //    req, resp := client.DeleteQueuedSavingsPlanRequest(params)
   123  //
   124  //    err := req.Send()
   125  //    if err == nil { // resp is now filled
   126  //        fmt.Println(resp)
   127  //    }
   128  //
   129  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DeleteQueuedSavingsPlan
   130  func (c *SavingsPlans) DeleteQueuedSavingsPlanRequest(input *DeleteQueuedSavingsPlanInput) (req *request.Request, output *DeleteQueuedSavingsPlanOutput) {
   131  	op := &request.Operation{
   132  		Name:       opDeleteQueuedSavingsPlan,
   133  		HTTPMethod: "POST",
   134  		HTTPPath:   "/DeleteQueuedSavingsPlan",
   135  	}
   136  
   137  	if input == nil {
   138  		input = &DeleteQueuedSavingsPlanInput{}
   139  	}
   140  
   141  	output = &DeleteQueuedSavingsPlanOutput{}
   142  	req = c.newRequest(op, input, output)
   143  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   144  	return
   145  }
   146  
   147  // DeleteQueuedSavingsPlan API operation for AWS Savings Plans.
   148  //
   149  // Deletes the queued purchase for the specified Savings Plan.
   150  //
   151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   152  // with awserr.Error's Code and Message methods to get detailed information about
   153  // the error.
   154  //
   155  // See the AWS API reference guide for AWS Savings Plans's
   156  // API operation DeleteQueuedSavingsPlan for usage and error information.
   157  //
   158  // Returned Error Types:
   159  //   * ValidationException
   160  //   One of the input parameters is not valid.
   161  //
   162  //   * ResourceNotFoundException
   163  //   The specified resource was not found.
   164  //
   165  //   * InternalServerException
   166  //   An unexpected error occurred.
   167  //
   168  //   * ServiceQuotaExceededException
   169  //   A service quota has been exceeded.
   170  //
   171  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DeleteQueuedSavingsPlan
   172  func (c *SavingsPlans) DeleteQueuedSavingsPlan(input *DeleteQueuedSavingsPlanInput) (*DeleteQueuedSavingsPlanOutput, error) {
   173  	req, out := c.DeleteQueuedSavingsPlanRequest(input)
   174  	return out, req.Send()
   175  }
   176  
   177  // DeleteQueuedSavingsPlanWithContext is the same as DeleteQueuedSavingsPlan with the addition of
   178  // the ability to pass a context and additional request options.
   179  //
   180  // See DeleteQueuedSavingsPlan for details on how to use this API operation.
   181  //
   182  // The context must be non-nil and will be used for request cancellation. If
   183  // the context is nil a panic will occur. In the future the SDK may create
   184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   185  // for more information on using Contexts.
   186  func (c *SavingsPlans) DeleteQueuedSavingsPlanWithContext(ctx aws.Context, input *DeleteQueuedSavingsPlanInput, opts ...request.Option) (*DeleteQueuedSavingsPlanOutput, error) {
   187  	req, out := c.DeleteQueuedSavingsPlanRequest(input)
   188  	req.SetContext(ctx)
   189  	req.ApplyOptions(opts...)
   190  	return out, req.Send()
   191  }
   192  
   193  const opDescribeSavingsPlanRates = "DescribeSavingsPlanRates"
   194  
   195  // DescribeSavingsPlanRatesRequest generates a "aws/request.Request" representing the
   196  // client's request for the DescribeSavingsPlanRates operation. The "output" return
   197  // value will be populated with the request's response once the request completes
   198  // successfully.
   199  //
   200  // Use "Send" method on the returned Request to send the API call to the service.
   201  // the "output" return value is not valid until after Send returns without error.
   202  //
   203  // See DescribeSavingsPlanRates for more information on using the DescribeSavingsPlanRates
   204  // API call, and error handling.
   205  //
   206  // This method is useful when you want to inject custom logic or configuration
   207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   208  //
   209  //
   210  //    // Example sending a request using the DescribeSavingsPlanRatesRequest method.
   211  //    req, resp := client.DescribeSavingsPlanRatesRequest(params)
   212  //
   213  //    err := req.Send()
   214  //    if err == nil { // resp is now filled
   215  //        fmt.Println(resp)
   216  //    }
   217  //
   218  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRates
   219  func (c *SavingsPlans) DescribeSavingsPlanRatesRequest(input *DescribeSavingsPlanRatesInput) (req *request.Request, output *DescribeSavingsPlanRatesOutput) {
   220  	op := &request.Operation{
   221  		Name:       opDescribeSavingsPlanRates,
   222  		HTTPMethod: "POST",
   223  		HTTPPath:   "/DescribeSavingsPlanRates",
   224  	}
   225  
   226  	if input == nil {
   227  		input = &DescribeSavingsPlanRatesInput{}
   228  	}
   229  
   230  	output = &DescribeSavingsPlanRatesOutput{}
   231  	req = c.newRequest(op, input, output)
   232  	return
   233  }
   234  
   235  // DescribeSavingsPlanRates API operation for AWS Savings Plans.
   236  //
   237  // Describes the specified Savings Plans rates.
   238  //
   239  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   240  // with awserr.Error's Code and Message methods to get detailed information about
   241  // the error.
   242  //
   243  // See the AWS API reference guide for AWS Savings Plans's
   244  // API operation DescribeSavingsPlanRates for usage and error information.
   245  //
   246  // Returned Error Types:
   247  //   * ResourceNotFoundException
   248  //   The specified resource was not found.
   249  //
   250  //   * ValidationException
   251  //   One of the input parameters is not valid.
   252  //
   253  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRates
   254  func (c *SavingsPlans) DescribeSavingsPlanRates(input *DescribeSavingsPlanRatesInput) (*DescribeSavingsPlanRatesOutput, error) {
   255  	req, out := c.DescribeSavingsPlanRatesRequest(input)
   256  	return out, req.Send()
   257  }
   258  
   259  // DescribeSavingsPlanRatesWithContext is the same as DescribeSavingsPlanRates with the addition of
   260  // the ability to pass a context and additional request options.
   261  //
   262  // See DescribeSavingsPlanRates for details on how to use this API operation.
   263  //
   264  // The context must be non-nil and will be used for request cancellation. If
   265  // the context is nil a panic will occur. In the future the SDK may create
   266  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   267  // for more information on using Contexts.
   268  func (c *SavingsPlans) DescribeSavingsPlanRatesWithContext(ctx aws.Context, input *DescribeSavingsPlanRatesInput, opts ...request.Option) (*DescribeSavingsPlanRatesOutput, error) {
   269  	req, out := c.DescribeSavingsPlanRatesRequest(input)
   270  	req.SetContext(ctx)
   271  	req.ApplyOptions(opts...)
   272  	return out, req.Send()
   273  }
   274  
   275  const opDescribeSavingsPlans = "DescribeSavingsPlans"
   276  
   277  // DescribeSavingsPlansRequest generates a "aws/request.Request" representing the
   278  // client's request for the DescribeSavingsPlans operation. The "output" return
   279  // value will be populated with the request's response once the request completes
   280  // successfully.
   281  //
   282  // Use "Send" method on the returned Request to send the API call to the service.
   283  // the "output" return value is not valid until after Send returns without error.
   284  //
   285  // See DescribeSavingsPlans for more information on using the DescribeSavingsPlans
   286  // API call, and error handling.
   287  //
   288  // This method is useful when you want to inject custom logic or configuration
   289  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   290  //
   291  //
   292  //    // Example sending a request using the DescribeSavingsPlansRequest method.
   293  //    req, resp := client.DescribeSavingsPlansRequest(params)
   294  //
   295  //    err := req.Send()
   296  //    if err == nil { // resp is now filled
   297  //        fmt.Println(resp)
   298  //    }
   299  //
   300  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlans
   301  func (c *SavingsPlans) DescribeSavingsPlansRequest(input *DescribeSavingsPlansInput) (req *request.Request, output *DescribeSavingsPlansOutput) {
   302  	op := &request.Operation{
   303  		Name:       opDescribeSavingsPlans,
   304  		HTTPMethod: "POST",
   305  		HTTPPath:   "/DescribeSavingsPlans",
   306  	}
   307  
   308  	if input == nil {
   309  		input = &DescribeSavingsPlansInput{}
   310  	}
   311  
   312  	output = &DescribeSavingsPlansOutput{}
   313  	req = c.newRequest(op, input, output)
   314  	return
   315  }
   316  
   317  // DescribeSavingsPlans API operation for AWS Savings Plans.
   318  //
   319  // Describes the specified Savings Plans.
   320  //
   321  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   322  // with awserr.Error's Code and Message methods to get detailed information about
   323  // the error.
   324  //
   325  // See the AWS API reference guide for AWS Savings Plans's
   326  // API operation DescribeSavingsPlans for usage and error information.
   327  //
   328  // Returned Error Types:
   329  //   * InternalServerException
   330  //   An unexpected error occurred.
   331  //
   332  //   * ValidationException
   333  //   One of the input parameters is not valid.
   334  //
   335  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlans
   336  func (c *SavingsPlans) DescribeSavingsPlans(input *DescribeSavingsPlansInput) (*DescribeSavingsPlansOutput, error) {
   337  	req, out := c.DescribeSavingsPlansRequest(input)
   338  	return out, req.Send()
   339  }
   340  
   341  // DescribeSavingsPlansWithContext is the same as DescribeSavingsPlans with the addition of
   342  // the ability to pass a context and additional request options.
   343  //
   344  // See DescribeSavingsPlans for details on how to use this API operation.
   345  //
   346  // The context must be non-nil and will be used for request cancellation. If
   347  // the context is nil a panic will occur. In the future the SDK may create
   348  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   349  // for more information on using Contexts.
   350  func (c *SavingsPlans) DescribeSavingsPlansWithContext(ctx aws.Context, input *DescribeSavingsPlansInput, opts ...request.Option) (*DescribeSavingsPlansOutput, error) {
   351  	req, out := c.DescribeSavingsPlansRequest(input)
   352  	req.SetContext(ctx)
   353  	req.ApplyOptions(opts...)
   354  	return out, req.Send()
   355  }
   356  
   357  const opDescribeSavingsPlansOfferingRates = "DescribeSavingsPlansOfferingRates"
   358  
   359  // DescribeSavingsPlansOfferingRatesRequest generates a "aws/request.Request" representing the
   360  // client's request for the DescribeSavingsPlansOfferingRates operation. The "output" return
   361  // value will be populated with the request's response once the request completes
   362  // successfully.
   363  //
   364  // Use "Send" method on the returned Request to send the API call to the service.
   365  // the "output" return value is not valid until after Send returns without error.
   366  //
   367  // See DescribeSavingsPlansOfferingRates for more information on using the DescribeSavingsPlansOfferingRates
   368  // API call, and error handling.
   369  //
   370  // This method is useful when you want to inject custom logic or configuration
   371  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   372  //
   373  //
   374  //    // Example sending a request using the DescribeSavingsPlansOfferingRatesRequest method.
   375  //    req, resp := client.DescribeSavingsPlansOfferingRatesRequest(params)
   376  //
   377  //    err := req.Send()
   378  //    if err == nil { // resp is now filled
   379  //        fmt.Println(resp)
   380  //    }
   381  //
   382  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRates
   383  func (c *SavingsPlans) DescribeSavingsPlansOfferingRatesRequest(input *DescribeSavingsPlansOfferingRatesInput) (req *request.Request, output *DescribeSavingsPlansOfferingRatesOutput) {
   384  	op := &request.Operation{
   385  		Name:       opDescribeSavingsPlansOfferingRates,
   386  		HTTPMethod: "POST",
   387  		HTTPPath:   "/DescribeSavingsPlansOfferingRates",
   388  	}
   389  
   390  	if input == nil {
   391  		input = &DescribeSavingsPlansOfferingRatesInput{}
   392  	}
   393  
   394  	output = &DescribeSavingsPlansOfferingRatesOutput{}
   395  	req = c.newRequest(op, input, output)
   396  	return
   397  }
   398  
   399  // DescribeSavingsPlansOfferingRates API operation for AWS Savings Plans.
   400  //
   401  // Describes the specified Savings Plans offering rates.
   402  //
   403  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   404  // with awserr.Error's Code and Message methods to get detailed information about
   405  // the error.
   406  //
   407  // See the AWS API reference guide for AWS Savings Plans's
   408  // API operation DescribeSavingsPlansOfferingRates for usage and error information.
   409  //
   410  // Returned Error Types:
   411  //   * ValidationException
   412  //   One of the input parameters is not valid.
   413  //
   414  //   * InternalServerException
   415  //   An unexpected error occurred.
   416  //
   417  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRates
   418  func (c *SavingsPlans) DescribeSavingsPlansOfferingRates(input *DescribeSavingsPlansOfferingRatesInput) (*DescribeSavingsPlansOfferingRatesOutput, error) {
   419  	req, out := c.DescribeSavingsPlansOfferingRatesRequest(input)
   420  	return out, req.Send()
   421  }
   422  
   423  // DescribeSavingsPlansOfferingRatesWithContext is the same as DescribeSavingsPlansOfferingRates with the addition of
   424  // the ability to pass a context and additional request options.
   425  //
   426  // See DescribeSavingsPlansOfferingRates for details on how to use this API operation.
   427  //
   428  // The context must be non-nil and will be used for request cancellation. If
   429  // the context is nil a panic will occur. In the future the SDK may create
   430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   431  // for more information on using Contexts.
   432  func (c *SavingsPlans) DescribeSavingsPlansOfferingRatesWithContext(ctx aws.Context, input *DescribeSavingsPlansOfferingRatesInput, opts ...request.Option) (*DescribeSavingsPlansOfferingRatesOutput, error) {
   433  	req, out := c.DescribeSavingsPlansOfferingRatesRequest(input)
   434  	req.SetContext(ctx)
   435  	req.ApplyOptions(opts...)
   436  	return out, req.Send()
   437  }
   438  
   439  const opDescribeSavingsPlansOfferings = "DescribeSavingsPlansOfferings"
   440  
   441  // DescribeSavingsPlansOfferingsRequest generates a "aws/request.Request" representing the
   442  // client's request for the DescribeSavingsPlansOfferings operation. The "output" return
   443  // value will be populated with the request's response once the request completes
   444  // successfully.
   445  //
   446  // Use "Send" method on the returned Request to send the API call to the service.
   447  // the "output" return value is not valid until after Send returns without error.
   448  //
   449  // See DescribeSavingsPlansOfferings for more information on using the DescribeSavingsPlansOfferings
   450  // API call, and error handling.
   451  //
   452  // This method is useful when you want to inject custom logic or configuration
   453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   454  //
   455  //
   456  //    // Example sending a request using the DescribeSavingsPlansOfferingsRequest method.
   457  //    req, resp := client.DescribeSavingsPlansOfferingsRequest(params)
   458  //
   459  //    err := req.Send()
   460  //    if err == nil { // resp is now filled
   461  //        fmt.Println(resp)
   462  //    }
   463  //
   464  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferings
   465  func (c *SavingsPlans) DescribeSavingsPlansOfferingsRequest(input *DescribeSavingsPlansOfferingsInput) (req *request.Request, output *DescribeSavingsPlansOfferingsOutput) {
   466  	op := &request.Operation{
   467  		Name:       opDescribeSavingsPlansOfferings,
   468  		HTTPMethod: "POST",
   469  		HTTPPath:   "/DescribeSavingsPlansOfferings",
   470  	}
   471  
   472  	if input == nil {
   473  		input = &DescribeSavingsPlansOfferingsInput{}
   474  	}
   475  
   476  	output = &DescribeSavingsPlansOfferingsOutput{}
   477  	req = c.newRequest(op, input, output)
   478  	return
   479  }
   480  
   481  // DescribeSavingsPlansOfferings API operation for AWS Savings Plans.
   482  //
   483  // Describes the specified Savings Plans offerings.
   484  //
   485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   486  // with awserr.Error's Code and Message methods to get detailed information about
   487  // the error.
   488  //
   489  // See the AWS API reference guide for AWS Savings Plans's
   490  // API operation DescribeSavingsPlansOfferings for usage and error information.
   491  //
   492  // Returned Error Types:
   493  //   * ValidationException
   494  //   One of the input parameters is not valid.
   495  //
   496  //   * InternalServerException
   497  //   An unexpected error occurred.
   498  //
   499  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferings
   500  func (c *SavingsPlans) DescribeSavingsPlansOfferings(input *DescribeSavingsPlansOfferingsInput) (*DescribeSavingsPlansOfferingsOutput, error) {
   501  	req, out := c.DescribeSavingsPlansOfferingsRequest(input)
   502  	return out, req.Send()
   503  }
   504  
   505  // DescribeSavingsPlansOfferingsWithContext is the same as DescribeSavingsPlansOfferings with the addition of
   506  // the ability to pass a context and additional request options.
   507  //
   508  // See DescribeSavingsPlansOfferings for details on how to use this API operation.
   509  //
   510  // The context must be non-nil and will be used for request cancellation. If
   511  // the context is nil a panic will occur. In the future the SDK may create
   512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   513  // for more information on using Contexts.
   514  func (c *SavingsPlans) DescribeSavingsPlansOfferingsWithContext(ctx aws.Context, input *DescribeSavingsPlansOfferingsInput, opts ...request.Option) (*DescribeSavingsPlansOfferingsOutput, error) {
   515  	req, out := c.DescribeSavingsPlansOfferingsRequest(input)
   516  	req.SetContext(ctx)
   517  	req.ApplyOptions(opts...)
   518  	return out, req.Send()
   519  }
   520  
   521  const opListTagsForResource = "ListTagsForResource"
   522  
   523  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
   524  // client's request for the ListTagsForResource operation. The "output" return
   525  // value will be populated with the request's response once the request completes
   526  // successfully.
   527  //
   528  // Use "Send" method on the returned Request to send the API call to the service.
   529  // the "output" return value is not valid until after Send returns without error.
   530  //
   531  // See ListTagsForResource for more information on using the ListTagsForResource
   532  // API call, and error handling.
   533  //
   534  // This method is useful when you want to inject custom logic or configuration
   535  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   536  //
   537  //
   538  //    // Example sending a request using the ListTagsForResourceRequest method.
   539  //    req, resp := client.ListTagsForResourceRequest(params)
   540  //
   541  //    err := req.Send()
   542  //    if err == nil { // resp is now filled
   543  //        fmt.Println(resp)
   544  //    }
   545  //
   546  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResource
   547  func (c *SavingsPlans) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
   548  	op := &request.Operation{
   549  		Name:       opListTagsForResource,
   550  		HTTPMethod: "POST",
   551  		HTTPPath:   "/ListTagsForResource",
   552  	}
   553  
   554  	if input == nil {
   555  		input = &ListTagsForResourceInput{}
   556  	}
   557  
   558  	output = &ListTagsForResourceOutput{}
   559  	req = c.newRequest(op, input, output)
   560  	return
   561  }
   562  
   563  // ListTagsForResource API operation for AWS Savings Plans.
   564  //
   565  // Lists the tags for the specified resource.
   566  //
   567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   568  // with awserr.Error's Code and Message methods to get detailed information about
   569  // the error.
   570  //
   571  // See the AWS API reference guide for AWS Savings Plans's
   572  // API operation ListTagsForResource for usage and error information.
   573  //
   574  // Returned Error Types:
   575  //   * ResourceNotFoundException
   576  //   The specified resource was not found.
   577  //
   578  //   * ValidationException
   579  //   One of the input parameters is not valid.
   580  //
   581  //   * InternalServerException
   582  //   An unexpected error occurred.
   583  //
   584  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResource
   585  func (c *SavingsPlans) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
   586  	req, out := c.ListTagsForResourceRequest(input)
   587  	return out, req.Send()
   588  }
   589  
   590  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
   591  // the ability to pass a context and additional request options.
   592  //
   593  // See ListTagsForResource for details on how to use this API operation.
   594  //
   595  // The context must be non-nil and will be used for request cancellation. If
   596  // the context is nil a panic will occur. In the future the SDK may create
   597  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   598  // for more information on using Contexts.
   599  func (c *SavingsPlans) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
   600  	req, out := c.ListTagsForResourceRequest(input)
   601  	req.SetContext(ctx)
   602  	req.ApplyOptions(opts...)
   603  	return out, req.Send()
   604  }
   605  
   606  const opTagResource = "TagResource"
   607  
   608  // TagResourceRequest generates a "aws/request.Request" representing the
   609  // client's request for the TagResource operation. The "output" return
   610  // value will be populated with the request's response once the request completes
   611  // successfully.
   612  //
   613  // Use "Send" method on the returned Request to send the API call to the service.
   614  // the "output" return value is not valid until after Send returns without error.
   615  //
   616  // See TagResource for more information on using the TagResource
   617  // API call, and error handling.
   618  //
   619  // This method is useful when you want to inject custom logic or configuration
   620  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   621  //
   622  //
   623  //    // Example sending a request using the TagResourceRequest method.
   624  //    req, resp := client.TagResourceRequest(params)
   625  //
   626  //    err := req.Send()
   627  //    if err == nil { // resp is now filled
   628  //        fmt.Println(resp)
   629  //    }
   630  //
   631  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResource
   632  func (c *SavingsPlans) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
   633  	op := &request.Operation{
   634  		Name:       opTagResource,
   635  		HTTPMethod: "POST",
   636  		HTTPPath:   "/TagResource",
   637  	}
   638  
   639  	if input == nil {
   640  		input = &TagResourceInput{}
   641  	}
   642  
   643  	output = &TagResourceOutput{}
   644  	req = c.newRequest(op, input, output)
   645  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   646  	return
   647  }
   648  
   649  // TagResource API operation for AWS Savings Plans.
   650  //
   651  // Adds the specified tags to the specified resource.
   652  //
   653  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   654  // with awserr.Error's Code and Message methods to get detailed information about
   655  // the error.
   656  //
   657  // See the AWS API reference guide for AWS Savings Plans's
   658  // API operation TagResource for usage and error information.
   659  //
   660  // Returned Error Types:
   661  //   * ResourceNotFoundException
   662  //   The specified resource was not found.
   663  //
   664  //   * ServiceQuotaExceededException
   665  //   A service quota has been exceeded.
   666  //
   667  //   * ValidationException
   668  //   One of the input parameters is not valid.
   669  //
   670  //   * InternalServerException
   671  //   An unexpected error occurred.
   672  //
   673  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResource
   674  func (c *SavingsPlans) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
   675  	req, out := c.TagResourceRequest(input)
   676  	return out, req.Send()
   677  }
   678  
   679  // TagResourceWithContext is the same as TagResource with the addition of
   680  // the ability to pass a context and additional request options.
   681  //
   682  // See TagResource for details on how to use this API operation.
   683  //
   684  // The context must be non-nil and will be used for request cancellation. If
   685  // the context is nil a panic will occur. In the future the SDK may create
   686  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   687  // for more information on using Contexts.
   688  func (c *SavingsPlans) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
   689  	req, out := c.TagResourceRequest(input)
   690  	req.SetContext(ctx)
   691  	req.ApplyOptions(opts...)
   692  	return out, req.Send()
   693  }
   694  
   695  const opUntagResource = "UntagResource"
   696  
   697  // UntagResourceRequest generates a "aws/request.Request" representing the
   698  // client's request for the UntagResource operation. The "output" return
   699  // value will be populated with the request's response once the request completes
   700  // successfully.
   701  //
   702  // Use "Send" method on the returned Request to send the API call to the service.
   703  // the "output" return value is not valid until after Send returns without error.
   704  //
   705  // See UntagResource for more information on using the UntagResource
   706  // API call, and error handling.
   707  //
   708  // This method is useful when you want to inject custom logic or configuration
   709  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   710  //
   711  //
   712  //    // Example sending a request using the UntagResourceRequest method.
   713  //    req, resp := client.UntagResourceRequest(params)
   714  //
   715  //    err := req.Send()
   716  //    if err == nil { // resp is now filled
   717  //        fmt.Println(resp)
   718  //    }
   719  //
   720  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResource
   721  func (c *SavingsPlans) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
   722  	op := &request.Operation{
   723  		Name:       opUntagResource,
   724  		HTTPMethod: "POST",
   725  		HTTPPath:   "/UntagResource",
   726  	}
   727  
   728  	if input == nil {
   729  		input = &UntagResourceInput{}
   730  	}
   731  
   732  	output = &UntagResourceOutput{}
   733  	req = c.newRequest(op, input, output)
   734  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   735  	return
   736  }
   737  
   738  // UntagResource API operation for AWS Savings Plans.
   739  //
   740  // Removes the specified tags from the specified resource.
   741  //
   742  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   743  // with awserr.Error's Code and Message methods to get detailed information about
   744  // the error.
   745  //
   746  // See the AWS API reference guide for AWS Savings Plans's
   747  // API operation UntagResource for usage and error information.
   748  //
   749  // Returned Error Types:
   750  //   * ResourceNotFoundException
   751  //   The specified resource was not found.
   752  //
   753  //   * ValidationException
   754  //   One of the input parameters is not valid.
   755  //
   756  //   * InternalServerException
   757  //   An unexpected error occurred.
   758  //
   759  // See also, https://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResource
   760  func (c *SavingsPlans) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
   761  	req, out := c.UntagResourceRequest(input)
   762  	return out, req.Send()
   763  }
   764  
   765  // UntagResourceWithContext is the same as UntagResource with the addition of
   766  // the ability to pass a context and additional request options.
   767  //
   768  // See UntagResource for details on how to use this API operation.
   769  //
   770  // The context must be non-nil and will be used for request cancellation. If
   771  // the context is nil a panic will occur. In the future the SDK may create
   772  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   773  // for more information on using Contexts.
   774  func (c *SavingsPlans) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
   775  	req, out := c.UntagResourceRequest(input)
   776  	req.SetContext(ctx)
   777  	req.ApplyOptions(opts...)
   778  	return out, req.Send()
   779  }
   780  
   781  type CreateSavingsPlanInput struct {
   782  	_ struct{} `type:"structure"`
   783  
   784  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
   785  	// of the request.
   786  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
   787  
   788  	// The hourly commitment, in USD. This is a value between 0.001 and 1 million.
   789  	// You cannot specify more than three digits after the decimal point.
   790  	//
   791  	// Commitment is a required field
   792  	Commitment *string `locationName:"commitment" type:"string" required:"true"`
   793  
   794  	// The time at which to purchase the Savings Plan, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
   795  	PurchaseTime *time.Time `locationName:"purchaseTime" type:"timestamp"`
   796  
   797  	// The ID of the offering.
   798  	//
   799  	// SavingsPlanOfferingId is a required field
   800  	SavingsPlanOfferingId *string `locationName:"savingsPlanOfferingId" type:"string" required:"true"`
   801  
   802  	// One or more tags.
   803  	Tags map[string]*string `locationName:"tags" type:"map"`
   804  
   805  	// The up-front payment amount. This is a whole number between 50 and 99 percent
   806  	// of the total value of the Savings Plan. This parameter is supported only
   807  	// if the payment option is Partial Upfront.
   808  	UpfrontPaymentAmount *string `locationName:"upfrontPaymentAmount" type:"string"`
   809  }
   810  
   811  // String returns the string representation.
   812  //
   813  // API parameter values that are decorated as "sensitive" in the API will not
   814  // be included in the string output. The member name will be present, but the
   815  // value will be replaced with "sensitive".
   816  func (s CreateSavingsPlanInput) String() string {
   817  	return awsutil.Prettify(s)
   818  }
   819  
   820  // GoString returns the string representation.
   821  //
   822  // API parameter values that are decorated as "sensitive" in the API will not
   823  // be included in the string output. The member name will be present, but the
   824  // value will be replaced with "sensitive".
   825  func (s CreateSavingsPlanInput) GoString() string {
   826  	return s.String()
   827  }
   828  
   829  // Validate inspects the fields of the type to determine if they are valid.
   830  func (s *CreateSavingsPlanInput) Validate() error {
   831  	invalidParams := request.ErrInvalidParams{Context: "CreateSavingsPlanInput"}
   832  	if s.Commitment == nil {
   833  		invalidParams.Add(request.NewErrParamRequired("Commitment"))
   834  	}
   835  	if s.SavingsPlanOfferingId == nil {
   836  		invalidParams.Add(request.NewErrParamRequired("SavingsPlanOfferingId"))
   837  	}
   838  
   839  	if invalidParams.Len() > 0 {
   840  		return invalidParams
   841  	}
   842  	return nil
   843  }
   844  
   845  // SetClientToken sets the ClientToken field's value.
   846  func (s *CreateSavingsPlanInput) SetClientToken(v string) *CreateSavingsPlanInput {
   847  	s.ClientToken = &v
   848  	return s
   849  }
   850  
   851  // SetCommitment sets the Commitment field's value.
   852  func (s *CreateSavingsPlanInput) SetCommitment(v string) *CreateSavingsPlanInput {
   853  	s.Commitment = &v
   854  	return s
   855  }
   856  
   857  // SetPurchaseTime sets the PurchaseTime field's value.
   858  func (s *CreateSavingsPlanInput) SetPurchaseTime(v time.Time) *CreateSavingsPlanInput {
   859  	s.PurchaseTime = &v
   860  	return s
   861  }
   862  
   863  // SetSavingsPlanOfferingId sets the SavingsPlanOfferingId field's value.
   864  func (s *CreateSavingsPlanInput) SetSavingsPlanOfferingId(v string) *CreateSavingsPlanInput {
   865  	s.SavingsPlanOfferingId = &v
   866  	return s
   867  }
   868  
   869  // SetTags sets the Tags field's value.
   870  func (s *CreateSavingsPlanInput) SetTags(v map[string]*string) *CreateSavingsPlanInput {
   871  	s.Tags = v
   872  	return s
   873  }
   874  
   875  // SetUpfrontPaymentAmount sets the UpfrontPaymentAmount field's value.
   876  func (s *CreateSavingsPlanInput) SetUpfrontPaymentAmount(v string) *CreateSavingsPlanInput {
   877  	s.UpfrontPaymentAmount = &v
   878  	return s
   879  }
   880  
   881  type CreateSavingsPlanOutput struct {
   882  	_ struct{} `type:"structure"`
   883  
   884  	// The ID of the Savings Plan.
   885  	SavingsPlanId *string `locationName:"savingsPlanId" type:"string"`
   886  }
   887  
   888  // String returns the string representation.
   889  //
   890  // API parameter values that are decorated as "sensitive" in the API will not
   891  // be included in the string output. The member name will be present, but the
   892  // value will be replaced with "sensitive".
   893  func (s CreateSavingsPlanOutput) String() string {
   894  	return awsutil.Prettify(s)
   895  }
   896  
   897  // GoString returns the string representation.
   898  //
   899  // API parameter values that are decorated as "sensitive" in the API will not
   900  // be included in the string output. The member name will be present, but the
   901  // value will be replaced with "sensitive".
   902  func (s CreateSavingsPlanOutput) GoString() string {
   903  	return s.String()
   904  }
   905  
   906  // SetSavingsPlanId sets the SavingsPlanId field's value.
   907  func (s *CreateSavingsPlanOutput) SetSavingsPlanId(v string) *CreateSavingsPlanOutput {
   908  	s.SavingsPlanId = &v
   909  	return s
   910  }
   911  
   912  type DeleteQueuedSavingsPlanInput struct {
   913  	_ struct{} `type:"structure"`
   914  
   915  	// The ID of the Savings Plan.
   916  	//
   917  	// SavingsPlanId is a required field
   918  	SavingsPlanId *string `locationName:"savingsPlanId" type:"string" required:"true"`
   919  }
   920  
   921  // String returns the string representation.
   922  //
   923  // API parameter values that are decorated as "sensitive" in the API will not
   924  // be included in the string output. The member name will be present, but the
   925  // value will be replaced with "sensitive".
   926  func (s DeleteQueuedSavingsPlanInput) String() string {
   927  	return awsutil.Prettify(s)
   928  }
   929  
   930  // GoString returns the string representation.
   931  //
   932  // API parameter values that are decorated as "sensitive" in the API will not
   933  // be included in the string output. The member name will be present, but the
   934  // value will be replaced with "sensitive".
   935  func (s DeleteQueuedSavingsPlanInput) GoString() string {
   936  	return s.String()
   937  }
   938  
   939  // Validate inspects the fields of the type to determine if they are valid.
   940  func (s *DeleteQueuedSavingsPlanInput) Validate() error {
   941  	invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedSavingsPlanInput"}
   942  	if s.SavingsPlanId == nil {
   943  		invalidParams.Add(request.NewErrParamRequired("SavingsPlanId"))
   944  	}
   945  
   946  	if invalidParams.Len() > 0 {
   947  		return invalidParams
   948  	}
   949  	return nil
   950  }
   951  
   952  // SetSavingsPlanId sets the SavingsPlanId field's value.
   953  func (s *DeleteQueuedSavingsPlanInput) SetSavingsPlanId(v string) *DeleteQueuedSavingsPlanInput {
   954  	s.SavingsPlanId = &v
   955  	return s
   956  }
   957  
   958  type DeleteQueuedSavingsPlanOutput struct {
   959  	_ struct{} `type:"structure" nopayload:"true"`
   960  }
   961  
   962  // String returns the string representation.
   963  //
   964  // API parameter values that are decorated as "sensitive" in the API will not
   965  // be included in the string output. The member name will be present, but the
   966  // value will be replaced with "sensitive".
   967  func (s DeleteQueuedSavingsPlanOutput) String() string {
   968  	return awsutil.Prettify(s)
   969  }
   970  
   971  // GoString returns the string representation.
   972  //
   973  // API parameter values that are decorated as "sensitive" in the API will not
   974  // be included in the string output. The member name will be present, but the
   975  // value will be replaced with "sensitive".
   976  func (s DeleteQueuedSavingsPlanOutput) GoString() string {
   977  	return s.String()
   978  }
   979  
   980  type DescribeSavingsPlanRatesInput struct {
   981  	_ struct{} `type:"structure"`
   982  
   983  	// The filters.
   984  	Filters []*SavingsPlanRateFilter `locationName:"filters" type:"list"`
   985  
   986  	// The maximum number of results to return with a single call. To retrieve additional
   987  	// results, make another call with the returned token value.
   988  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
   989  
   990  	// The token for the next page of results.
   991  	NextToken *string `locationName:"nextToken" type:"string"`
   992  
   993  	// The ID of the Savings Plan.
   994  	//
   995  	// SavingsPlanId is a required field
   996  	SavingsPlanId *string `locationName:"savingsPlanId" type:"string" required:"true"`
   997  }
   998  
   999  // String returns the string representation.
  1000  //
  1001  // API parameter values that are decorated as "sensitive" in the API will not
  1002  // be included in the string output. The member name will be present, but the
  1003  // value will be replaced with "sensitive".
  1004  func (s DescribeSavingsPlanRatesInput) String() string {
  1005  	return awsutil.Prettify(s)
  1006  }
  1007  
  1008  // GoString returns the string representation.
  1009  //
  1010  // API parameter values that are decorated as "sensitive" in the API will not
  1011  // be included in the string output. The member name will be present, but the
  1012  // value will be replaced with "sensitive".
  1013  func (s DescribeSavingsPlanRatesInput) GoString() string {
  1014  	return s.String()
  1015  }
  1016  
  1017  // Validate inspects the fields of the type to determine if they are valid.
  1018  func (s *DescribeSavingsPlanRatesInput) Validate() error {
  1019  	invalidParams := request.ErrInvalidParams{Context: "DescribeSavingsPlanRatesInput"}
  1020  	if s.MaxResults != nil && *s.MaxResults < 1 {
  1021  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  1022  	}
  1023  	if s.SavingsPlanId == nil {
  1024  		invalidParams.Add(request.NewErrParamRequired("SavingsPlanId"))
  1025  	}
  1026  
  1027  	if invalidParams.Len() > 0 {
  1028  		return invalidParams
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  // SetFilters sets the Filters field's value.
  1034  func (s *DescribeSavingsPlanRatesInput) SetFilters(v []*SavingsPlanRateFilter) *DescribeSavingsPlanRatesInput {
  1035  	s.Filters = v
  1036  	return s
  1037  }
  1038  
  1039  // SetMaxResults sets the MaxResults field's value.
  1040  func (s *DescribeSavingsPlanRatesInput) SetMaxResults(v int64) *DescribeSavingsPlanRatesInput {
  1041  	s.MaxResults = &v
  1042  	return s
  1043  }
  1044  
  1045  // SetNextToken sets the NextToken field's value.
  1046  func (s *DescribeSavingsPlanRatesInput) SetNextToken(v string) *DescribeSavingsPlanRatesInput {
  1047  	s.NextToken = &v
  1048  	return s
  1049  }
  1050  
  1051  // SetSavingsPlanId sets the SavingsPlanId field's value.
  1052  func (s *DescribeSavingsPlanRatesInput) SetSavingsPlanId(v string) *DescribeSavingsPlanRatesInput {
  1053  	s.SavingsPlanId = &v
  1054  	return s
  1055  }
  1056  
  1057  type DescribeSavingsPlanRatesOutput struct {
  1058  	_ struct{} `type:"structure"`
  1059  
  1060  	// The token to use to retrieve the next page of results. This value is null
  1061  	// when there are no more results to return.
  1062  	NextToken *string `locationName:"nextToken" type:"string"`
  1063  
  1064  	// The ID of the Savings Plan.
  1065  	SavingsPlanId *string `locationName:"savingsPlanId" type:"string"`
  1066  
  1067  	// Information about the Savings Plans rates.
  1068  	SearchResults []*SavingsPlanRate `locationName:"searchResults" type:"list"`
  1069  }
  1070  
  1071  // String returns the string representation.
  1072  //
  1073  // API parameter values that are decorated as "sensitive" in the API will not
  1074  // be included in the string output. The member name will be present, but the
  1075  // value will be replaced with "sensitive".
  1076  func (s DescribeSavingsPlanRatesOutput) String() string {
  1077  	return awsutil.Prettify(s)
  1078  }
  1079  
  1080  // GoString returns the string representation.
  1081  //
  1082  // API parameter values that are decorated as "sensitive" in the API will not
  1083  // be included in the string output. The member name will be present, but the
  1084  // value will be replaced with "sensitive".
  1085  func (s DescribeSavingsPlanRatesOutput) GoString() string {
  1086  	return s.String()
  1087  }
  1088  
  1089  // SetNextToken sets the NextToken field's value.
  1090  func (s *DescribeSavingsPlanRatesOutput) SetNextToken(v string) *DescribeSavingsPlanRatesOutput {
  1091  	s.NextToken = &v
  1092  	return s
  1093  }
  1094  
  1095  // SetSavingsPlanId sets the SavingsPlanId field's value.
  1096  func (s *DescribeSavingsPlanRatesOutput) SetSavingsPlanId(v string) *DescribeSavingsPlanRatesOutput {
  1097  	s.SavingsPlanId = &v
  1098  	return s
  1099  }
  1100  
  1101  // SetSearchResults sets the SearchResults field's value.
  1102  func (s *DescribeSavingsPlanRatesOutput) SetSearchResults(v []*SavingsPlanRate) *DescribeSavingsPlanRatesOutput {
  1103  	s.SearchResults = v
  1104  	return s
  1105  }
  1106  
  1107  type DescribeSavingsPlansInput struct {
  1108  	_ struct{} `type:"structure"`
  1109  
  1110  	// The filters.
  1111  	Filters []*SavingsPlanFilter `locationName:"filters" type:"list"`
  1112  
  1113  	// The maximum number of results to return with a single call. To retrieve additional
  1114  	// results, make another call with the returned token value.
  1115  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  1116  
  1117  	// The token for the next page of results.
  1118  	NextToken *string `locationName:"nextToken" type:"string"`
  1119  
  1120  	// The Amazon Resource Names (ARN) of the Savings Plans.
  1121  	SavingsPlanArns []*string `locationName:"savingsPlanArns" type:"list"`
  1122  
  1123  	// The IDs of the Savings Plans.
  1124  	SavingsPlanIds []*string `locationName:"savingsPlanIds" type:"list"`
  1125  
  1126  	// The states.
  1127  	States []*string `locationName:"states" type:"list"`
  1128  }
  1129  
  1130  // String returns the string representation.
  1131  //
  1132  // API parameter values that are decorated as "sensitive" in the API will not
  1133  // be included in the string output. The member name will be present, but the
  1134  // value will be replaced with "sensitive".
  1135  func (s DescribeSavingsPlansInput) String() string {
  1136  	return awsutil.Prettify(s)
  1137  }
  1138  
  1139  // GoString returns the string representation.
  1140  //
  1141  // API parameter values that are decorated as "sensitive" in the API will not
  1142  // be included in the string output. The member name will be present, but the
  1143  // value will be replaced with "sensitive".
  1144  func (s DescribeSavingsPlansInput) GoString() string {
  1145  	return s.String()
  1146  }
  1147  
  1148  // Validate inspects the fields of the type to determine if they are valid.
  1149  func (s *DescribeSavingsPlansInput) Validate() error {
  1150  	invalidParams := request.ErrInvalidParams{Context: "DescribeSavingsPlansInput"}
  1151  	if s.MaxResults != nil && *s.MaxResults < 1 {
  1152  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  1153  	}
  1154  
  1155  	if invalidParams.Len() > 0 {
  1156  		return invalidParams
  1157  	}
  1158  	return nil
  1159  }
  1160  
  1161  // SetFilters sets the Filters field's value.
  1162  func (s *DescribeSavingsPlansInput) SetFilters(v []*SavingsPlanFilter) *DescribeSavingsPlansInput {
  1163  	s.Filters = v
  1164  	return s
  1165  }
  1166  
  1167  // SetMaxResults sets the MaxResults field's value.
  1168  func (s *DescribeSavingsPlansInput) SetMaxResults(v int64) *DescribeSavingsPlansInput {
  1169  	s.MaxResults = &v
  1170  	return s
  1171  }
  1172  
  1173  // SetNextToken sets the NextToken field's value.
  1174  func (s *DescribeSavingsPlansInput) SetNextToken(v string) *DescribeSavingsPlansInput {
  1175  	s.NextToken = &v
  1176  	return s
  1177  }
  1178  
  1179  // SetSavingsPlanArns sets the SavingsPlanArns field's value.
  1180  func (s *DescribeSavingsPlansInput) SetSavingsPlanArns(v []*string) *DescribeSavingsPlansInput {
  1181  	s.SavingsPlanArns = v
  1182  	return s
  1183  }
  1184  
  1185  // SetSavingsPlanIds sets the SavingsPlanIds field's value.
  1186  func (s *DescribeSavingsPlansInput) SetSavingsPlanIds(v []*string) *DescribeSavingsPlansInput {
  1187  	s.SavingsPlanIds = v
  1188  	return s
  1189  }
  1190  
  1191  // SetStates sets the States field's value.
  1192  func (s *DescribeSavingsPlansInput) SetStates(v []*string) *DescribeSavingsPlansInput {
  1193  	s.States = v
  1194  	return s
  1195  }
  1196  
  1197  type DescribeSavingsPlansOfferingRatesInput struct {
  1198  	_ struct{} `type:"structure"`
  1199  
  1200  	// The filters.
  1201  	Filters []*SavingsPlanOfferingRateFilterElement `locationName:"filters" type:"list"`
  1202  
  1203  	// The maximum number of results to return with a single call. To retrieve additional
  1204  	// results, make another call with the returned token value.
  1205  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  1206  
  1207  	// The token for the next page of results.
  1208  	NextToken *string `locationName:"nextToken" type:"string"`
  1209  
  1210  	// The specific AWS operation for the line item in the billing report.
  1211  	Operations []*string `locationName:"operations" type:"list"`
  1212  
  1213  	// The AWS products.
  1214  	Products []*string `locationName:"products" type:"list"`
  1215  
  1216  	// The IDs of the offerings.
  1217  	SavingsPlanOfferingIds []*string `locationName:"savingsPlanOfferingIds" type:"list"`
  1218  
  1219  	// The payment options.
  1220  	SavingsPlanPaymentOptions []*string `locationName:"savingsPlanPaymentOptions" type:"list"`
  1221  
  1222  	// The plan types.
  1223  	SavingsPlanTypes []*string `locationName:"savingsPlanTypes" type:"list"`
  1224  
  1225  	// The services.
  1226  	ServiceCodes []*string `locationName:"serviceCodes" type:"list"`
  1227  
  1228  	// The usage details of the line item in the billing report.
  1229  	UsageTypes []*string `locationName:"usageTypes" type:"list"`
  1230  }
  1231  
  1232  // String returns the string representation.
  1233  //
  1234  // API parameter values that are decorated as "sensitive" in the API will not
  1235  // be included in the string output. The member name will be present, but the
  1236  // value will be replaced with "sensitive".
  1237  func (s DescribeSavingsPlansOfferingRatesInput) String() string {
  1238  	return awsutil.Prettify(s)
  1239  }
  1240  
  1241  // GoString returns the string representation.
  1242  //
  1243  // API parameter values that are decorated as "sensitive" in the API will not
  1244  // be included in the string output. The member name will be present, but the
  1245  // value will be replaced with "sensitive".
  1246  func (s DescribeSavingsPlansOfferingRatesInput) GoString() string {
  1247  	return s.String()
  1248  }
  1249  
  1250  // SetFilters sets the Filters field's value.
  1251  func (s *DescribeSavingsPlansOfferingRatesInput) SetFilters(v []*SavingsPlanOfferingRateFilterElement) *DescribeSavingsPlansOfferingRatesInput {
  1252  	s.Filters = v
  1253  	return s
  1254  }
  1255  
  1256  // SetMaxResults sets the MaxResults field's value.
  1257  func (s *DescribeSavingsPlansOfferingRatesInput) SetMaxResults(v int64) *DescribeSavingsPlansOfferingRatesInput {
  1258  	s.MaxResults = &v
  1259  	return s
  1260  }
  1261  
  1262  // SetNextToken sets the NextToken field's value.
  1263  func (s *DescribeSavingsPlansOfferingRatesInput) SetNextToken(v string) *DescribeSavingsPlansOfferingRatesInput {
  1264  	s.NextToken = &v
  1265  	return s
  1266  }
  1267  
  1268  // SetOperations sets the Operations field's value.
  1269  func (s *DescribeSavingsPlansOfferingRatesInput) SetOperations(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1270  	s.Operations = v
  1271  	return s
  1272  }
  1273  
  1274  // SetProducts sets the Products field's value.
  1275  func (s *DescribeSavingsPlansOfferingRatesInput) SetProducts(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1276  	s.Products = v
  1277  	return s
  1278  }
  1279  
  1280  // SetSavingsPlanOfferingIds sets the SavingsPlanOfferingIds field's value.
  1281  func (s *DescribeSavingsPlansOfferingRatesInput) SetSavingsPlanOfferingIds(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1282  	s.SavingsPlanOfferingIds = v
  1283  	return s
  1284  }
  1285  
  1286  // SetSavingsPlanPaymentOptions sets the SavingsPlanPaymentOptions field's value.
  1287  func (s *DescribeSavingsPlansOfferingRatesInput) SetSavingsPlanPaymentOptions(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1288  	s.SavingsPlanPaymentOptions = v
  1289  	return s
  1290  }
  1291  
  1292  // SetSavingsPlanTypes sets the SavingsPlanTypes field's value.
  1293  func (s *DescribeSavingsPlansOfferingRatesInput) SetSavingsPlanTypes(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1294  	s.SavingsPlanTypes = v
  1295  	return s
  1296  }
  1297  
  1298  // SetServiceCodes sets the ServiceCodes field's value.
  1299  func (s *DescribeSavingsPlansOfferingRatesInput) SetServiceCodes(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1300  	s.ServiceCodes = v
  1301  	return s
  1302  }
  1303  
  1304  // SetUsageTypes sets the UsageTypes field's value.
  1305  func (s *DescribeSavingsPlansOfferingRatesInput) SetUsageTypes(v []*string) *DescribeSavingsPlansOfferingRatesInput {
  1306  	s.UsageTypes = v
  1307  	return s
  1308  }
  1309  
  1310  type DescribeSavingsPlansOfferingRatesOutput struct {
  1311  	_ struct{} `type:"structure"`
  1312  
  1313  	// The token to use to retrieve the next page of results. This value is null
  1314  	// when there are no more results to return.
  1315  	NextToken *string `locationName:"nextToken" type:"string"`
  1316  
  1317  	// Information about the Savings Plans offering rates.
  1318  	SearchResults []*SavingsPlanOfferingRate `locationName:"searchResults" type:"list"`
  1319  }
  1320  
  1321  // String returns the string representation.
  1322  //
  1323  // API parameter values that are decorated as "sensitive" in the API will not
  1324  // be included in the string output. The member name will be present, but the
  1325  // value will be replaced with "sensitive".
  1326  func (s DescribeSavingsPlansOfferingRatesOutput) String() string {
  1327  	return awsutil.Prettify(s)
  1328  }
  1329  
  1330  // GoString returns the string representation.
  1331  //
  1332  // API parameter values that are decorated as "sensitive" in the API will not
  1333  // be included in the string output. The member name will be present, but the
  1334  // value will be replaced with "sensitive".
  1335  func (s DescribeSavingsPlansOfferingRatesOutput) GoString() string {
  1336  	return s.String()
  1337  }
  1338  
  1339  // SetNextToken sets the NextToken field's value.
  1340  func (s *DescribeSavingsPlansOfferingRatesOutput) SetNextToken(v string) *DescribeSavingsPlansOfferingRatesOutput {
  1341  	s.NextToken = &v
  1342  	return s
  1343  }
  1344  
  1345  // SetSearchResults sets the SearchResults field's value.
  1346  func (s *DescribeSavingsPlansOfferingRatesOutput) SetSearchResults(v []*SavingsPlanOfferingRate) *DescribeSavingsPlansOfferingRatesOutput {
  1347  	s.SearchResults = v
  1348  	return s
  1349  }
  1350  
  1351  type DescribeSavingsPlansOfferingsInput struct {
  1352  	_ struct{} `type:"structure"`
  1353  
  1354  	// The currencies.
  1355  	Currencies []*string `locationName:"currencies" type:"list"`
  1356  
  1357  	// The descriptions.
  1358  	Descriptions []*string `locationName:"descriptions" type:"list"`
  1359  
  1360  	// The durations, in seconds.
  1361  	Durations []*int64 `locationName:"durations" type:"list"`
  1362  
  1363  	// The filters.
  1364  	Filters []*SavingsPlanOfferingFilterElement `locationName:"filters" type:"list"`
  1365  
  1366  	// The maximum number of results to return with a single call. To retrieve additional
  1367  	// results, make another call with the returned token value.
  1368  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  1369  
  1370  	// The token for the next page of results.
  1371  	NextToken *string `locationName:"nextToken" type:"string"`
  1372  
  1373  	// The IDs of the offerings.
  1374  	OfferingIds []*string `locationName:"offeringIds" type:"list"`
  1375  
  1376  	// The specific AWS operation for the line item in the billing report.
  1377  	Operations []*string `locationName:"operations" type:"list"`
  1378  
  1379  	// The payment options.
  1380  	PaymentOptions []*string `locationName:"paymentOptions" type:"list"`
  1381  
  1382  	// The plan type.
  1383  	PlanTypes []*string `locationName:"planTypes" type:"list"`
  1384  
  1385  	// The product type.
  1386  	ProductType *string `locationName:"productType" type:"string" enum:"SavingsPlanProductType"`
  1387  
  1388  	// The services.
  1389  	ServiceCodes []*string `locationName:"serviceCodes" type:"list"`
  1390  
  1391  	// The usage details of the line item in the billing report.
  1392  	UsageTypes []*string `locationName:"usageTypes" type:"list"`
  1393  }
  1394  
  1395  // String returns the string representation.
  1396  //
  1397  // API parameter values that are decorated as "sensitive" in the API will not
  1398  // be included in the string output. The member name will be present, but the
  1399  // value will be replaced with "sensitive".
  1400  func (s DescribeSavingsPlansOfferingsInput) String() string {
  1401  	return awsutil.Prettify(s)
  1402  }
  1403  
  1404  // GoString returns the string representation.
  1405  //
  1406  // API parameter values that are decorated as "sensitive" in the API will not
  1407  // be included in the string output. The member name will be present, but the
  1408  // value will be replaced with "sensitive".
  1409  func (s DescribeSavingsPlansOfferingsInput) GoString() string {
  1410  	return s.String()
  1411  }
  1412  
  1413  // SetCurrencies sets the Currencies field's value.
  1414  func (s *DescribeSavingsPlansOfferingsInput) SetCurrencies(v []*string) *DescribeSavingsPlansOfferingsInput {
  1415  	s.Currencies = v
  1416  	return s
  1417  }
  1418  
  1419  // SetDescriptions sets the Descriptions field's value.
  1420  func (s *DescribeSavingsPlansOfferingsInput) SetDescriptions(v []*string) *DescribeSavingsPlansOfferingsInput {
  1421  	s.Descriptions = v
  1422  	return s
  1423  }
  1424  
  1425  // SetDurations sets the Durations field's value.
  1426  func (s *DescribeSavingsPlansOfferingsInput) SetDurations(v []*int64) *DescribeSavingsPlansOfferingsInput {
  1427  	s.Durations = v
  1428  	return s
  1429  }
  1430  
  1431  // SetFilters sets the Filters field's value.
  1432  func (s *DescribeSavingsPlansOfferingsInput) SetFilters(v []*SavingsPlanOfferingFilterElement) *DescribeSavingsPlansOfferingsInput {
  1433  	s.Filters = v
  1434  	return s
  1435  }
  1436  
  1437  // SetMaxResults sets the MaxResults field's value.
  1438  func (s *DescribeSavingsPlansOfferingsInput) SetMaxResults(v int64) *DescribeSavingsPlansOfferingsInput {
  1439  	s.MaxResults = &v
  1440  	return s
  1441  }
  1442  
  1443  // SetNextToken sets the NextToken field's value.
  1444  func (s *DescribeSavingsPlansOfferingsInput) SetNextToken(v string) *DescribeSavingsPlansOfferingsInput {
  1445  	s.NextToken = &v
  1446  	return s
  1447  }
  1448  
  1449  // SetOfferingIds sets the OfferingIds field's value.
  1450  func (s *DescribeSavingsPlansOfferingsInput) SetOfferingIds(v []*string) *DescribeSavingsPlansOfferingsInput {
  1451  	s.OfferingIds = v
  1452  	return s
  1453  }
  1454  
  1455  // SetOperations sets the Operations field's value.
  1456  func (s *DescribeSavingsPlansOfferingsInput) SetOperations(v []*string) *DescribeSavingsPlansOfferingsInput {
  1457  	s.Operations = v
  1458  	return s
  1459  }
  1460  
  1461  // SetPaymentOptions sets the PaymentOptions field's value.
  1462  func (s *DescribeSavingsPlansOfferingsInput) SetPaymentOptions(v []*string) *DescribeSavingsPlansOfferingsInput {
  1463  	s.PaymentOptions = v
  1464  	return s
  1465  }
  1466  
  1467  // SetPlanTypes sets the PlanTypes field's value.
  1468  func (s *DescribeSavingsPlansOfferingsInput) SetPlanTypes(v []*string) *DescribeSavingsPlansOfferingsInput {
  1469  	s.PlanTypes = v
  1470  	return s
  1471  }
  1472  
  1473  // SetProductType sets the ProductType field's value.
  1474  func (s *DescribeSavingsPlansOfferingsInput) SetProductType(v string) *DescribeSavingsPlansOfferingsInput {
  1475  	s.ProductType = &v
  1476  	return s
  1477  }
  1478  
  1479  // SetServiceCodes sets the ServiceCodes field's value.
  1480  func (s *DescribeSavingsPlansOfferingsInput) SetServiceCodes(v []*string) *DescribeSavingsPlansOfferingsInput {
  1481  	s.ServiceCodes = v
  1482  	return s
  1483  }
  1484  
  1485  // SetUsageTypes sets the UsageTypes field's value.
  1486  func (s *DescribeSavingsPlansOfferingsInput) SetUsageTypes(v []*string) *DescribeSavingsPlansOfferingsInput {
  1487  	s.UsageTypes = v
  1488  	return s
  1489  }
  1490  
  1491  type DescribeSavingsPlansOfferingsOutput struct {
  1492  	_ struct{} `type:"structure"`
  1493  
  1494  	// The token to use to retrieve the next page of results. This value is null
  1495  	// when there are no more results to return.
  1496  	NextToken *string `locationName:"nextToken" type:"string"`
  1497  
  1498  	// Information about the Savings Plans offerings.
  1499  	SearchResults []*SavingsPlanOffering `locationName:"searchResults" type:"list"`
  1500  }
  1501  
  1502  // String returns the string representation.
  1503  //
  1504  // API parameter values that are decorated as "sensitive" in the API will not
  1505  // be included in the string output. The member name will be present, but the
  1506  // value will be replaced with "sensitive".
  1507  func (s DescribeSavingsPlansOfferingsOutput) String() string {
  1508  	return awsutil.Prettify(s)
  1509  }
  1510  
  1511  // GoString returns the string representation.
  1512  //
  1513  // API parameter values that are decorated as "sensitive" in the API will not
  1514  // be included in the string output. The member name will be present, but the
  1515  // value will be replaced with "sensitive".
  1516  func (s DescribeSavingsPlansOfferingsOutput) GoString() string {
  1517  	return s.String()
  1518  }
  1519  
  1520  // SetNextToken sets the NextToken field's value.
  1521  func (s *DescribeSavingsPlansOfferingsOutput) SetNextToken(v string) *DescribeSavingsPlansOfferingsOutput {
  1522  	s.NextToken = &v
  1523  	return s
  1524  }
  1525  
  1526  // SetSearchResults sets the SearchResults field's value.
  1527  func (s *DescribeSavingsPlansOfferingsOutput) SetSearchResults(v []*SavingsPlanOffering) *DescribeSavingsPlansOfferingsOutput {
  1528  	s.SearchResults = v
  1529  	return s
  1530  }
  1531  
  1532  type DescribeSavingsPlansOutput struct {
  1533  	_ struct{} `type:"structure"`
  1534  
  1535  	// The token to use to retrieve the next page of results. This value is null
  1536  	// when there are no more results to return.
  1537  	NextToken *string `locationName:"nextToken" type:"string"`
  1538  
  1539  	// Information about the Savings Plans.
  1540  	SavingsPlans []*SavingsPlan `locationName:"savingsPlans" type:"list"`
  1541  }
  1542  
  1543  // String returns the string representation.
  1544  //
  1545  // API parameter values that are decorated as "sensitive" in the API will not
  1546  // be included in the string output. The member name will be present, but the
  1547  // value will be replaced with "sensitive".
  1548  func (s DescribeSavingsPlansOutput) String() string {
  1549  	return awsutil.Prettify(s)
  1550  }
  1551  
  1552  // GoString returns the string representation.
  1553  //
  1554  // API parameter values that are decorated as "sensitive" in the API will not
  1555  // be included in the string output. The member name will be present, but the
  1556  // value will be replaced with "sensitive".
  1557  func (s DescribeSavingsPlansOutput) GoString() string {
  1558  	return s.String()
  1559  }
  1560  
  1561  // SetNextToken sets the NextToken field's value.
  1562  func (s *DescribeSavingsPlansOutput) SetNextToken(v string) *DescribeSavingsPlansOutput {
  1563  	s.NextToken = &v
  1564  	return s
  1565  }
  1566  
  1567  // SetSavingsPlans sets the SavingsPlans field's value.
  1568  func (s *DescribeSavingsPlansOutput) SetSavingsPlans(v []*SavingsPlan) *DescribeSavingsPlansOutput {
  1569  	s.SavingsPlans = v
  1570  	return s
  1571  }
  1572  
  1573  // An unexpected error occurred.
  1574  type InternalServerException struct {
  1575  	_            struct{}                  `type:"structure"`
  1576  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1577  
  1578  	Message_ *string `locationName:"message" type:"string"`
  1579  }
  1580  
  1581  // String returns the string representation.
  1582  //
  1583  // API parameter values that are decorated as "sensitive" in the API will not
  1584  // be included in the string output. The member name will be present, but the
  1585  // value will be replaced with "sensitive".
  1586  func (s InternalServerException) String() string {
  1587  	return awsutil.Prettify(s)
  1588  }
  1589  
  1590  // GoString returns the string representation.
  1591  //
  1592  // API parameter values that are decorated as "sensitive" in the API will not
  1593  // be included in the string output. The member name will be present, but the
  1594  // value will be replaced with "sensitive".
  1595  func (s InternalServerException) GoString() string {
  1596  	return s.String()
  1597  }
  1598  
  1599  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  1600  	return &InternalServerException{
  1601  		RespMetadata: v,
  1602  	}
  1603  }
  1604  
  1605  // Code returns the exception type name.
  1606  func (s *InternalServerException) Code() string {
  1607  	return "InternalServerException"
  1608  }
  1609  
  1610  // Message returns the exception's message.
  1611  func (s *InternalServerException) Message() string {
  1612  	if s.Message_ != nil {
  1613  		return *s.Message_
  1614  	}
  1615  	return ""
  1616  }
  1617  
  1618  // OrigErr always returns nil, satisfies awserr.Error interface.
  1619  func (s *InternalServerException) OrigErr() error {
  1620  	return nil
  1621  }
  1622  
  1623  func (s *InternalServerException) Error() string {
  1624  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1625  }
  1626  
  1627  // Status code returns the HTTP status code for the request's response error.
  1628  func (s *InternalServerException) StatusCode() int {
  1629  	return s.RespMetadata.StatusCode
  1630  }
  1631  
  1632  // RequestID returns the service's response RequestID for request.
  1633  func (s *InternalServerException) RequestID() string {
  1634  	return s.RespMetadata.RequestID
  1635  }
  1636  
  1637  type ListTagsForResourceInput struct {
  1638  	_ struct{} `type:"structure"`
  1639  
  1640  	// The Amazon Resource Name (ARN) of the resource.
  1641  	//
  1642  	// ResourceArn is a required field
  1643  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  1644  }
  1645  
  1646  // String returns the string representation.
  1647  //
  1648  // API parameter values that are decorated as "sensitive" in the API will not
  1649  // be included in the string output. The member name will be present, but the
  1650  // value will be replaced with "sensitive".
  1651  func (s ListTagsForResourceInput) String() string {
  1652  	return awsutil.Prettify(s)
  1653  }
  1654  
  1655  // GoString returns the string representation.
  1656  //
  1657  // API parameter values that are decorated as "sensitive" in the API will not
  1658  // be included in the string output. The member name will be present, but the
  1659  // value will be replaced with "sensitive".
  1660  func (s ListTagsForResourceInput) GoString() string {
  1661  	return s.String()
  1662  }
  1663  
  1664  // Validate inspects the fields of the type to determine if they are valid.
  1665  func (s *ListTagsForResourceInput) Validate() error {
  1666  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  1667  	if s.ResourceArn == nil {
  1668  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1669  	}
  1670  
  1671  	if invalidParams.Len() > 0 {
  1672  		return invalidParams
  1673  	}
  1674  	return nil
  1675  }
  1676  
  1677  // SetResourceArn sets the ResourceArn field's value.
  1678  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  1679  	s.ResourceArn = &v
  1680  	return s
  1681  }
  1682  
  1683  type ListTagsForResourceOutput struct {
  1684  	_ struct{} `type:"structure"`
  1685  
  1686  	// Information about the tags.
  1687  	Tags map[string]*string `locationName:"tags" type:"map"`
  1688  }
  1689  
  1690  // String returns the string representation.
  1691  //
  1692  // API parameter values that are decorated as "sensitive" in the API will not
  1693  // be included in the string output. The member name will be present, but the
  1694  // value will be replaced with "sensitive".
  1695  func (s ListTagsForResourceOutput) String() string {
  1696  	return awsutil.Prettify(s)
  1697  }
  1698  
  1699  // GoString returns the string representation.
  1700  //
  1701  // API parameter values that are decorated as "sensitive" in the API will not
  1702  // be included in the string output. The member name will be present, but the
  1703  // value will be replaced with "sensitive".
  1704  func (s ListTagsForResourceOutput) GoString() string {
  1705  	return s.String()
  1706  }
  1707  
  1708  // SetTags sets the Tags field's value.
  1709  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  1710  	s.Tags = v
  1711  	return s
  1712  }
  1713  
  1714  // Information about a Savings Plan offering.
  1715  type ParentSavingsPlanOffering struct {
  1716  	_ struct{} `type:"structure"`
  1717  
  1718  	// The currency.
  1719  	Currency *string `locationName:"currency" type:"string" enum:"CurrencyCode"`
  1720  
  1721  	// The duration, in seconds.
  1722  	DurationSeconds *int64 `locationName:"durationSeconds" type:"long"`
  1723  
  1724  	// The ID of the offering.
  1725  	OfferingId *string `locationName:"offeringId" type:"string"`
  1726  
  1727  	// The payment option.
  1728  	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"SavingsPlanPaymentOption"`
  1729  
  1730  	// The description.
  1731  	PlanDescription *string `locationName:"planDescription" type:"string"`
  1732  
  1733  	// The plan type.
  1734  	PlanType *string `locationName:"planType" type:"string" enum:"SavingsPlanType"`
  1735  }
  1736  
  1737  // String returns the string representation.
  1738  //
  1739  // API parameter values that are decorated as "sensitive" in the API will not
  1740  // be included in the string output. The member name will be present, but the
  1741  // value will be replaced with "sensitive".
  1742  func (s ParentSavingsPlanOffering) String() string {
  1743  	return awsutil.Prettify(s)
  1744  }
  1745  
  1746  // GoString returns the string representation.
  1747  //
  1748  // API parameter values that are decorated as "sensitive" in the API will not
  1749  // be included in the string output. The member name will be present, but the
  1750  // value will be replaced with "sensitive".
  1751  func (s ParentSavingsPlanOffering) GoString() string {
  1752  	return s.String()
  1753  }
  1754  
  1755  // SetCurrency sets the Currency field's value.
  1756  func (s *ParentSavingsPlanOffering) SetCurrency(v string) *ParentSavingsPlanOffering {
  1757  	s.Currency = &v
  1758  	return s
  1759  }
  1760  
  1761  // SetDurationSeconds sets the DurationSeconds field's value.
  1762  func (s *ParentSavingsPlanOffering) SetDurationSeconds(v int64) *ParentSavingsPlanOffering {
  1763  	s.DurationSeconds = &v
  1764  	return s
  1765  }
  1766  
  1767  // SetOfferingId sets the OfferingId field's value.
  1768  func (s *ParentSavingsPlanOffering) SetOfferingId(v string) *ParentSavingsPlanOffering {
  1769  	s.OfferingId = &v
  1770  	return s
  1771  }
  1772  
  1773  // SetPaymentOption sets the PaymentOption field's value.
  1774  func (s *ParentSavingsPlanOffering) SetPaymentOption(v string) *ParentSavingsPlanOffering {
  1775  	s.PaymentOption = &v
  1776  	return s
  1777  }
  1778  
  1779  // SetPlanDescription sets the PlanDescription field's value.
  1780  func (s *ParentSavingsPlanOffering) SetPlanDescription(v string) *ParentSavingsPlanOffering {
  1781  	s.PlanDescription = &v
  1782  	return s
  1783  }
  1784  
  1785  // SetPlanType sets the PlanType field's value.
  1786  func (s *ParentSavingsPlanOffering) SetPlanType(v string) *ParentSavingsPlanOffering {
  1787  	s.PlanType = &v
  1788  	return s
  1789  }
  1790  
  1791  // The specified resource was not found.
  1792  type ResourceNotFoundException struct {
  1793  	_            struct{}                  `type:"structure"`
  1794  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1795  
  1796  	Message_ *string `locationName:"message" type:"string"`
  1797  }
  1798  
  1799  // String returns the string representation.
  1800  //
  1801  // API parameter values that are decorated as "sensitive" in the API will not
  1802  // be included in the string output. The member name will be present, but the
  1803  // value will be replaced with "sensitive".
  1804  func (s ResourceNotFoundException) String() string {
  1805  	return awsutil.Prettify(s)
  1806  }
  1807  
  1808  // GoString returns the string representation.
  1809  //
  1810  // API parameter values that are decorated as "sensitive" in the API will not
  1811  // be included in the string output. The member name will be present, but the
  1812  // value will be replaced with "sensitive".
  1813  func (s ResourceNotFoundException) GoString() string {
  1814  	return s.String()
  1815  }
  1816  
  1817  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  1818  	return &ResourceNotFoundException{
  1819  		RespMetadata: v,
  1820  	}
  1821  }
  1822  
  1823  // Code returns the exception type name.
  1824  func (s *ResourceNotFoundException) Code() string {
  1825  	return "ResourceNotFoundException"
  1826  }
  1827  
  1828  // Message returns the exception's message.
  1829  func (s *ResourceNotFoundException) Message() string {
  1830  	if s.Message_ != nil {
  1831  		return *s.Message_
  1832  	}
  1833  	return ""
  1834  }
  1835  
  1836  // OrigErr always returns nil, satisfies awserr.Error interface.
  1837  func (s *ResourceNotFoundException) OrigErr() error {
  1838  	return nil
  1839  }
  1840  
  1841  func (s *ResourceNotFoundException) Error() string {
  1842  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1843  }
  1844  
  1845  // Status code returns the HTTP status code for the request's response error.
  1846  func (s *ResourceNotFoundException) StatusCode() int {
  1847  	return s.RespMetadata.StatusCode
  1848  }
  1849  
  1850  // RequestID returns the service's response RequestID for request.
  1851  func (s *ResourceNotFoundException) RequestID() string {
  1852  	return s.RespMetadata.RequestID
  1853  }
  1854  
  1855  // Information about a Savings Plan.
  1856  type SavingsPlan struct {
  1857  	_ struct{} `type:"structure"`
  1858  
  1859  	// The hourly commitment, in USD.
  1860  	Commitment *string `locationName:"commitment" type:"string"`
  1861  
  1862  	// The currency.
  1863  	Currency *string `locationName:"currency" type:"string" enum:"CurrencyCode"`
  1864  
  1865  	// The description.
  1866  	Description *string `locationName:"description" type:"string"`
  1867  
  1868  	// The EC2 instance family.
  1869  	Ec2InstanceFamily *string `locationName:"ec2InstanceFamily" type:"string"`
  1870  
  1871  	// The end time.
  1872  	End *string `locationName:"end" type:"string"`
  1873  
  1874  	// The ID of the offering.
  1875  	OfferingId *string `locationName:"offeringId" type:"string"`
  1876  
  1877  	// The payment option.
  1878  	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"SavingsPlanPaymentOption"`
  1879  
  1880  	// The product types.
  1881  	ProductTypes []*string `locationName:"productTypes" type:"list"`
  1882  
  1883  	// The recurring payment amount.
  1884  	RecurringPaymentAmount *string `locationName:"recurringPaymentAmount" type:"string"`
  1885  
  1886  	// The AWS Region.
  1887  	Region *string `locationName:"region" type:"string"`
  1888  
  1889  	// The Amazon Resource Name (ARN) of the Savings Plan.
  1890  	SavingsPlanArn *string `locationName:"savingsPlanArn" type:"string"`
  1891  
  1892  	// The ID of the Savings Plan.
  1893  	SavingsPlanId *string `locationName:"savingsPlanId" type:"string"`
  1894  
  1895  	// The plan type.
  1896  	SavingsPlanType *string `locationName:"savingsPlanType" type:"string" enum:"SavingsPlanType"`
  1897  
  1898  	// The start time.
  1899  	Start *string `locationName:"start" type:"string"`
  1900  
  1901  	// The state.
  1902  	State *string `locationName:"state" type:"string" enum:"SavingsPlanState"`
  1903  
  1904  	// One or more tags.
  1905  	Tags map[string]*string `locationName:"tags" type:"map"`
  1906  
  1907  	// The duration of the term, in seconds.
  1908  	TermDurationInSeconds *int64 `locationName:"termDurationInSeconds" type:"long"`
  1909  
  1910  	// The up-front payment amount.
  1911  	UpfrontPaymentAmount *string `locationName:"upfrontPaymentAmount" type:"string"`
  1912  }
  1913  
  1914  // String returns the string representation.
  1915  //
  1916  // API parameter values that are decorated as "sensitive" in the API will not
  1917  // be included in the string output. The member name will be present, but the
  1918  // value will be replaced with "sensitive".
  1919  func (s SavingsPlan) String() string {
  1920  	return awsutil.Prettify(s)
  1921  }
  1922  
  1923  // GoString returns the string representation.
  1924  //
  1925  // API parameter values that are decorated as "sensitive" in the API will not
  1926  // be included in the string output. The member name will be present, but the
  1927  // value will be replaced with "sensitive".
  1928  func (s SavingsPlan) GoString() string {
  1929  	return s.String()
  1930  }
  1931  
  1932  // SetCommitment sets the Commitment field's value.
  1933  func (s *SavingsPlan) SetCommitment(v string) *SavingsPlan {
  1934  	s.Commitment = &v
  1935  	return s
  1936  }
  1937  
  1938  // SetCurrency sets the Currency field's value.
  1939  func (s *SavingsPlan) SetCurrency(v string) *SavingsPlan {
  1940  	s.Currency = &v
  1941  	return s
  1942  }
  1943  
  1944  // SetDescription sets the Description field's value.
  1945  func (s *SavingsPlan) SetDescription(v string) *SavingsPlan {
  1946  	s.Description = &v
  1947  	return s
  1948  }
  1949  
  1950  // SetEc2InstanceFamily sets the Ec2InstanceFamily field's value.
  1951  func (s *SavingsPlan) SetEc2InstanceFamily(v string) *SavingsPlan {
  1952  	s.Ec2InstanceFamily = &v
  1953  	return s
  1954  }
  1955  
  1956  // SetEnd sets the End field's value.
  1957  func (s *SavingsPlan) SetEnd(v string) *SavingsPlan {
  1958  	s.End = &v
  1959  	return s
  1960  }
  1961  
  1962  // SetOfferingId sets the OfferingId field's value.
  1963  func (s *SavingsPlan) SetOfferingId(v string) *SavingsPlan {
  1964  	s.OfferingId = &v
  1965  	return s
  1966  }
  1967  
  1968  // SetPaymentOption sets the PaymentOption field's value.
  1969  func (s *SavingsPlan) SetPaymentOption(v string) *SavingsPlan {
  1970  	s.PaymentOption = &v
  1971  	return s
  1972  }
  1973  
  1974  // SetProductTypes sets the ProductTypes field's value.
  1975  func (s *SavingsPlan) SetProductTypes(v []*string) *SavingsPlan {
  1976  	s.ProductTypes = v
  1977  	return s
  1978  }
  1979  
  1980  // SetRecurringPaymentAmount sets the RecurringPaymentAmount field's value.
  1981  func (s *SavingsPlan) SetRecurringPaymentAmount(v string) *SavingsPlan {
  1982  	s.RecurringPaymentAmount = &v
  1983  	return s
  1984  }
  1985  
  1986  // SetRegion sets the Region field's value.
  1987  func (s *SavingsPlan) SetRegion(v string) *SavingsPlan {
  1988  	s.Region = &v
  1989  	return s
  1990  }
  1991  
  1992  // SetSavingsPlanArn sets the SavingsPlanArn field's value.
  1993  func (s *SavingsPlan) SetSavingsPlanArn(v string) *SavingsPlan {
  1994  	s.SavingsPlanArn = &v
  1995  	return s
  1996  }
  1997  
  1998  // SetSavingsPlanId sets the SavingsPlanId field's value.
  1999  func (s *SavingsPlan) SetSavingsPlanId(v string) *SavingsPlan {
  2000  	s.SavingsPlanId = &v
  2001  	return s
  2002  }
  2003  
  2004  // SetSavingsPlanType sets the SavingsPlanType field's value.
  2005  func (s *SavingsPlan) SetSavingsPlanType(v string) *SavingsPlan {
  2006  	s.SavingsPlanType = &v
  2007  	return s
  2008  }
  2009  
  2010  // SetStart sets the Start field's value.
  2011  func (s *SavingsPlan) SetStart(v string) *SavingsPlan {
  2012  	s.Start = &v
  2013  	return s
  2014  }
  2015  
  2016  // SetState sets the State field's value.
  2017  func (s *SavingsPlan) SetState(v string) *SavingsPlan {
  2018  	s.State = &v
  2019  	return s
  2020  }
  2021  
  2022  // SetTags sets the Tags field's value.
  2023  func (s *SavingsPlan) SetTags(v map[string]*string) *SavingsPlan {
  2024  	s.Tags = v
  2025  	return s
  2026  }
  2027  
  2028  // SetTermDurationInSeconds sets the TermDurationInSeconds field's value.
  2029  func (s *SavingsPlan) SetTermDurationInSeconds(v int64) *SavingsPlan {
  2030  	s.TermDurationInSeconds = &v
  2031  	return s
  2032  }
  2033  
  2034  // SetUpfrontPaymentAmount sets the UpfrontPaymentAmount field's value.
  2035  func (s *SavingsPlan) SetUpfrontPaymentAmount(v string) *SavingsPlan {
  2036  	s.UpfrontPaymentAmount = &v
  2037  	return s
  2038  }
  2039  
  2040  // Information about a filter.
  2041  type SavingsPlanFilter struct {
  2042  	_ struct{} `type:"structure"`
  2043  
  2044  	// The filter name.
  2045  	Name *string `locationName:"name" type:"string" enum:"SavingsPlansFilterName"`
  2046  
  2047  	// The filter value.
  2048  	Values []*string `locationName:"values" type:"list"`
  2049  }
  2050  
  2051  // String returns the string representation.
  2052  //
  2053  // API parameter values that are decorated as "sensitive" in the API will not
  2054  // be included in the string output. The member name will be present, but the
  2055  // value will be replaced with "sensitive".
  2056  func (s SavingsPlanFilter) String() string {
  2057  	return awsutil.Prettify(s)
  2058  }
  2059  
  2060  // GoString returns the string representation.
  2061  //
  2062  // API parameter values that are decorated as "sensitive" in the API will not
  2063  // be included in the string output. The member name will be present, but the
  2064  // value will be replaced with "sensitive".
  2065  func (s SavingsPlanFilter) GoString() string {
  2066  	return s.String()
  2067  }
  2068  
  2069  // SetName sets the Name field's value.
  2070  func (s *SavingsPlanFilter) SetName(v string) *SavingsPlanFilter {
  2071  	s.Name = &v
  2072  	return s
  2073  }
  2074  
  2075  // SetValues sets the Values field's value.
  2076  func (s *SavingsPlanFilter) SetValues(v []*string) *SavingsPlanFilter {
  2077  	s.Values = v
  2078  	return s
  2079  }
  2080  
  2081  // Information about a Savings Plan offering.
  2082  type SavingsPlanOffering struct {
  2083  	_ struct{} `type:"structure"`
  2084  
  2085  	// The currency.
  2086  	Currency *string `locationName:"currency" type:"string" enum:"CurrencyCode"`
  2087  
  2088  	// The description.
  2089  	Description *string `locationName:"description" type:"string"`
  2090  
  2091  	// The duration, in seconds.
  2092  	DurationSeconds *int64 `locationName:"durationSeconds" type:"long"`
  2093  
  2094  	// The ID of the offering.
  2095  	OfferingId *string `locationName:"offeringId" type:"string"`
  2096  
  2097  	// The specific AWS operation for the line item in the billing report.
  2098  	Operation *string `locationName:"operation" type:"string"`
  2099  
  2100  	// The payment option.
  2101  	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"SavingsPlanPaymentOption"`
  2102  
  2103  	// The plan type.
  2104  	PlanType *string `locationName:"planType" type:"string" enum:"SavingsPlanType"`
  2105  
  2106  	// The product type.
  2107  	ProductTypes []*string `locationName:"productTypes" type:"list"`
  2108  
  2109  	// The properties.
  2110  	Properties []*SavingsPlanOfferingProperty `locationName:"properties" type:"list"`
  2111  
  2112  	// The service.
  2113  	ServiceCode *string `locationName:"serviceCode" type:"string"`
  2114  
  2115  	// The usage details of the line item in the billing report.
  2116  	UsageType *string `locationName:"usageType" type:"string"`
  2117  }
  2118  
  2119  // String returns the string representation.
  2120  //
  2121  // API parameter values that are decorated as "sensitive" in the API will not
  2122  // be included in the string output. The member name will be present, but the
  2123  // value will be replaced with "sensitive".
  2124  func (s SavingsPlanOffering) String() string {
  2125  	return awsutil.Prettify(s)
  2126  }
  2127  
  2128  // GoString returns the string representation.
  2129  //
  2130  // API parameter values that are decorated as "sensitive" in the API will not
  2131  // be included in the string output. The member name will be present, but the
  2132  // value will be replaced with "sensitive".
  2133  func (s SavingsPlanOffering) GoString() string {
  2134  	return s.String()
  2135  }
  2136  
  2137  // SetCurrency sets the Currency field's value.
  2138  func (s *SavingsPlanOffering) SetCurrency(v string) *SavingsPlanOffering {
  2139  	s.Currency = &v
  2140  	return s
  2141  }
  2142  
  2143  // SetDescription sets the Description field's value.
  2144  func (s *SavingsPlanOffering) SetDescription(v string) *SavingsPlanOffering {
  2145  	s.Description = &v
  2146  	return s
  2147  }
  2148  
  2149  // SetDurationSeconds sets the DurationSeconds field's value.
  2150  func (s *SavingsPlanOffering) SetDurationSeconds(v int64) *SavingsPlanOffering {
  2151  	s.DurationSeconds = &v
  2152  	return s
  2153  }
  2154  
  2155  // SetOfferingId sets the OfferingId field's value.
  2156  func (s *SavingsPlanOffering) SetOfferingId(v string) *SavingsPlanOffering {
  2157  	s.OfferingId = &v
  2158  	return s
  2159  }
  2160  
  2161  // SetOperation sets the Operation field's value.
  2162  func (s *SavingsPlanOffering) SetOperation(v string) *SavingsPlanOffering {
  2163  	s.Operation = &v
  2164  	return s
  2165  }
  2166  
  2167  // SetPaymentOption sets the PaymentOption field's value.
  2168  func (s *SavingsPlanOffering) SetPaymentOption(v string) *SavingsPlanOffering {
  2169  	s.PaymentOption = &v
  2170  	return s
  2171  }
  2172  
  2173  // SetPlanType sets the PlanType field's value.
  2174  func (s *SavingsPlanOffering) SetPlanType(v string) *SavingsPlanOffering {
  2175  	s.PlanType = &v
  2176  	return s
  2177  }
  2178  
  2179  // SetProductTypes sets the ProductTypes field's value.
  2180  func (s *SavingsPlanOffering) SetProductTypes(v []*string) *SavingsPlanOffering {
  2181  	s.ProductTypes = v
  2182  	return s
  2183  }
  2184  
  2185  // SetProperties sets the Properties field's value.
  2186  func (s *SavingsPlanOffering) SetProperties(v []*SavingsPlanOfferingProperty) *SavingsPlanOffering {
  2187  	s.Properties = v
  2188  	return s
  2189  }
  2190  
  2191  // SetServiceCode sets the ServiceCode field's value.
  2192  func (s *SavingsPlanOffering) SetServiceCode(v string) *SavingsPlanOffering {
  2193  	s.ServiceCode = &v
  2194  	return s
  2195  }
  2196  
  2197  // SetUsageType sets the UsageType field's value.
  2198  func (s *SavingsPlanOffering) SetUsageType(v string) *SavingsPlanOffering {
  2199  	s.UsageType = &v
  2200  	return s
  2201  }
  2202  
  2203  // Information about a filter.
  2204  type SavingsPlanOfferingFilterElement struct {
  2205  	_ struct{} `type:"structure"`
  2206  
  2207  	// The filter name.
  2208  	Name *string `locationName:"name" type:"string" enum:"SavingsPlanOfferingFilterAttribute"`
  2209  
  2210  	// The filter values.
  2211  	Values []*string `locationName:"values" type:"list"`
  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 SavingsPlanOfferingFilterElement) 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 SavingsPlanOfferingFilterElement) GoString() string {
  2229  	return s.String()
  2230  }
  2231  
  2232  // SetName sets the Name field's value.
  2233  func (s *SavingsPlanOfferingFilterElement) SetName(v string) *SavingsPlanOfferingFilterElement {
  2234  	s.Name = &v
  2235  	return s
  2236  }
  2237  
  2238  // SetValues sets the Values field's value.
  2239  func (s *SavingsPlanOfferingFilterElement) SetValues(v []*string) *SavingsPlanOfferingFilterElement {
  2240  	s.Values = v
  2241  	return s
  2242  }
  2243  
  2244  // Information about a property.
  2245  type SavingsPlanOfferingProperty struct {
  2246  	_ struct{} `type:"structure"`
  2247  
  2248  	// The property name.
  2249  	Name *string `locationName:"name" type:"string" enum:"SavingsPlanOfferingPropertyKey"`
  2250  
  2251  	// The property value.
  2252  	Value *string `locationName:"value" type:"string"`
  2253  }
  2254  
  2255  // String returns the string representation.
  2256  //
  2257  // API parameter values that are decorated as "sensitive" in the API will not
  2258  // be included in the string output. The member name will be present, but the
  2259  // value will be replaced with "sensitive".
  2260  func (s SavingsPlanOfferingProperty) String() string {
  2261  	return awsutil.Prettify(s)
  2262  }
  2263  
  2264  // GoString returns the string representation.
  2265  //
  2266  // API parameter values that are decorated as "sensitive" in the API will not
  2267  // be included in the string output. The member name will be present, but the
  2268  // value will be replaced with "sensitive".
  2269  func (s SavingsPlanOfferingProperty) GoString() string {
  2270  	return s.String()
  2271  }
  2272  
  2273  // SetName sets the Name field's value.
  2274  func (s *SavingsPlanOfferingProperty) SetName(v string) *SavingsPlanOfferingProperty {
  2275  	s.Name = &v
  2276  	return s
  2277  }
  2278  
  2279  // SetValue sets the Value field's value.
  2280  func (s *SavingsPlanOfferingProperty) SetValue(v string) *SavingsPlanOfferingProperty {
  2281  	s.Value = &v
  2282  	return s
  2283  }
  2284  
  2285  // Information about a Savings Plan offering rate.
  2286  type SavingsPlanOfferingRate struct {
  2287  	_ struct{} `type:"structure"`
  2288  
  2289  	// The specific AWS operation for the line item in the billing report.
  2290  	Operation *string `locationName:"operation" type:"string"`
  2291  
  2292  	// The product type.
  2293  	ProductType *string `locationName:"productType" type:"string" enum:"SavingsPlanProductType"`
  2294  
  2295  	// The properties.
  2296  	Properties []*SavingsPlanOfferingRateProperty `locationName:"properties" type:"list"`
  2297  
  2298  	// The Savings Plan rate.
  2299  	Rate *string `locationName:"rate" type:"string"`
  2300  
  2301  	// The Savings Plan offering.
  2302  	SavingsPlanOffering *ParentSavingsPlanOffering `locationName:"savingsPlanOffering" type:"structure"`
  2303  
  2304  	// The service.
  2305  	ServiceCode *string `locationName:"serviceCode" type:"string" enum:"SavingsPlanRateServiceCode"`
  2306  
  2307  	// The unit.
  2308  	Unit *string `locationName:"unit" type:"string" enum:"SavingsPlanRateUnit"`
  2309  
  2310  	// The usage details of the line item in the billing report.
  2311  	UsageType *string `locationName:"usageType" type:"string"`
  2312  }
  2313  
  2314  // String returns the string representation.
  2315  //
  2316  // API parameter values that are decorated as "sensitive" in the API will not
  2317  // be included in the string output. The member name will be present, but the
  2318  // value will be replaced with "sensitive".
  2319  func (s SavingsPlanOfferingRate) String() string {
  2320  	return awsutil.Prettify(s)
  2321  }
  2322  
  2323  // GoString returns the string representation.
  2324  //
  2325  // API parameter values that are decorated as "sensitive" in the API will not
  2326  // be included in the string output. The member name will be present, but the
  2327  // value will be replaced with "sensitive".
  2328  func (s SavingsPlanOfferingRate) GoString() string {
  2329  	return s.String()
  2330  }
  2331  
  2332  // SetOperation sets the Operation field's value.
  2333  func (s *SavingsPlanOfferingRate) SetOperation(v string) *SavingsPlanOfferingRate {
  2334  	s.Operation = &v
  2335  	return s
  2336  }
  2337  
  2338  // SetProductType sets the ProductType field's value.
  2339  func (s *SavingsPlanOfferingRate) SetProductType(v string) *SavingsPlanOfferingRate {
  2340  	s.ProductType = &v
  2341  	return s
  2342  }
  2343  
  2344  // SetProperties sets the Properties field's value.
  2345  func (s *SavingsPlanOfferingRate) SetProperties(v []*SavingsPlanOfferingRateProperty) *SavingsPlanOfferingRate {
  2346  	s.Properties = v
  2347  	return s
  2348  }
  2349  
  2350  // SetRate sets the Rate field's value.
  2351  func (s *SavingsPlanOfferingRate) SetRate(v string) *SavingsPlanOfferingRate {
  2352  	s.Rate = &v
  2353  	return s
  2354  }
  2355  
  2356  // SetSavingsPlanOffering sets the SavingsPlanOffering field's value.
  2357  func (s *SavingsPlanOfferingRate) SetSavingsPlanOffering(v *ParentSavingsPlanOffering) *SavingsPlanOfferingRate {
  2358  	s.SavingsPlanOffering = v
  2359  	return s
  2360  }
  2361  
  2362  // SetServiceCode sets the ServiceCode field's value.
  2363  func (s *SavingsPlanOfferingRate) SetServiceCode(v string) *SavingsPlanOfferingRate {
  2364  	s.ServiceCode = &v
  2365  	return s
  2366  }
  2367  
  2368  // SetUnit sets the Unit field's value.
  2369  func (s *SavingsPlanOfferingRate) SetUnit(v string) *SavingsPlanOfferingRate {
  2370  	s.Unit = &v
  2371  	return s
  2372  }
  2373  
  2374  // SetUsageType sets the UsageType field's value.
  2375  func (s *SavingsPlanOfferingRate) SetUsageType(v string) *SavingsPlanOfferingRate {
  2376  	s.UsageType = &v
  2377  	return s
  2378  }
  2379  
  2380  // Information about a filter.
  2381  type SavingsPlanOfferingRateFilterElement struct {
  2382  	_ struct{} `type:"structure"`
  2383  
  2384  	// The filter name.
  2385  	Name *string `locationName:"name" type:"string" enum:"SavingsPlanRateFilterAttribute"`
  2386  
  2387  	// The filter values.
  2388  	Values []*string `locationName:"values" type:"list"`
  2389  }
  2390  
  2391  // String returns the string representation.
  2392  //
  2393  // API parameter values that are decorated as "sensitive" in the API will not
  2394  // be included in the string output. The member name will be present, but the
  2395  // value will be replaced with "sensitive".
  2396  func (s SavingsPlanOfferingRateFilterElement) String() string {
  2397  	return awsutil.Prettify(s)
  2398  }
  2399  
  2400  // GoString returns the string representation.
  2401  //
  2402  // API parameter values that are decorated as "sensitive" in the API will not
  2403  // be included in the string output. The member name will be present, but the
  2404  // value will be replaced with "sensitive".
  2405  func (s SavingsPlanOfferingRateFilterElement) GoString() string {
  2406  	return s.String()
  2407  }
  2408  
  2409  // SetName sets the Name field's value.
  2410  func (s *SavingsPlanOfferingRateFilterElement) SetName(v string) *SavingsPlanOfferingRateFilterElement {
  2411  	s.Name = &v
  2412  	return s
  2413  }
  2414  
  2415  // SetValues sets the Values field's value.
  2416  func (s *SavingsPlanOfferingRateFilterElement) SetValues(v []*string) *SavingsPlanOfferingRateFilterElement {
  2417  	s.Values = v
  2418  	return s
  2419  }
  2420  
  2421  // Information about a property.
  2422  type SavingsPlanOfferingRateProperty struct {
  2423  	_ struct{} `type:"structure"`
  2424  
  2425  	// The property name.
  2426  	Name *string `locationName:"name" type:"string"`
  2427  
  2428  	// The property value.
  2429  	Value *string `locationName:"value" type:"string"`
  2430  }
  2431  
  2432  // String returns the string representation.
  2433  //
  2434  // API parameter values that are decorated as "sensitive" in the API will not
  2435  // be included in the string output. The member name will be present, but the
  2436  // value will be replaced with "sensitive".
  2437  func (s SavingsPlanOfferingRateProperty) String() string {
  2438  	return awsutil.Prettify(s)
  2439  }
  2440  
  2441  // GoString returns the string representation.
  2442  //
  2443  // API parameter values that are decorated as "sensitive" in the API will not
  2444  // be included in the string output. The member name will be present, but the
  2445  // value will be replaced with "sensitive".
  2446  func (s SavingsPlanOfferingRateProperty) GoString() string {
  2447  	return s.String()
  2448  }
  2449  
  2450  // SetName sets the Name field's value.
  2451  func (s *SavingsPlanOfferingRateProperty) SetName(v string) *SavingsPlanOfferingRateProperty {
  2452  	s.Name = &v
  2453  	return s
  2454  }
  2455  
  2456  // SetValue sets the Value field's value.
  2457  func (s *SavingsPlanOfferingRateProperty) SetValue(v string) *SavingsPlanOfferingRateProperty {
  2458  	s.Value = &v
  2459  	return s
  2460  }
  2461  
  2462  // Information about a Savings Plan rate.
  2463  type SavingsPlanRate struct {
  2464  	_ struct{} `type:"structure"`
  2465  
  2466  	// The currency.
  2467  	Currency *string `locationName:"currency" type:"string" enum:"CurrencyCode"`
  2468  
  2469  	// The specific AWS operation for the line item in the billing report.
  2470  	Operation *string `locationName:"operation" type:"string"`
  2471  
  2472  	// The product type.
  2473  	ProductType *string `locationName:"productType" type:"string" enum:"SavingsPlanProductType"`
  2474  
  2475  	// The properties.
  2476  	Properties []*SavingsPlanRateProperty `locationName:"properties" type:"list"`
  2477  
  2478  	// The rate.
  2479  	Rate *string `locationName:"rate" type:"string"`
  2480  
  2481  	// The service.
  2482  	ServiceCode *string `locationName:"serviceCode" type:"string" enum:"SavingsPlanRateServiceCode"`
  2483  
  2484  	// The unit.
  2485  	Unit *string `locationName:"unit" type:"string" enum:"SavingsPlanRateUnit"`
  2486  
  2487  	// The usage details of the line item in the billing report.
  2488  	UsageType *string `locationName:"usageType" type:"string"`
  2489  }
  2490  
  2491  // String returns the string representation.
  2492  //
  2493  // API parameter values that are decorated as "sensitive" in the API will not
  2494  // be included in the string output. The member name will be present, but the
  2495  // value will be replaced with "sensitive".
  2496  func (s SavingsPlanRate) String() string {
  2497  	return awsutil.Prettify(s)
  2498  }
  2499  
  2500  // GoString returns the string representation.
  2501  //
  2502  // API parameter values that are decorated as "sensitive" in the API will not
  2503  // be included in the string output. The member name will be present, but the
  2504  // value will be replaced with "sensitive".
  2505  func (s SavingsPlanRate) GoString() string {
  2506  	return s.String()
  2507  }
  2508  
  2509  // SetCurrency sets the Currency field's value.
  2510  func (s *SavingsPlanRate) SetCurrency(v string) *SavingsPlanRate {
  2511  	s.Currency = &v
  2512  	return s
  2513  }
  2514  
  2515  // SetOperation sets the Operation field's value.
  2516  func (s *SavingsPlanRate) SetOperation(v string) *SavingsPlanRate {
  2517  	s.Operation = &v
  2518  	return s
  2519  }
  2520  
  2521  // SetProductType sets the ProductType field's value.
  2522  func (s *SavingsPlanRate) SetProductType(v string) *SavingsPlanRate {
  2523  	s.ProductType = &v
  2524  	return s
  2525  }
  2526  
  2527  // SetProperties sets the Properties field's value.
  2528  func (s *SavingsPlanRate) SetProperties(v []*SavingsPlanRateProperty) *SavingsPlanRate {
  2529  	s.Properties = v
  2530  	return s
  2531  }
  2532  
  2533  // SetRate sets the Rate field's value.
  2534  func (s *SavingsPlanRate) SetRate(v string) *SavingsPlanRate {
  2535  	s.Rate = &v
  2536  	return s
  2537  }
  2538  
  2539  // SetServiceCode sets the ServiceCode field's value.
  2540  func (s *SavingsPlanRate) SetServiceCode(v string) *SavingsPlanRate {
  2541  	s.ServiceCode = &v
  2542  	return s
  2543  }
  2544  
  2545  // SetUnit sets the Unit field's value.
  2546  func (s *SavingsPlanRate) SetUnit(v string) *SavingsPlanRate {
  2547  	s.Unit = &v
  2548  	return s
  2549  }
  2550  
  2551  // SetUsageType sets the UsageType field's value.
  2552  func (s *SavingsPlanRate) SetUsageType(v string) *SavingsPlanRate {
  2553  	s.UsageType = &v
  2554  	return s
  2555  }
  2556  
  2557  // Information about a filter.
  2558  type SavingsPlanRateFilter struct {
  2559  	_ struct{} `type:"structure"`
  2560  
  2561  	// The filter name.
  2562  	Name *string `locationName:"name" type:"string" enum:"SavingsPlanRateFilterName"`
  2563  
  2564  	// The filter values.
  2565  	Values []*string `locationName:"values" type:"list"`
  2566  }
  2567  
  2568  // String returns the string representation.
  2569  //
  2570  // API parameter values that are decorated as "sensitive" in the API will not
  2571  // be included in the string output. The member name will be present, but the
  2572  // value will be replaced with "sensitive".
  2573  func (s SavingsPlanRateFilter) String() string {
  2574  	return awsutil.Prettify(s)
  2575  }
  2576  
  2577  // GoString returns the string representation.
  2578  //
  2579  // API parameter values that are decorated as "sensitive" in the API will not
  2580  // be included in the string output. The member name will be present, but the
  2581  // value will be replaced with "sensitive".
  2582  func (s SavingsPlanRateFilter) GoString() string {
  2583  	return s.String()
  2584  }
  2585  
  2586  // SetName sets the Name field's value.
  2587  func (s *SavingsPlanRateFilter) SetName(v string) *SavingsPlanRateFilter {
  2588  	s.Name = &v
  2589  	return s
  2590  }
  2591  
  2592  // SetValues sets the Values field's value.
  2593  func (s *SavingsPlanRateFilter) SetValues(v []*string) *SavingsPlanRateFilter {
  2594  	s.Values = v
  2595  	return s
  2596  }
  2597  
  2598  // Information about a property.
  2599  type SavingsPlanRateProperty struct {
  2600  	_ struct{} `type:"structure"`
  2601  
  2602  	// The property name.
  2603  	Name *string `locationName:"name" type:"string" enum:"SavingsPlanRatePropertyKey"`
  2604  
  2605  	// The property value.
  2606  	Value *string `locationName:"value" type:"string"`
  2607  }
  2608  
  2609  // String returns the string representation.
  2610  //
  2611  // API parameter values that are decorated as "sensitive" in the API will not
  2612  // be included in the string output. The member name will be present, but the
  2613  // value will be replaced with "sensitive".
  2614  func (s SavingsPlanRateProperty) String() string {
  2615  	return awsutil.Prettify(s)
  2616  }
  2617  
  2618  // GoString returns the string representation.
  2619  //
  2620  // API parameter values that are decorated as "sensitive" in the API will not
  2621  // be included in the string output. The member name will be present, but the
  2622  // value will be replaced with "sensitive".
  2623  func (s SavingsPlanRateProperty) GoString() string {
  2624  	return s.String()
  2625  }
  2626  
  2627  // SetName sets the Name field's value.
  2628  func (s *SavingsPlanRateProperty) SetName(v string) *SavingsPlanRateProperty {
  2629  	s.Name = &v
  2630  	return s
  2631  }
  2632  
  2633  // SetValue sets the Value field's value.
  2634  func (s *SavingsPlanRateProperty) SetValue(v string) *SavingsPlanRateProperty {
  2635  	s.Value = &v
  2636  	return s
  2637  }
  2638  
  2639  // A service quota has been exceeded.
  2640  type ServiceQuotaExceededException struct {
  2641  	_            struct{}                  `type:"structure"`
  2642  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2643  
  2644  	Message_ *string `locationName:"message" type:"string"`
  2645  }
  2646  
  2647  // String returns the string representation.
  2648  //
  2649  // API parameter values that are decorated as "sensitive" in the API will not
  2650  // be included in the string output. The member name will be present, but the
  2651  // value will be replaced with "sensitive".
  2652  func (s ServiceQuotaExceededException) String() string {
  2653  	return awsutil.Prettify(s)
  2654  }
  2655  
  2656  // GoString returns the string representation.
  2657  //
  2658  // API parameter values that are decorated as "sensitive" in the API will not
  2659  // be included in the string output. The member name will be present, but the
  2660  // value will be replaced with "sensitive".
  2661  func (s ServiceQuotaExceededException) GoString() string {
  2662  	return s.String()
  2663  }
  2664  
  2665  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  2666  	return &ServiceQuotaExceededException{
  2667  		RespMetadata: v,
  2668  	}
  2669  }
  2670  
  2671  // Code returns the exception type name.
  2672  func (s *ServiceQuotaExceededException) Code() string {
  2673  	return "ServiceQuotaExceededException"
  2674  }
  2675  
  2676  // Message returns the exception's message.
  2677  func (s *ServiceQuotaExceededException) Message() string {
  2678  	if s.Message_ != nil {
  2679  		return *s.Message_
  2680  	}
  2681  	return ""
  2682  }
  2683  
  2684  // OrigErr always returns nil, satisfies awserr.Error interface.
  2685  func (s *ServiceQuotaExceededException) OrigErr() error {
  2686  	return nil
  2687  }
  2688  
  2689  func (s *ServiceQuotaExceededException) Error() string {
  2690  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2691  }
  2692  
  2693  // Status code returns the HTTP status code for the request's response error.
  2694  func (s *ServiceQuotaExceededException) StatusCode() int {
  2695  	return s.RespMetadata.StatusCode
  2696  }
  2697  
  2698  // RequestID returns the service's response RequestID for request.
  2699  func (s *ServiceQuotaExceededException) RequestID() string {
  2700  	return s.RespMetadata.RequestID
  2701  }
  2702  
  2703  type TagResourceInput struct {
  2704  	_ struct{} `type:"structure"`
  2705  
  2706  	// The Amazon Resource Name (ARN) of the resource.
  2707  	//
  2708  	// ResourceArn is a required field
  2709  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  2710  
  2711  	// One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"}
  2712  	// }.
  2713  	//
  2714  	// Tags is a required field
  2715  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  2716  }
  2717  
  2718  // String returns the string representation.
  2719  //
  2720  // API parameter values that are decorated as "sensitive" in the API will not
  2721  // be included in the string output. The member name will be present, but the
  2722  // value will be replaced with "sensitive".
  2723  func (s TagResourceInput) String() string {
  2724  	return awsutil.Prettify(s)
  2725  }
  2726  
  2727  // GoString returns the string representation.
  2728  //
  2729  // API parameter values that are decorated as "sensitive" in the API will not
  2730  // be included in the string output. The member name will be present, but the
  2731  // value will be replaced with "sensitive".
  2732  func (s TagResourceInput) GoString() string {
  2733  	return s.String()
  2734  }
  2735  
  2736  // Validate inspects the fields of the type to determine if they are valid.
  2737  func (s *TagResourceInput) Validate() error {
  2738  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  2739  	if s.ResourceArn == nil {
  2740  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  2741  	}
  2742  	if s.Tags == nil {
  2743  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  2744  	}
  2745  
  2746  	if invalidParams.Len() > 0 {
  2747  		return invalidParams
  2748  	}
  2749  	return nil
  2750  }
  2751  
  2752  // SetResourceArn sets the ResourceArn field's value.
  2753  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  2754  	s.ResourceArn = &v
  2755  	return s
  2756  }
  2757  
  2758  // SetTags sets the Tags field's value.
  2759  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  2760  	s.Tags = v
  2761  	return s
  2762  }
  2763  
  2764  type TagResourceOutput struct {
  2765  	_ struct{} `type:"structure" nopayload:"true"`
  2766  }
  2767  
  2768  // String returns the string representation.
  2769  //
  2770  // API parameter values that are decorated as "sensitive" in the API will not
  2771  // be included in the string output. The member name will be present, but the
  2772  // value will be replaced with "sensitive".
  2773  func (s TagResourceOutput) String() string {
  2774  	return awsutil.Prettify(s)
  2775  }
  2776  
  2777  // GoString returns the string representation.
  2778  //
  2779  // API parameter values that are decorated as "sensitive" in the API will not
  2780  // be included in the string output. The member name will be present, but the
  2781  // value will be replaced with "sensitive".
  2782  func (s TagResourceOutput) GoString() string {
  2783  	return s.String()
  2784  }
  2785  
  2786  type UntagResourceInput struct {
  2787  	_ struct{} `type:"structure"`
  2788  
  2789  	// The Amazon Resource Name (ARN) of the resource.
  2790  	//
  2791  	// ResourceArn is a required field
  2792  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  2793  
  2794  	// The tag keys.
  2795  	//
  2796  	// TagKeys is a required field
  2797  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
  2798  }
  2799  
  2800  // String returns the string representation.
  2801  //
  2802  // API parameter values that are decorated as "sensitive" in the API will not
  2803  // be included in the string output. The member name will be present, but the
  2804  // value will be replaced with "sensitive".
  2805  func (s UntagResourceInput) String() string {
  2806  	return awsutil.Prettify(s)
  2807  }
  2808  
  2809  // GoString returns the string representation.
  2810  //
  2811  // API parameter values that are decorated as "sensitive" in the API will not
  2812  // be included in the string output. The member name will be present, but the
  2813  // value will be replaced with "sensitive".
  2814  func (s UntagResourceInput) GoString() string {
  2815  	return s.String()
  2816  }
  2817  
  2818  // Validate inspects the fields of the type to determine if they are valid.
  2819  func (s *UntagResourceInput) Validate() error {
  2820  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  2821  	if s.ResourceArn == nil {
  2822  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  2823  	}
  2824  	if s.TagKeys == nil {
  2825  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  2826  	}
  2827  
  2828  	if invalidParams.Len() > 0 {
  2829  		return invalidParams
  2830  	}
  2831  	return nil
  2832  }
  2833  
  2834  // SetResourceArn sets the ResourceArn field's value.
  2835  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  2836  	s.ResourceArn = &v
  2837  	return s
  2838  }
  2839  
  2840  // SetTagKeys sets the TagKeys field's value.
  2841  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  2842  	s.TagKeys = v
  2843  	return s
  2844  }
  2845  
  2846  type UntagResourceOutput struct {
  2847  	_ struct{} `type:"structure" nopayload:"true"`
  2848  }
  2849  
  2850  // String returns the string representation.
  2851  //
  2852  // API parameter values that are decorated as "sensitive" in the API will not
  2853  // be included in the string output. The member name will be present, but the
  2854  // value will be replaced with "sensitive".
  2855  func (s UntagResourceOutput) String() string {
  2856  	return awsutil.Prettify(s)
  2857  }
  2858  
  2859  // GoString returns the string representation.
  2860  //
  2861  // API parameter values that are decorated as "sensitive" in the API will not
  2862  // be included in the string output. The member name will be present, but the
  2863  // value will be replaced with "sensitive".
  2864  func (s UntagResourceOutput) GoString() string {
  2865  	return s.String()
  2866  }
  2867  
  2868  // One of the input parameters is not valid.
  2869  type ValidationException struct {
  2870  	_            struct{}                  `type:"structure"`
  2871  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2872  
  2873  	Message_ *string `locationName:"message" type:"string"`
  2874  }
  2875  
  2876  // String returns the string representation.
  2877  //
  2878  // API parameter values that are decorated as "sensitive" in the API will not
  2879  // be included in the string output. The member name will be present, but the
  2880  // value will be replaced with "sensitive".
  2881  func (s ValidationException) String() string {
  2882  	return awsutil.Prettify(s)
  2883  }
  2884  
  2885  // GoString returns the string representation.
  2886  //
  2887  // API parameter values that are decorated as "sensitive" in the API will not
  2888  // be included in the string output. The member name will be present, but the
  2889  // value will be replaced with "sensitive".
  2890  func (s ValidationException) GoString() string {
  2891  	return s.String()
  2892  }
  2893  
  2894  func newErrorValidationException(v protocol.ResponseMetadata) error {
  2895  	return &ValidationException{
  2896  		RespMetadata: v,
  2897  	}
  2898  }
  2899  
  2900  // Code returns the exception type name.
  2901  func (s *ValidationException) Code() string {
  2902  	return "ValidationException"
  2903  }
  2904  
  2905  // Message returns the exception's message.
  2906  func (s *ValidationException) Message() string {
  2907  	if s.Message_ != nil {
  2908  		return *s.Message_
  2909  	}
  2910  	return ""
  2911  }
  2912  
  2913  // OrigErr always returns nil, satisfies awserr.Error interface.
  2914  func (s *ValidationException) OrigErr() error {
  2915  	return nil
  2916  }
  2917  
  2918  func (s *ValidationException) Error() string {
  2919  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2920  }
  2921  
  2922  // Status code returns the HTTP status code for the request's response error.
  2923  func (s *ValidationException) StatusCode() int {
  2924  	return s.RespMetadata.StatusCode
  2925  }
  2926  
  2927  // RequestID returns the service's response RequestID for request.
  2928  func (s *ValidationException) RequestID() string {
  2929  	return s.RespMetadata.RequestID
  2930  }
  2931  
  2932  const (
  2933  	// CurrencyCodeCny is a CurrencyCode enum value
  2934  	CurrencyCodeCny = "CNY"
  2935  
  2936  	// CurrencyCodeUsd is a CurrencyCode enum value
  2937  	CurrencyCodeUsd = "USD"
  2938  )
  2939  
  2940  // CurrencyCode_Values returns all elements of the CurrencyCode enum
  2941  func CurrencyCode_Values() []string {
  2942  	return []string{
  2943  		CurrencyCodeCny,
  2944  		CurrencyCodeUsd,
  2945  	}
  2946  }
  2947  
  2948  const (
  2949  	// SavingsPlanOfferingFilterAttributeRegion is a SavingsPlanOfferingFilterAttribute enum value
  2950  	SavingsPlanOfferingFilterAttributeRegion = "region"
  2951  
  2952  	// SavingsPlanOfferingFilterAttributeInstanceFamily is a SavingsPlanOfferingFilterAttribute enum value
  2953  	SavingsPlanOfferingFilterAttributeInstanceFamily = "instanceFamily"
  2954  )
  2955  
  2956  // SavingsPlanOfferingFilterAttribute_Values returns all elements of the SavingsPlanOfferingFilterAttribute enum
  2957  func SavingsPlanOfferingFilterAttribute_Values() []string {
  2958  	return []string{
  2959  		SavingsPlanOfferingFilterAttributeRegion,
  2960  		SavingsPlanOfferingFilterAttributeInstanceFamily,
  2961  	}
  2962  }
  2963  
  2964  const (
  2965  	// SavingsPlanOfferingPropertyKeyRegion is a SavingsPlanOfferingPropertyKey enum value
  2966  	SavingsPlanOfferingPropertyKeyRegion = "region"
  2967  
  2968  	// SavingsPlanOfferingPropertyKeyInstanceFamily is a SavingsPlanOfferingPropertyKey enum value
  2969  	SavingsPlanOfferingPropertyKeyInstanceFamily = "instanceFamily"
  2970  )
  2971  
  2972  // SavingsPlanOfferingPropertyKey_Values returns all elements of the SavingsPlanOfferingPropertyKey enum
  2973  func SavingsPlanOfferingPropertyKey_Values() []string {
  2974  	return []string{
  2975  		SavingsPlanOfferingPropertyKeyRegion,
  2976  		SavingsPlanOfferingPropertyKeyInstanceFamily,
  2977  	}
  2978  }
  2979  
  2980  const (
  2981  	// SavingsPlanPaymentOptionAllUpfront is a SavingsPlanPaymentOption enum value
  2982  	SavingsPlanPaymentOptionAllUpfront = "All Upfront"
  2983  
  2984  	// SavingsPlanPaymentOptionPartialUpfront is a SavingsPlanPaymentOption enum value
  2985  	SavingsPlanPaymentOptionPartialUpfront = "Partial Upfront"
  2986  
  2987  	// SavingsPlanPaymentOptionNoUpfront is a SavingsPlanPaymentOption enum value
  2988  	SavingsPlanPaymentOptionNoUpfront = "No Upfront"
  2989  )
  2990  
  2991  // SavingsPlanPaymentOption_Values returns all elements of the SavingsPlanPaymentOption enum
  2992  func SavingsPlanPaymentOption_Values() []string {
  2993  	return []string{
  2994  		SavingsPlanPaymentOptionAllUpfront,
  2995  		SavingsPlanPaymentOptionPartialUpfront,
  2996  		SavingsPlanPaymentOptionNoUpfront,
  2997  	}
  2998  }
  2999  
  3000  const (
  3001  	// SavingsPlanProductTypeEc2 is a SavingsPlanProductType enum value
  3002  	SavingsPlanProductTypeEc2 = "EC2"
  3003  
  3004  	// SavingsPlanProductTypeFargate is a SavingsPlanProductType enum value
  3005  	SavingsPlanProductTypeFargate = "Fargate"
  3006  
  3007  	// SavingsPlanProductTypeLambda is a SavingsPlanProductType enum value
  3008  	SavingsPlanProductTypeLambda = "Lambda"
  3009  
  3010  	// SavingsPlanProductTypeSageMaker is a SavingsPlanProductType enum value
  3011  	SavingsPlanProductTypeSageMaker = "SageMaker"
  3012  )
  3013  
  3014  // SavingsPlanProductType_Values returns all elements of the SavingsPlanProductType enum
  3015  func SavingsPlanProductType_Values() []string {
  3016  	return []string{
  3017  		SavingsPlanProductTypeEc2,
  3018  		SavingsPlanProductTypeFargate,
  3019  		SavingsPlanProductTypeLambda,
  3020  		SavingsPlanProductTypeSageMaker,
  3021  	}
  3022  }
  3023  
  3024  const (
  3025  	// SavingsPlanRateFilterAttributeRegion is a SavingsPlanRateFilterAttribute enum value
  3026  	SavingsPlanRateFilterAttributeRegion = "region"
  3027  
  3028  	// SavingsPlanRateFilterAttributeInstanceFamily is a SavingsPlanRateFilterAttribute enum value
  3029  	SavingsPlanRateFilterAttributeInstanceFamily = "instanceFamily"
  3030  
  3031  	// SavingsPlanRateFilterAttributeInstanceType is a SavingsPlanRateFilterAttribute enum value
  3032  	SavingsPlanRateFilterAttributeInstanceType = "instanceType"
  3033  
  3034  	// SavingsPlanRateFilterAttributeProductDescription is a SavingsPlanRateFilterAttribute enum value
  3035  	SavingsPlanRateFilterAttributeProductDescription = "productDescription"
  3036  
  3037  	// SavingsPlanRateFilterAttributeTenancy is a SavingsPlanRateFilterAttribute enum value
  3038  	SavingsPlanRateFilterAttributeTenancy = "tenancy"
  3039  
  3040  	// SavingsPlanRateFilterAttributeProductId is a SavingsPlanRateFilterAttribute enum value
  3041  	SavingsPlanRateFilterAttributeProductId = "productId"
  3042  )
  3043  
  3044  // SavingsPlanRateFilterAttribute_Values returns all elements of the SavingsPlanRateFilterAttribute enum
  3045  func SavingsPlanRateFilterAttribute_Values() []string {
  3046  	return []string{
  3047  		SavingsPlanRateFilterAttributeRegion,
  3048  		SavingsPlanRateFilterAttributeInstanceFamily,
  3049  		SavingsPlanRateFilterAttributeInstanceType,
  3050  		SavingsPlanRateFilterAttributeProductDescription,
  3051  		SavingsPlanRateFilterAttributeTenancy,
  3052  		SavingsPlanRateFilterAttributeProductId,
  3053  	}
  3054  }
  3055  
  3056  const (
  3057  	// SavingsPlanRateFilterNameRegion is a SavingsPlanRateFilterName enum value
  3058  	SavingsPlanRateFilterNameRegion = "region"
  3059  
  3060  	// SavingsPlanRateFilterNameInstanceType is a SavingsPlanRateFilterName enum value
  3061  	SavingsPlanRateFilterNameInstanceType = "instanceType"
  3062  
  3063  	// SavingsPlanRateFilterNameProductDescription is a SavingsPlanRateFilterName enum value
  3064  	SavingsPlanRateFilterNameProductDescription = "productDescription"
  3065  
  3066  	// SavingsPlanRateFilterNameTenancy is a SavingsPlanRateFilterName enum value
  3067  	SavingsPlanRateFilterNameTenancy = "tenancy"
  3068  
  3069  	// SavingsPlanRateFilterNameProductType is a SavingsPlanRateFilterName enum value
  3070  	SavingsPlanRateFilterNameProductType = "productType"
  3071  
  3072  	// SavingsPlanRateFilterNameServiceCode is a SavingsPlanRateFilterName enum value
  3073  	SavingsPlanRateFilterNameServiceCode = "serviceCode"
  3074  
  3075  	// SavingsPlanRateFilterNameUsageType is a SavingsPlanRateFilterName enum value
  3076  	SavingsPlanRateFilterNameUsageType = "usageType"
  3077  
  3078  	// SavingsPlanRateFilterNameOperation is a SavingsPlanRateFilterName enum value
  3079  	SavingsPlanRateFilterNameOperation = "operation"
  3080  )
  3081  
  3082  // SavingsPlanRateFilterName_Values returns all elements of the SavingsPlanRateFilterName enum
  3083  func SavingsPlanRateFilterName_Values() []string {
  3084  	return []string{
  3085  		SavingsPlanRateFilterNameRegion,
  3086  		SavingsPlanRateFilterNameInstanceType,
  3087  		SavingsPlanRateFilterNameProductDescription,
  3088  		SavingsPlanRateFilterNameTenancy,
  3089  		SavingsPlanRateFilterNameProductType,
  3090  		SavingsPlanRateFilterNameServiceCode,
  3091  		SavingsPlanRateFilterNameUsageType,
  3092  		SavingsPlanRateFilterNameOperation,
  3093  	}
  3094  }
  3095  
  3096  const (
  3097  	// SavingsPlanRatePropertyKeyRegion is a SavingsPlanRatePropertyKey enum value
  3098  	SavingsPlanRatePropertyKeyRegion = "region"
  3099  
  3100  	// SavingsPlanRatePropertyKeyInstanceType is a SavingsPlanRatePropertyKey enum value
  3101  	SavingsPlanRatePropertyKeyInstanceType = "instanceType"
  3102  
  3103  	// SavingsPlanRatePropertyKeyInstanceFamily is a SavingsPlanRatePropertyKey enum value
  3104  	SavingsPlanRatePropertyKeyInstanceFamily = "instanceFamily"
  3105  
  3106  	// SavingsPlanRatePropertyKeyProductDescription is a SavingsPlanRatePropertyKey enum value
  3107  	SavingsPlanRatePropertyKeyProductDescription = "productDescription"
  3108  
  3109  	// SavingsPlanRatePropertyKeyTenancy is a SavingsPlanRatePropertyKey enum value
  3110  	SavingsPlanRatePropertyKeyTenancy = "tenancy"
  3111  )
  3112  
  3113  // SavingsPlanRatePropertyKey_Values returns all elements of the SavingsPlanRatePropertyKey enum
  3114  func SavingsPlanRatePropertyKey_Values() []string {
  3115  	return []string{
  3116  		SavingsPlanRatePropertyKeyRegion,
  3117  		SavingsPlanRatePropertyKeyInstanceType,
  3118  		SavingsPlanRatePropertyKeyInstanceFamily,
  3119  		SavingsPlanRatePropertyKeyProductDescription,
  3120  		SavingsPlanRatePropertyKeyTenancy,
  3121  	}
  3122  }
  3123  
  3124  const (
  3125  	// SavingsPlanRateServiceCodeAmazonEc2 is a SavingsPlanRateServiceCode enum value
  3126  	SavingsPlanRateServiceCodeAmazonEc2 = "AmazonEC2"
  3127  
  3128  	// SavingsPlanRateServiceCodeAmazonEcs is a SavingsPlanRateServiceCode enum value
  3129  	SavingsPlanRateServiceCodeAmazonEcs = "AmazonECS"
  3130  
  3131  	// SavingsPlanRateServiceCodeAmazonEks is a SavingsPlanRateServiceCode enum value
  3132  	SavingsPlanRateServiceCodeAmazonEks = "AmazonEKS"
  3133  
  3134  	// SavingsPlanRateServiceCodeAwslambda is a SavingsPlanRateServiceCode enum value
  3135  	SavingsPlanRateServiceCodeAwslambda = "AWSLambda"
  3136  
  3137  	// SavingsPlanRateServiceCodeAmazonSageMaker is a SavingsPlanRateServiceCode enum value
  3138  	SavingsPlanRateServiceCodeAmazonSageMaker = "AmazonSageMaker"
  3139  )
  3140  
  3141  // SavingsPlanRateServiceCode_Values returns all elements of the SavingsPlanRateServiceCode enum
  3142  func SavingsPlanRateServiceCode_Values() []string {
  3143  	return []string{
  3144  		SavingsPlanRateServiceCodeAmazonEc2,
  3145  		SavingsPlanRateServiceCodeAmazonEcs,
  3146  		SavingsPlanRateServiceCodeAmazonEks,
  3147  		SavingsPlanRateServiceCodeAwslambda,
  3148  		SavingsPlanRateServiceCodeAmazonSageMaker,
  3149  	}
  3150  }
  3151  
  3152  const (
  3153  	// SavingsPlanRateUnitHrs is a SavingsPlanRateUnit enum value
  3154  	SavingsPlanRateUnitHrs = "Hrs"
  3155  
  3156  	// SavingsPlanRateUnitLambdaGbSecond is a SavingsPlanRateUnit enum value
  3157  	SavingsPlanRateUnitLambdaGbSecond = "Lambda-GB-Second"
  3158  
  3159  	// SavingsPlanRateUnitRequest is a SavingsPlanRateUnit enum value
  3160  	SavingsPlanRateUnitRequest = "Request"
  3161  )
  3162  
  3163  // SavingsPlanRateUnit_Values returns all elements of the SavingsPlanRateUnit enum
  3164  func SavingsPlanRateUnit_Values() []string {
  3165  	return []string{
  3166  		SavingsPlanRateUnitHrs,
  3167  		SavingsPlanRateUnitLambdaGbSecond,
  3168  		SavingsPlanRateUnitRequest,
  3169  	}
  3170  }
  3171  
  3172  const (
  3173  	// SavingsPlanStatePaymentPending is a SavingsPlanState enum value
  3174  	SavingsPlanStatePaymentPending = "payment-pending"
  3175  
  3176  	// SavingsPlanStatePaymentFailed is a SavingsPlanState enum value
  3177  	SavingsPlanStatePaymentFailed = "payment-failed"
  3178  
  3179  	// SavingsPlanStateActive is a SavingsPlanState enum value
  3180  	SavingsPlanStateActive = "active"
  3181  
  3182  	// SavingsPlanStateRetired is a SavingsPlanState enum value
  3183  	SavingsPlanStateRetired = "retired"
  3184  
  3185  	// SavingsPlanStateQueued is a SavingsPlanState enum value
  3186  	SavingsPlanStateQueued = "queued"
  3187  
  3188  	// SavingsPlanStateQueuedDeleted is a SavingsPlanState enum value
  3189  	SavingsPlanStateQueuedDeleted = "queued-deleted"
  3190  )
  3191  
  3192  // SavingsPlanState_Values returns all elements of the SavingsPlanState enum
  3193  func SavingsPlanState_Values() []string {
  3194  	return []string{
  3195  		SavingsPlanStatePaymentPending,
  3196  		SavingsPlanStatePaymentFailed,
  3197  		SavingsPlanStateActive,
  3198  		SavingsPlanStateRetired,
  3199  		SavingsPlanStateQueued,
  3200  		SavingsPlanStateQueuedDeleted,
  3201  	}
  3202  }
  3203  
  3204  const (
  3205  	// SavingsPlanTypeCompute is a SavingsPlanType enum value
  3206  	SavingsPlanTypeCompute = "Compute"
  3207  
  3208  	// SavingsPlanTypeEc2instance is a SavingsPlanType enum value
  3209  	SavingsPlanTypeEc2instance = "EC2Instance"
  3210  
  3211  	// SavingsPlanTypeSageMaker is a SavingsPlanType enum value
  3212  	SavingsPlanTypeSageMaker = "SageMaker"
  3213  )
  3214  
  3215  // SavingsPlanType_Values returns all elements of the SavingsPlanType enum
  3216  func SavingsPlanType_Values() []string {
  3217  	return []string{
  3218  		SavingsPlanTypeCompute,
  3219  		SavingsPlanTypeEc2instance,
  3220  		SavingsPlanTypeSageMaker,
  3221  	}
  3222  }
  3223  
  3224  const (
  3225  	// SavingsPlansFilterNameRegion is a SavingsPlansFilterName enum value
  3226  	SavingsPlansFilterNameRegion = "region"
  3227  
  3228  	// SavingsPlansFilterNameEc2InstanceFamily is a SavingsPlansFilterName enum value
  3229  	SavingsPlansFilterNameEc2InstanceFamily = "ec2-instance-family"
  3230  
  3231  	// SavingsPlansFilterNameCommitment is a SavingsPlansFilterName enum value
  3232  	SavingsPlansFilterNameCommitment = "commitment"
  3233  
  3234  	// SavingsPlansFilterNameUpfront is a SavingsPlansFilterName enum value
  3235  	SavingsPlansFilterNameUpfront = "upfront"
  3236  
  3237  	// SavingsPlansFilterNameTerm is a SavingsPlansFilterName enum value
  3238  	SavingsPlansFilterNameTerm = "term"
  3239  
  3240  	// SavingsPlansFilterNameSavingsPlanType is a SavingsPlansFilterName enum value
  3241  	SavingsPlansFilterNameSavingsPlanType = "savings-plan-type"
  3242  
  3243  	// SavingsPlansFilterNamePaymentOption is a SavingsPlansFilterName enum value
  3244  	SavingsPlansFilterNamePaymentOption = "payment-option"
  3245  
  3246  	// SavingsPlansFilterNameStart is a SavingsPlansFilterName enum value
  3247  	SavingsPlansFilterNameStart = "start"
  3248  
  3249  	// SavingsPlansFilterNameEnd is a SavingsPlansFilterName enum value
  3250  	SavingsPlansFilterNameEnd = "end"
  3251  )
  3252  
  3253  // SavingsPlansFilterName_Values returns all elements of the SavingsPlansFilterName enum
  3254  func SavingsPlansFilterName_Values() []string {
  3255  	return []string{
  3256  		SavingsPlansFilterNameRegion,
  3257  		SavingsPlansFilterNameEc2InstanceFamily,
  3258  		SavingsPlansFilterNameCommitment,
  3259  		SavingsPlansFilterNameUpfront,
  3260  		SavingsPlansFilterNameTerm,
  3261  		SavingsPlansFilterNameSavingsPlanType,
  3262  		SavingsPlansFilterNamePaymentOption,
  3263  		SavingsPlansFilterNameStart,
  3264  		SavingsPlansFilterNameEnd,
  3265  	}
  3266  }