service/costoptimizationhub/api.go (2,636 lines of code) (raw):

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package costoptimizationhub import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" ) const opGetPreferences = "GetPreferences" // GetPreferencesRequest generates a "aws/request.Request" representing the // client's request for the GetPreferences operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetPreferences for more information on using the GetPreferences // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetPreferencesRequest method. // req, resp := client.GetPreferencesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetPreferences func (c *CostOptimizationHub) GetPreferencesRequest(input *GetPreferencesInput) (req *request.Request, output *GetPreferencesOutput) { op := &request.Operation{ Name: opGetPreferences, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &GetPreferencesInput{} } output = &GetPreferencesOutput{} req = c.newRequest(op, input, output) return } // GetPreferences API operation for Cost Optimization Hub. // // Returns a set of preferences for an account in order to add account-specific // preferences into the service. These preferences impact how the savings associated // with recommendations are presented—estimated savings after discounts or // estimated savings before discounts, for example. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation GetPreferences for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetPreferences func (c *CostOptimizationHub) GetPreferences(input *GetPreferencesInput) (*GetPreferencesOutput, error) { req, out := c.GetPreferencesRequest(input) return out, req.Send() } // GetPreferencesWithContext is the same as GetPreferences with the addition of // the ability to pass a context and additional request options. // // See GetPreferences for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) GetPreferencesWithContext(ctx aws.Context, input *GetPreferencesInput, opts ...request.Option) (*GetPreferencesOutput, error) { req, out := c.GetPreferencesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetRecommendation = "GetRecommendation" // GetRecommendationRequest generates a "aws/request.Request" representing the // client's request for the GetRecommendation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetRecommendation for more information on using the GetRecommendation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetRecommendationRequest method. // req, resp := client.GetRecommendationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetRecommendation func (c *CostOptimizationHub) GetRecommendationRequest(input *GetRecommendationInput) (req *request.Request, output *GetRecommendationOutput) { op := &request.Operation{ Name: opGetRecommendation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &GetRecommendationInput{} } output = &GetRecommendationOutput{} req = c.newRequest(op, input, output) return } // GetRecommendation API operation for Cost Optimization Hub. // // Returns both the current and recommended resource configuration and the estimated // cost impact for a recommendation. // // The recommendationId is only valid for up to a maximum of 24 hours as recommendations // are refreshed daily. To retrieve the recommendationId, use the ListRecommendations // API. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation GetRecommendation for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ResourceNotFoundException // The specified Amazon Resource Name (ARN) in the request doesn't exist. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/GetRecommendation func (c *CostOptimizationHub) GetRecommendation(input *GetRecommendationInput) (*GetRecommendationOutput, error) { req, out := c.GetRecommendationRequest(input) return out, req.Send() } // GetRecommendationWithContext is the same as GetRecommendation with the addition of // the ability to pass a context and additional request options. // // See GetRecommendation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) GetRecommendationWithContext(ctx aws.Context, input *GetRecommendationInput, opts ...request.Option) (*GetRecommendationOutput, error) { req, out := c.GetRecommendationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListEnrollmentStatuses = "ListEnrollmentStatuses" // ListEnrollmentStatusesRequest generates a "aws/request.Request" representing the // client's request for the ListEnrollmentStatuses operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListEnrollmentStatuses for more information on using the ListEnrollmentStatuses // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListEnrollmentStatusesRequest method. // req, resp := client.ListEnrollmentStatusesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses func (c *CostOptimizationHub) ListEnrollmentStatusesRequest(input *ListEnrollmentStatusesInput) (req *request.Request, output *ListEnrollmentStatusesOutput) { op := &request.Operation{ Name: opListEnrollmentStatuses, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListEnrollmentStatusesInput{} } output = &ListEnrollmentStatusesOutput{} req = c.newRequest(op, input, output) return } // ListEnrollmentStatuses API operation for Cost Optimization Hub. // // Retrieves the enrollment status for an account. It can also return the list // of accounts that are enrolled under the organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation ListEnrollmentStatuses for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses func (c *CostOptimizationHub) ListEnrollmentStatuses(input *ListEnrollmentStatusesInput) (*ListEnrollmentStatusesOutput, error) { req, out := c.ListEnrollmentStatusesRequest(input) return out, req.Send() } // ListEnrollmentStatusesWithContext is the same as ListEnrollmentStatuses with the addition of // the ability to pass a context and additional request options. // // See ListEnrollmentStatuses for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListEnrollmentStatusesWithContext(ctx aws.Context, input *ListEnrollmentStatusesInput, opts ...request.Option) (*ListEnrollmentStatusesOutput, error) { req, out := c.ListEnrollmentStatusesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListEnrollmentStatusesPages iterates over the pages of a ListEnrollmentStatuses operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListEnrollmentStatuses method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListEnrollmentStatuses operation. // pageNum := 0 // err := client.ListEnrollmentStatusesPages(params, // func(page *costoptimizationhub.ListEnrollmentStatusesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *CostOptimizationHub) ListEnrollmentStatusesPages(input *ListEnrollmentStatusesInput, fn func(*ListEnrollmentStatusesOutput, bool) bool) error { return c.ListEnrollmentStatusesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListEnrollmentStatusesPagesWithContext same as ListEnrollmentStatusesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListEnrollmentStatusesPagesWithContext(ctx aws.Context, input *ListEnrollmentStatusesInput, fn func(*ListEnrollmentStatusesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListEnrollmentStatusesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListEnrollmentStatusesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListEnrollmentStatusesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListRecommendationSummaries = "ListRecommendationSummaries" // ListRecommendationSummariesRequest generates a "aws/request.Request" representing the // client's request for the ListRecommendationSummaries operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListRecommendationSummaries for more information on using the ListRecommendationSummaries // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListRecommendationSummariesRequest method. // req, resp := client.ListRecommendationSummariesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationSummaries func (c *CostOptimizationHub) ListRecommendationSummariesRequest(input *ListRecommendationSummariesInput) (req *request.Request, output *ListRecommendationSummariesOutput) { op := &request.Operation{ Name: opListRecommendationSummaries, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListRecommendationSummariesInput{} } output = &ListRecommendationSummariesOutput{} req = c.newRequest(op, input, output) return } // ListRecommendationSummaries API operation for Cost Optimization Hub. // // Returns a concise representation of savings estimates for resources. Also // returns de-duped savings across different types of recommendations. // // The following filters are not supported for this API: recommendationIds, // resourceArns, and resourceIds. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation ListRecommendationSummaries for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendationSummaries func (c *CostOptimizationHub) ListRecommendationSummaries(input *ListRecommendationSummariesInput) (*ListRecommendationSummariesOutput, error) { req, out := c.ListRecommendationSummariesRequest(input) return out, req.Send() } // ListRecommendationSummariesWithContext is the same as ListRecommendationSummaries with the addition of // the ability to pass a context and additional request options. // // See ListRecommendationSummaries for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListRecommendationSummariesWithContext(ctx aws.Context, input *ListRecommendationSummariesInput, opts ...request.Option) (*ListRecommendationSummariesOutput, error) { req, out := c.ListRecommendationSummariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListRecommendationSummariesPages iterates over the pages of a ListRecommendationSummaries operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListRecommendationSummaries method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListRecommendationSummaries operation. // pageNum := 0 // err := client.ListRecommendationSummariesPages(params, // func(page *costoptimizationhub.ListRecommendationSummariesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *CostOptimizationHub) ListRecommendationSummariesPages(input *ListRecommendationSummariesInput, fn func(*ListRecommendationSummariesOutput, bool) bool) error { return c.ListRecommendationSummariesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListRecommendationSummariesPagesWithContext same as ListRecommendationSummariesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListRecommendationSummariesPagesWithContext(ctx aws.Context, input *ListRecommendationSummariesInput, fn func(*ListRecommendationSummariesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListRecommendationSummariesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListRecommendationSummariesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListRecommendationSummariesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListRecommendations = "ListRecommendations" // ListRecommendationsRequest generates a "aws/request.Request" representing the // client's request for the ListRecommendations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListRecommendations for more information on using the ListRecommendations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListRecommendationsRequest method. // req, resp := client.ListRecommendationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendations func (c *CostOptimizationHub) ListRecommendationsRequest(input *ListRecommendationsInput) (req *request.Request, output *ListRecommendationsOutput) { op := &request.Operation{ Name: opListRecommendations, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListRecommendationsInput{} } output = &ListRecommendationsOutput{} req = c.newRequest(op, input, output) return } // ListRecommendations API operation for Cost Optimization Hub. // // Returns a list of recommendations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation ListRecommendations for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListRecommendations func (c *CostOptimizationHub) ListRecommendations(input *ListRecommendationsInput) (*ListRecommendationsOutput, error) { req, out := c.ListRecommendationsRequest(input) return out, req.Send() } // ListRecommendationsWithContext is the same as ListRecommendations with the addition of // the ability to pass a context and additional request options. // // See ListRecommendations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListRecommendationsWithContext(ctx aws.Context, input *ListRecommendationsInput, opts ...request.Option) (*ListRecommendationsOutput, error) { req, out := c.ListRecommendationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListRecommendationsPages iterates over the pages of a ListRecommendations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListRecommendations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListRecommendations operation. // pageNum := 0 // err := client.ListRecommendationsPages(params, // func(page *costoptimizationhub.ListRecommendationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *CostOptimizationHub) ListRecommendationsPages(input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool) error { return c.ListRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListRecommendationsPagesWithContext same as ListRecommendationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) ListRecommendationsPagesWithContext(ctx aws.Context, input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListRecommendationsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListRecommendationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListRecommendationsOutput), !p.HasNextPage()) { break } } return p.Err() } const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus" // UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the // client's request for the UpdateEnrollmentStatus operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the UpdateEnrollmentStatusRequest method. // req, resp := client.UpdateEnrollmentStatusRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus func (c *CostOptimizationHub) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) { op := &request.Operation{ Name: opUpdateEnrollmentStatus, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateEnrollmentStatusInput{} } output = &UpdateEnrollmentStatusOutput{} req = c.newRequest(op, input, output) return } // UpdateEnrollmentStatus API operation for Cost Optimization Hub. // // Updates the enrollment (opt in and opt out) status of an account to the Cost // Optimization Hub service. // // If the account is a management account of an organization, this action can // also be used to enroll member accounts of the organization. // // You must have the appropriate permissions to opt in to Cost Optimization // Hub and to view its recommendations. When you opt in, Cost Optimization Hub // automatically creates a service-linked role in your account to access its // data. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation UpdateEnrollmentStatus for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus func (c *CostOptimizationHub) UpdateEnrollmentStatus(input *UpdateEnrollmentStatusInput) (*UpdateEnrollmentStatusOutput, error) { req, out := c.UpdateEnrollmentStatusRequest(input) return out, req.Send() } // UpdateEnrollmentStatusWithContext is the same as UpdateEnrollmentStatus with the addition of // the ability to pass a context and additional request options. // // See UpdateEnrollmentStatus for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) UpdateEnrollmentStatusWithContext(ctx aws.Context, input *UpdateEnrollmentStatusInput, opts ...request.Option) (*UpdateEnrollmentStatusOutput, error) { req, out := c.UpdateEnrollmentStatusRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdatePreferences = "UpdatePreferences" // UpdatePreferencesRequest generates a "aws/request.Request" representing the // client's request for the UpdatePreferences operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UpdatePreferences for more information on using the UpdatePreferences // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the UpdatePreferencesRequest method. // req, resp := client.UpdatePreferencesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdatePreferences func (c *CostOptimizationHub) UpdatePreferencesRequest(input *UpdatePreferencesInput) (req *request.Request, output *UpdatePreferencesOutput) { op := &request.Operation{ Name: opUpdatePreferences, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdatePreferencesInput{} } output = &UpdatePreferencesOutput{} req = c.newRequest(op, input, output) return } // UpdatePreferences API operation for Cost Optimization Hub. // // Updates a set of preferences for an account in order to add account-specific // preferences into the service. These preferences impact how the savings associated // with recommendations are presented. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Cost Optimization Hub's // API operation UpdatePreferences for usage and error information. // // Returned Error Types: // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // // - InternalServerException // An error on the server occurred during the processing of your request. Try // again later. // // - AccessDeniedException // You are not authorized to use this operation with the given parameters. // // - ThrottlingException // The request was denied due to request throttling. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/UpdatePreferences func (c *CostOptimizationHub) UpdatePreferences(input *UpdatePreferencesInput) (*UpdatePreferencesOutput, error) { req, out := c.UpdatePreferencesRequest(input) return out, req.Send() } // UpdatePreferencesWithContext is the same as UpdatePreferences with the addition of // the ability to pass a context and additional request options. // // See UpdatePreferences for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CostOptimizationHub) UpdatePreferencesWithContext(ctx aws.Context, input *UpdatePreferencesInput, opts ...request.Option) (*UpdatePreferencesOutput, error) { req, out := c.UpdatePreferencesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // You are not authorized to use this operation with the given parameters. type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccessDeniedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccessDeniedException) GoString() string { return s.String() } func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { return &AccessDeniedException{ RespMetadata: v, } } // Code returns the exception type name. func (s *AccessDeniedException) Code() string { return "AccessDeniedException" } // Message returns the exception's message. func (s *AccessDeniedException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *AccessDeniedException) OrigErr() error { return nil } func (s *AccessDeniedException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *AccessDeniedException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } // Describes the enrollment status of an organization's member accounts in Cost // Optimization Hub. type AccountEnrollmentStatus struct { _ struct{} `type:"structure"` // The Amazon Web Services account ID. AccountId *string `locationName:"accountId" type:"string"` // The time when the account enrollment status was created. CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` // The time when the account enrollment status was last updated. LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"` // The account enrollment status. Status *string `locationName:"status" type:"string" enum:"EnrollmentStatus"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccountEnrollmentStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccountEnrollmentStatus) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *AccountEnrollmentStatus) SetAccountId(v string) *AccountEnrollmentStatus { s.AccountId = &v return s } // SetCreatedTimestamp sets the CreatedTimestamp field's value. func (s *AccountEnrollmentStatus) SetCreatedTimestamp(v time.Time) *AccountEnrollmentStatus { s.CreatedTimestamp = &v return s } // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. func (s *AccountEnrollmentStatus) SetLastUpdatedTimestamp(v time.Time) *AccountEnrollmentStatus { s.LastUpdatedTimestamp = &v return s } // SetStatus sets the Status field's value. func (s *AccountEnrollmentStatus) SetStatus(v string) *AccountEnrollmentStatus { s.Status = &v return s } // Describes the Amazon Elastic Block Store performance configuration of the // current and recommended resource configuration for a recommendation. type BlockStoragePerformanceConfiguration struct { _ struct{} `type:"structure"` // The number of I/O operations per second. Iops *float64 `locationName:"iops" type:"double"` // The throughput that the volume supports. Throughput *float64 `locationName:"throughput" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BlockStoragePerformanceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BlockStoragePerformanceConfiguration) GoString() string { return s.String() } // SetIops sets the Iops field's value. func (s *BlockStoragePerformanceConfiguration) SetIops(v float64) *BlockStoragePerformanceConfiguration { s.Iops = &v return s } // SetThroughput sets the Throughput field's value. func (s *BlockStoragePerformanceConfiguration) SetThroughput(v float64) *BlockStoragePerformanceConfiguration { s.Throughput = &v return s } // Describes the performance configuration for compute services such as Amazon // EC2, Lambda, and ECS. type ComputeConfiguration struct { _ struct{} `type:"structure"` // The architecture of the resource. Architecture *string `locationName:"architecture" type:"string"` // The memory size of the resource. MemorySizeInMB *int64 `locationName:"memorySizeInMB" type:"integer"` // The platform of the resource. The platform is the specific combination of // operating system, license model, and software on an instance. Platform *string `locationName:"platform" type:"string"` // The number of vCPU cores in the resource. VCpu *float64 `locationName:"vCpu" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeConfiguration) GoString() string { return s.String() } // SetArchitecture sets the Architecture field's value. func (s *ComputeConfiguration) SetArchitecture(v string) *ComputeConfiguration { s.Architecture = &v return s } // SetMemorySizeInMB sets the MemorySizeInMB field's value. func (s *ComputeConfiguration) SetMemorySizeInMB(v int64) *ComputeConfiguration { s.MemorySizeInMB = &v return s } // SetPlatform sets the Platform field's value. func (s *ComputeConfiguration) SetPlatform(v string) *ComputeConfiguration { s.Platform = &v return s } // SetVCpu sets the VCpu field's value. func (s *ComputeConfiguration) SetVCpu(v float64) *ComputeConfiguration { s.VCpu = &v return s } // The Compute Savings Plans recommendation details. type ComputeSavingsPlans struct { _ struct{} `type:"structure"` // Configuration details of the Compute Savings Plans to purchase. Configuration *ComputeSavingsPlansConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the Savings Plans purchase recommendation. CostCalculation *SavingsPlansCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeSavingsPlans) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeSavingsPlans) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *ComputeSavingsPlans) SetConfiguration(v *ComputeSavingsPlansConfiguration) *ComputeSavingsPlans { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *ComputeSavingsPlans) SetCostCalculation(v *SavingsPlansCostCalculation) *ComputeSavingsPlans { s.CostCalculation = v return s } // The Compute Savings Plans configuration used for recommendations. type ComputeSavingsPlansConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. Amazon Web Services // calculates recommendations including the management account and member accounts // if the value is set to PAYER. If the value is LINKED, recommendations are // calculated for individual member accounts only. AccountScope *string `locationName:"accountScope" type:"string"` // The hourly commitment for the Savings Plans type. HourlyCommitment *string `locationName:"hourlyCommitment" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Savings Plans recommendation term in years. Term *string `locationName:"term" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeSavingsPlansConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComputeSavingsPlansConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *ComputeSavingsPlansConfiguration) SetAccountScope(v string) *ComputeSavingsPlansConfiguration { s.AccountScope = &v return s } // SetHourlyCommitment sets the HourlyCommitment field's value. func (s *ComputeSavingsPlansConfiguration) SetHourlyCommitment(v string) *ComputeSavingsPlansConfiguration { s.HourlyCommitment = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *ComputeSavingsPlansConfiguration) SetPaymentOption(v string) *ComputeSavingsPlansConfiguration { s.PaymentOption = &v return s } // SetTerm sets the Term field's value. func (s *ComputeSavingsPlansConfiguration) SetTerm(v string) *ComputeSavingsPlansConfiguration { s.Term = &v return s } // The DB instance configuration used for recommendations. type DbInstanceConfiguration struct { _ struct{} `type:"structure"` // The DB instance class of the DB instance. DbInstanceClass *string `locationName:"dbInstanceClass" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DbInstanceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DbInstanceConfiguration) GoString() string { return s.String() } // SetDbInstanceClass sets the DbInstanceClass field's value. func (s *DbInstanceConfiguration) SetDbInstanceClass(v string) *DbInstanceConfiguration { s.DbInstanceClass = &v return s } // Describes the Amazon Elastic Block Store volume configuration of the current // and recommended resource configuration for a recommendation. type EbsVolume struct { _ struct{} `type:"structure"` // The Amazon Elastic Block Store volume configuration used for recommendations. Configuration *EbsVolumeConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EbsVolume) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EbsVolume) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *EbsVolume) SetConfiguration(v *EbsVolumeConfiguration) *EbsVolume { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *EbsVolume) SetCostCalculation(v *ResourceCostCalculation) *EbsVolume { s.CostCalculation = v return s } // The Amazon Elastic Block Store volume configuration used for recommendations. type EbsVolumeConfiguration struct { _ struct{} `type:"structure"` // The Amazon Elastic Block Store attachment state. AttachmentState *string `locationName:"attachmentState" type:"string"` // The Amazon Elastic Block Store performance configuration. Performance *BlockStoragePerformanceConfiguration `locationName:"performance" type:"structure"` // The disk storage of the Amazon Elastic Block Store volume. Storage *StorageConfiguration `locationName:"storage" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EbsVolumeConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EbsVolumeConfiguration) GoString() string { return s.String() } // SetAttachmentState sets the AttachmentState field's value. func (s *EbsVolumeConfiguration) SetAttachmentState(v string) *EbsVolumeConfiguration { s.AttachmentState = &v return s } // SetPerformance sets the Performance field's value. func (s *EbsVolumeConfiguration) SetPerformance(v *BlockStoragePerformanceConfiguration) *EbsVolumeConfiguration { s.Performance = v return s } // SetStorage sets the Storage field's value. func (s *EbsVolumeConfiguration) SetStorage(v *StorageConfiguration) *EbsVolumeConfiguration { s.Storage = v return s } // The EC2 Auto Scaling group recommendation details. type Ec2AutoScalingGroup struct { _ struct{} `type:"structure"` // The EC2 Auto Scaling group configuration used for recommendations. Configuration *Ec2AutoScalingGroupConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2AutoScalingGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2AutoScalingGroup) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *Ec2AutoScalingGroup) SetConfiguration(v *Ec2AutoScalingGroupConfiguration) *Ec2AutoScalingGroup { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *Ec2AutoScalingGroup) SetCostCalculation(v *ResourceCostCalculation) *Ec2AutoScalingGroup { s.CostCalculation = v return s } // The EC2 auto scaling group configuration used for recommendations. type Ec2AutoScalingGroupConfiguration struct { _ struct{} `type:"structure"` // Details about the instance. Instance *InstanceConfiguration `locationName:"instance" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2AutoScalingGroupConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2AutoScalingGroupConfiguration) GoString() string { return s.String() } // SetInstance sets the Instance field's value. func (s *Ec2AutoScalingGroupConfiguration) SetInstance(v *InstanceConfiguration) *Ec2AutoScalingGroupConfiguration { s.Instance = v return s } // Describes the EC2 instance configuration of the current and recommended resource // configuration for a recommendation. type Ec2Instance struct { _ struct{} `type:"structure"` // The EC2 instance configuration used for recommendations. Configuration *Ec2InstanceConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2Instance) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2Instance) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *Ec2Instance) SetConfiguration(v *Ec2InstanceConfiguration) *Ec2Instance { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *Ec2Instance) SetCostCalculation(v *ResourceCostCalculation) *Ec2Instance { s.CostCalculation = v return s } // The EC2 instance configuration used for recommendations. type Ec2InstanceConfiguration struct { _ struct{} `type:"structure"` // Details about the instance. Instance *InstanceConfiguration `locationName:"instance" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceConfiguration) GoString() string { return s.String() } // SetInstance sets the Instance field's value. func (s *Ec2InstanceConfiguration) SetInstance(v *InstanceConfiguration) *Ec2InstanceConfiguration { s.Instance = v return s } // The EC2 instance Savings Plans recommendation details. type Ec2InstanceSavingsPlans struct { _ struct{} `type:"structure"` // The EC2 instance Savings Plans configuration used for recommendations. Configuration *Ec2InstanceSavingsPlansConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the Savings Plans purchase recommendation. CostCalculation *SavingsPlansCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceSavingsPlans) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceSavingsPlans) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *Ec2InstanceSavingsPlans) SetConfiguration(v *Ec2InstanceSavingsPlansConfiguration) *Ec2InstanceSavingsPlans { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *Ec2InstanceSavingsPlans) SetCostCalculation(v *SavingsPlansCostCalculation) *Ec2InstanceSavingsPlans { s.CostCalculation = v return s } // The EC2 instance Savings Plans configuration used for recommendations. type Ec2InstanceSavingsPlansConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // The hourly commitment for the Savings Plans type. HourlyCommitment *string `locationName:"hourlyCommitment" type:"string"` // The instance family of the recommended Savings Plan. InstanceFamily *string `locationName:"instanceFamily" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Amazon Web Services Region of the commitment. SavingsPlansRegion *string `locationName:"savingsPlansRegion" type:"string"` // The Savings Plans recommendation term in years. Term *string `locationName:"term" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceSavingsPlansConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2InstanceSavingsPlansConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetAccountScope(v string) *Ec2InstanceSavingsPlansConfiguration { s.AccountScope = &v return s } // SetHourlyCommitment sets the HourlyCommitment field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetHourlyCommitment(v string) *Ec2InstanceSavingsPlansConfiguration { s.HourlyCommitment = &v return s } // SetInstanceFamily sets the InstanceFamily field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetInstanceFamily(v string) *Ec2InstanceSavingsPlansConfiguration { s.InstanceFamily = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetPaymentOption(v string) *Ec2InstanceSavingsPlansConfiguration { s.PaymentOption = &v return s } // SetSavingsPlansRegion sets the SavingsPlansRegion field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetSavingsPlansRegion(v string) *Ec2InstanceSavingsPlansConfiguration { s.SavingsPlansRegion = &v return s } // SetTerm sets the Term field's value. func (s *Ec2InstanceSavingsPlansConfiguration) SetTerm(v string) *Ec2InstanceSavingsPlansConfiguration { s.Term = &v return s } // The EC2 reserved instances recommendation details. type Ec2ReservedInstances struct { _ struct{} `type:"structure"` // The EC2 reserved instances configuration used for recommendations. Configuration *Ec2ReservedInstancesConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the purchase recommendation. CostCalculation *ReservedInstancesCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2ReservedInstances) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2ReservedInstances) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *Ec2ReservedInstances) SetConfiguration(v *Ec2ReservedInstancesConfiguration) *Ec2ReservedInstances { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *Ec2ReservedInstances) SetCostCalculation(v *ReservedInstancesCostCalculation) *Ec2ReservedInstances { s.CostCalculation = v return s } // The EC2 reserved instances configuration used for recommendations. type Ec2ReservedInstancesConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // Determines whether the recommendation is for a current generation instance. CurrentGeneration *string `locationName:"currentGeneration" type:"string"` // The instance family of the recommended reservation. InstanceFamily *string `locationName:"instanceFamily" type:"string"` // The type of instance that Amazon Web Services recommends. InstanceType *string `locationName:"instanceType" type:"string"` // How much purchasing reserved instances costs you on a monthly basis. MonthlyRecurringCost *string `locationName:"monthlyRecurringCost" type:"string"` // The number of normalized units that Amazon Web Services recommends that you // purchase. NormalizedUnitsToPurchase *string `locationName:"normalizedUnitsToPurchase" type:"string"` // The number of instances that Amazon Web Services recommends that you purchase. NumberOfInstancesToPurchase *string `locationName:"numberOfInstancesToPurchase" type:"string"` // Indicates whether the recommendation is for standard or convertible reservations. OfferingClass *string `locationName:"offeringClass" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The platform of the recommended reservation. The platform is the specific // combination of operating system, license model, and software on an instance. Platform *string `locationName:"platform" type:"string"` // The Amazon Web Services Region of the commitment. ReservedInstancesRegion *string `locationName:"reservedInstancesRegion" type:"string"` // The service that you want your recommendations for. Service *string `locationName:"service" type:"string"` // Determines whether the recommendation is size flexible. SizeFlexEligible *bool `locationName:"sizeFlexEligible" type:"boolean"` // Determines whether the recommended reservation is dedicated or shared. Tenancy *string `locationName:"tenancy" type:"string"` // The reserved instances recommendation term in years. Term *string `locationName:"term" type:"string"` // How much purchasing this instance costs you upfront. UpfrontCost *string `locationName:"upfrontCost" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2ReservedInstancesConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Ec2ReservedInstancesConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *Ec2ReservedInstancesConfiguration) SetAccountScope(v string) *Ec2ReservedInstancesConfiguration { s.AccountScope = &v return s } // SetCurrentGeneration sets the CurrentGeneration field's value. func (s *Ec2ReservedInstancesConfiguration) SetCurrentGeneration(v string) *Ec2ReservedInstancesConfiguration { s.CurrentGeneration = &v return s } // SetInstanceFamily sets the InstanceFamily field's value. func (s *Ec2ReservedInstancesConfiguration) SetInstanceFamily(v string) *Ec2ReservedInstancesConfiguration { s.InstanceFamily = &v return s } // SetInstanceType sets the InstanceType field's value. func (s *Ec2ReservedInstancesConfiguration) SetInstanceType(v string) *Ec2ReservedInstancesConfiguration { s.InstanceType = &v return s } // SetMonthlyRecurringCost sets the MonthlyRecurringCost field's value. func (s *Ec2ReservedInstancesConfiguration) SetMonthlyRecurringCost(v string) *Ec2ReservedInstancesConfiguration { s.MonthlyRecurringCost = &v return s } // SetNormalizedUnitsToPurchase sets the NormalizedUnitsToPurchase field's value. func (s *Ec2ReservedInstancesConfiguration) SetNormalizedUnitsToPurchase(v string) *Ec2ReservedInstancesConfiguration { s.NormalizedUnitsToPurchase = &v return s } // SetNumberOfInstancesToPurchase sets the NumberOfInstancesToPurchase field's value. func (s *Ec2ReservedInstancesConfiguration) SetNumberOfInstancesToPurchase(v string) *Ec2ReservedInstancesConfiguration { s.NumberOfInstancesToPurchase = &v return s } // SetOfferingClass sets the OfferingClass field's value. func (s *Ec2ReservedInstancesConfiguration) SetOfferingClass(v string) *Ec2ReservedInstancesConfiguration { s.OfferingClass = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *Ec2ReservedInstancesConfiguration) SetPaymentOption(v string) *Ec2ReservedInstancesConfiguration { s.PaymentOption = &v return s } // SetPlatform sets the Platform field's value. func (s *Ec2ReservedInstancesConfiguration) SetPlatform(v string) *Ec2ReservedInstancesConfiguration { s.Platform = &v return s } // SetReservedInstancesRegion sets the ReservedInstancesRegion field's value. func (s *Ec2ReservedInstancesConfiguration) SetReservedInstancesRegion(v string) *Ec2ReservedInstancesConfiguration { s.ReservedInstancesRegion = &v return s } // SetService sets the Service field's value. func (s *Ec2ReservedInstancesConfiguration) SetService(v string) *Ec2ReservedInstancesConfiguration { s.Service = &v return s } // SetSizeFlexEligible sets the SizeFlexEligible field's value. func (s *Ec2ReservedInstancesConfiguration) SetSizeFlexEligible(v bool) *Ec2ReservedInstancesConfiguration { s.SizeFlexEligible = &v return s } // SetTenancy sets the Tenancy field's value. func (s *Ec2ReservedInstancesConfiguration) SetTenancy(v string) *Ec2ReservedInstancesConfiguration { s.Tenancy = &v return s } // SetTerm sets the Term field's value. func (s *Ec2ReservedInstancesConfiguration) SetTerm(v string) *Ec2ReservedInstancesConfiguration { s.Term = &v return s } // SetUpfrontCost sets the UpfrontCost field's value. func (s *Ec2ReservedInstancesConfiguration) SetUpfrontCost(v string) *Ec2ReservedInstancesConfiguration { s.UpfrontCost = &v return s } // The ECS service recommendation details. type EcsService struct { _ struct{} `type:"structure"` // The ECS service configuration used for recommendations. Configuration *EcsServiceConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EcsService) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EcsService) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *EcsService) SetConfiguration(v *EcsServiceConfiguration) *EcsService { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *EcsService) SetCostCalculation(v *ResourceCostCalculation) *EcsService { s.CostCalculation = v return s } // The ECS service configuration used for recommendations. type EcsServiceConfiguration struct { _ struct{} `type:"structure"` // Details about the compute configuration. Compute *ComputeConfiguration `locationName:"compute" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EcsServiceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EcsServiceConfiguration) GoString() string { return s.String() } // SetCompute sets the Compute field's value. func (s *EcsServiceConfiguration) SetCompute(v *ComputeConfiguration) *EcsServiceConfiguration { s.Compute = v return s } // The ElastiCache reserved instances recommendation details. type ElastiCacheReservedInstances struct { _ struct{} `type:"structure"` // The ElastiCache reserved instances configuration used for recommendations. Configuration *ElastiCacheReservedInstancesConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the purchase recommendation. CostCalculation *ReservedInstancesCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ElastiCacheReservedInstances) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ElastiCacheReservedInstances) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *ElastiCacheReservedInstances) SetConfiguration(v *ElastiCacheReservedInstancesConfiguration) *ElastiCacheReservedInstances { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *ElastiCacheReservedInstances) SetCostCalculation(v *ReservedInstancesCostCalculation) *ElastiCacheReservedInstances { s.CostCalculation = v return s } // The ElastiCache reserved instances configuration used for recommendations. type ElastiCacheReservedInstancesConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // Determines whether the recommendation is for a current generation instance. CurrentGeneration *string `locationName:"currentGeneration" type:"string"` // The instance family of the recommended reservation. InstanceFamily *string `locationName:"instanceFamily" type:"string"` // The type of instance that Amazon Web Services recommends. InstanceType *string `locationName:"instanceType" type:"string"` // How much purchasing reserved instances costs you on a monthly basis. MonthlyRecurringCost *string `locationName:"monthlyRecurringCost" type:"string"` // The number of normalized units that Amazon Web Services recommends that you // purchase. NormalizedUnitsToPurchase *string `locationName:"normalizedUnitsToPurchase" type:"string"` // The number of instances that Amazon Web Services recommends that you purchase. NumberOfInstancesToPurchase *string `locationName:"numberOfInstancesToPurchase" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Amazon Web Services Region of the commitment. ReservedInstancesRegion *string `locationName:"reservedInstancesRegion" type:"string"` // The service that you want your recommendations for. Service *string `locationName:"service" type:"string"` // Determines whether the recommendation is size flexible. SizeFlexEligible *bool `locationName:"sizeFlexEligible" type:"boolean"` // The reserved instances recommendation term in years. Term *string `locationName:"term" type:"string"` // How much purchasing this instance costs you upfront. UpfrontCost *string `locationName:"upfrontCost" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ElastiCacheReservedInstancesConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ElastiCacheReservedInstancesConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetAccountScope(v string) *ElastiCacheReservedInstancesConfiguration { s.AccountScope = &v return s } // SetCurrentGeneration sets the CurrentGeneration field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetCurrentGeneration(v string) *ElastiCacheReservedInstancesConfiguration { s.CurrentGeneration = &v return s } // SetInstanceFamily sets the InstanceFamily field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetInstanceFamily(v string) *ElastiCacheReservedInstancesConfiguration { s.InstanceFamily = &v return s } // SetInstanceType sets the InstanceType field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetInstanceType(v string) *ElastiCacheReservedInstancesConfiguration { s.InstanceType = &v return s } // SetMonthlyRecurringCost sets the MonthlyRecurringCost field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetMonthlyRecurringCost(v string) *ElastiCacheReservedInstancesConfiguration { s.MonthlyRecurringCost = &v return s } // SetNormalizedUnitsToPurchase sets the NormalizedUnitsToPurchase field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetNormalizedUnitsToPurchase(v string) *ElastiCacheReservedInstancesConfiguration { s.NormalizedUnitsToPurchase = &v return s } // SetNumberOfInstancesToPurchase sets the NumberOfInstancesToPurchase field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetNumberOfInstancesToPurchase(v string) *ElastiCacheReservedInstancesConfiguration { s.NumberOfInstancesToPurchase = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetPaymentOption(v string) *ElastiCacheReservedInstancesConfiguration { s.PaymentOption = &v return s } // SetReservedInstancesRegion sets the ReservedInstancesRegion field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetReservedInstancesRegion(v string) *ElastiCacheReservedInstancesConfiguration { s.ReservedInstancesRegion = &v return s } // SetService sets the Service field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetService(v string) *ElastiCacheReservedInstancesConfiguration { s.Service = &v return s } // SetSizeFlexEligible sets the SizeFlexEligible field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetSizeFlexEligible(v bool) *ElastiCacheReservedInstancesConfiguration { s.SizeFlexEligible = &v return s } // SetTerm sets the Term field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetTerm(v string) *ElastiCacheReservedInstancesConfiguration { s.Term = &v return s } // SetUpfrontCost sets the UpfrontCost field's value. func (s *ElastiCacheReservedInstancesConfiguration) SetUpfrontCost(v string) *ElastiCacheReservedInstancesConfiguration { s.UpfrontCost = &v return s } // Estimated discount details of the current and recommended resource configuration // for a recommendation. type EstimatedDiscounts struct { _ struct{} `type:"structure"` // Estimated other discounts include all discounts that are not itemized. Itemized // discounts include reservedInstanceDiscount and savingsPlansDiscount. OtherDiscount *float64 `locationName:"otherDiscount" type:"double"` // Estimated reserved instance discounts. ReservedInstancesDiscount *float64 `locationName:"reservedInstancesDiscount" type:"double"` // Estimated Savings Plans discounts. SavingsPlansDiscount *float64 `locationName:"savingsPlansDiscount" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EstimatedDiscounts) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EstimatedDiscounts) GoString() string { return s.String() } // SetOtherDiscount sets the OtherDiscount field's value. func (s *EstimatedDiscounts) SetOtherDiscount(v float64) *EstimatedDiscounts { s.OtherDiscount = &v return s } // SetReservedInstancesDiscount sets the ReservedInstancesDiscount field's value. func (s *EstimatedDiscounts) SetReservedInstancesDiscount(v float64) *EstimatedDiscounts { s.ReservedInstancesDiscount = &v return s } // SetSavingsPlansDiscount sets the SavingsPlansDiscount field's value. func (s *EstimatedDiscounts) SetSavingsPlansDiscount(v float64) *EstimatedDiscounts { s.SavingsPlansDiscount = &v return s } // Describes a filter that returns a more specific list of recommendations. // Filters recommendations by different dimensions. type Filter struct { _ struct{} `type:"structure"` // The account that the recommendation is for. AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` // The type of action you can take by adopting the recommendation. ActionTypes []*string `locationName:"actionTypes" min:"1" type:"list" enum:"ActionType"` // The effort required to implement the recommendation. ImplementationEfforts []*string `locationName:"implementationEfforts" min:"1" type:"list" enum:"ImplementationEffort"` // The IDs for the recommendations. RecommendationIds []*string `locationName:"recommendationIds" min:"1" type:"list"` // The Amazon Web Services Region of the resource. Regions []*string `locationName:"regions" min:"1" type:"list"` // The Amazon Resource Name (ARN) of the recommendation. ResourceArns []*string `locationName:"resourceArns" min:"1" type:"list"` // The resource ID of the recommendation. ResourceIds []*string `locationName:"resourceIds" min:"1" type:"list"` // The resource type of the recommendation. ResourceTypes []*string `locationName:"resourceTypes" min:"1" type:"list" enum:"ResourceType"` // Whether or not implementing the recommendation requires a restart. RestartNeeded *bool `locationName:"restartNeeded" type:"boolean"` // Whether or not implementing the recommendation can be rolled back. RollbackPossible *bool `locationName:"rollbackPossible" type:"boolean"` // A list of tags assigned to the recommendation. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Filter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Filter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Filter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Filter"} if s.AccountIds != nil && len(s.AccountIds) < 1 { invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) } if s.ActionTypes != nil && len(s.ActionTypes) < 1 { invalidParams.Add(request.NewErrParamMinLen("ActionTypes", 1)) } if s.ImplementationEfforts != nil && len(s.ImplementationEfforts) < 1 { invalidParams.Add(request.NewErrParamMinLen("ImplementationEfforts", 1)) } if s.RecommendationIds != nil && len(s.RecommendationIds) < 1 { invalidParams.Add(request.NewErrParamMinLen("RecommendationIds", 1)) } if s.Regions != nil && len(s.Regions) < 1 { invalidParams.Add(request.NewErrParamMinLen("Regions", 1)) } if s.ResourceArns != nil && len(s.ResourceArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) } if s.ResourceIds != nil && len(s.ResourceIds) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) } if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAccountIds sets the AccountIds field's value. func (s *Filter) SetAccountIds(v []*string) *Filter { s.AccountIds = v return s } // SetActionTypes sets the ActionTypes field's value. func (s *Filter) SetActionTypes(v []*string) *Filter { s.ActionTypes = v return s } // SetImplementationEfforts sets the ImplementationEfforts field's value. func (s *Filter) SetImplementationEfforts(v []*string) *Filter { s.ImplementationEfforts = v return s } // SetRecommendationIds sets the RecommendationIds field's value. func (s *Filter) SetRecommendationIds(v []*string) *Filter { s.RecommendationIds = v return s } // SetRegions sets the Regions field's value. func (s *Filter) SetRegions(v []*string) *Filter { s.Regions = v return s } // SetResourceArns sets the ResourceArns field's value. func (s *Filter) SetResourceArns(v []*string) *Filter { s.ResourceArns = v return s } // SetResourceIds sets the ResourceIds field's value. func (s *Filter) SetResourceIds(v []*string) *Filter { s.ResourceIds = v return s } // SetResourceTypes sets the ResourceTypes field's value. func (s *Filter) SetResourceTypes(v []*string) *Filter { s.ResourceTypes = v return s } // SetRestartNeeded sets the RestartNeeded field's value. func (s *Filter) SetRestartNeeded(v bool) *Filter { s.RestartNeeded = &v return s } // SetRollbackPossible sets the RollbackPossible field's value. func (s *Filter) SetRollbackPossible(v bool) *Filter { s.RollbackPossible = &v return s } // SetTags sets the Tags field's value. func (s *Filter) SetTags(v []*Tag) *Filter { s.Tags = v return s } type GetPreferencesInput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetPreferencesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetPreferencesInput) GoString() string { return s.String() } type GetPreferencesOutput struct { _ struct{} `type:"structure"` // Retrieves the status of the "member account discount visibility" preference. MemberAccountDiscountVisibility *string `locationName:"memberAccountDiscountVisibility" type:"string" enum:"MemberAccountDiscountVisibility"` // Retrieves the status of the "savings estimation mode" preference. SavingsEstimationMode *string `locationName:"savingsEstimationMode" type:"string" enum:"SavingsEstimationMode"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetPreferencesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetPreferencesOutput) GoString() string { return s.String() } // SetMemberAccountDiscountVisibility sets the MemberAccountDiscountVisibility field's value. func (s *GetPreferencesOutput) SetMemberAccountDiscountVisibility(v string) *GetPreferencesOutput { s.MemberAccountDiscountVisibility = &v return s } // SetSavingsEstimationMode sets the SavingsEstimationMode field's value. func (s *GetPreferencesOutput) SetSavingsEstimationMode(v string) *GetPreferencesOutput { s.SavingsEstimationMode = &v return s } type GetRecommendationInput struct { _ struct{} `type:"structure"` // The ID for the recommendation. // // RecommendationId is a required field RecommendationId *string `locationName:"recommendationId" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetRecommendationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetRecommendationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetRecommendationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetRecommendationInput"} if s.RecommendationId == nil { invalidParams.Add(request.NewErrParamRequired("RecommendationId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetRecommendationId sets the RecommendationId field's value. func (s *GetRecommendationInput) SetRecommendationId(v string) *GetRecommendationInput { s.RecommendationId = &v return s } type GetRecommendationOutput struct { _ struct{} `type:"structure"` // The account that the recommendation is for. AccountId *string `locationName:"accountId" type:"string"` // The type of action you can take by adopting the recommendation. ActionType *string `locationName:"actionType" type:"string" enum:"ActionType"` // The lookback period used to calculate cost impact for a recommendation. CostCalculationLookbackPeriodInDays *int64 `locationName:"costCalculationLookbackPeriodInDays" type:"integer"` // The currency code used for the recommendation. CurrencyCode *string `locationName:"currencyCode" type:"string"` // The details for the resource. CurrentResourceDetails *ResourceDetails `locationName:"currentResourceDetails" type:"structure"` // The type of resource. CurrentResourceType *string `locationName:"currentResourceType" type:"string" enum:"ResourceType"` // The estimated monthly cost of the current resource. For Reserved Instances // and Savings Plans, it refers to the cost for eligible usage. EstimatedMonthlyCost *float64 `locationName:"estimatedMonthlyCost" type:"double"` // The estimated monthly savings amount for the recommendation. EstimatedMonthlySavings *float64 `locationName:"estimatedMonthlySavings" type:"double"` // The estimated savings amount over the lookback period used to calculate cost // impact for a recommendation. EstimatedSavingsOverCostCalculationLookbackPeriod *float64 `locationName:"estimatedSavingsOverCostCalculationLookbackPeriod" type:"double"` // The estimated savings percentage relative to the total cost over the cost // calculation lookback period. EstimatedSavingsPercentage *float64 `locationName:"estimatedSavingsPercentage" type:"double"` // The effort required to implement the recommendation. ImplementationEffort *string `locationName:"implementationEffort" type:"string" enum:"ImplementationEffort"` // The time when the recommendation was last generated. LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` // The ID for the recommendation. RecommendationId *string `locationName:"recommendationId" type:"string"` // The lookback period that's used to generate the recommendation. RecommendationLookbackPeriodInDays *int64 `locationName:"recommendationLookbackPeriodInDays" type:"integer"` // The details about the recommended resource. RecommendedResourceDetails *ResourceDetails `locationName:"recommendedResourceDetails" type:"structure"` // The resource type of the recommendation. RecommendedResourceType *string `locationName:"recommendedResourceType" type:"string" enum:"ResourceType"` // The Amazon Web Services Region of the resource. Region *string `locationName:"region" type:"string"` // The Amazon Resource Name (ARN) of the resource. ResourceArn *string `locationName:"resourceArn" type:"string"` // The unique identifier for the resource. This is the same as the Amazon Resource // Name (ARN), if available. ResourceId *string `locationName:"resourceId" type:"string"` // Whether or not implementing the recommendation requires a restart. RestartNeeded *bool `locationName:"restartNeeded" type:"boolean"` // Whether or not implementing the recommendation can be rolled back. RollbackPossible *bool `locationName:"rollbackPossible" type:"boolean"` // The source of the recommendation. Source *string `locationName:"source" type:"string" enum:"Source"` // A list of tags associated with the resource for which the recommendation // exists. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetRecommendationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetRecommendationOutput) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *GetRecommendationOutput) SetAccountId(v string) *GetRecommendationOutput { s.AccountId = &v return s } // SetActionType sets the ActionType field's value. func (s *GetRecommendationOutput) SetActionType(v string) *GetRecommendationOutput { s.ActionType = &v return s } // SetCostCalculationLookbackPeriodInDays sets the CostCalculationLookbackPeriodInDays field's value. func (s *GetRecommendationOutput) SetCostCalculationLookbackPeriodInDays(v int64) *GetRecommendationOutput { s.CostCalculationLookbackPeriodInDays = &v return s } // SetCurrencyCode sets the CurrencyCode field's value. func (s *GetRecommendationOutput) SetCurrencyCode(v string) *GetRecommendationOutput { s.CurrencyCode = &v return s } // SetCurrentResourceDetails sets the CurrentResourceDetails field's value. func (s *GetRecommendationOutput) SetCurrentResourceDetails(v *ResourceDetails) *GetRecommendationOutput { s.CurrentResourceDetails = v return s } // SetCurrentResourceType sets the CurrentResourceType field's value. func (s *GetRecommendationOutput) SetCurrentResourceType(v string) *GetRecommendationOutput { s.CurrentResourceType = &v return s } // SetEstimatedMonthlyCost sets the EstimatedMonthlyCost field's value. func (s *GetRecommendationOutput) SetEstimatedMonthlyCost(v float64) *GetRecommendationOutput { s.EstimatedMonthlyCost = &v return s } // SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. func (s *GetRecommendationOutput) SetEstimatedMonthlySavings(v float64) *GetRecommendationOutput { s.EstimatedMonthlySavings = &v return s } // SetEstimatedSavingsOverCostCalculationLookbackPeriod sets the EstimatedSavingsOverCostCalculationLookbackPeriod field's value. func (s *GetRecommendationOutput) SetEstimatedSavingsOverCostCalculationLookbackPeriod(v float64) *GetRecommendationOutput { s.EstimatedSavingsOverCostCalculationLookbackPeriod = &v return s } // SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. func (s *GetRecommendationOutput) SetEstimatedSavingsPercentage(v float64) *GetRecommendationOutput { s.EstimatedSavingsPercentage = &v return s } // SetImplementationEffort sets the ImplementationEffort field's value. func (s *GetRecommendationOutput) SetImplementationEffort(v string) *GetRecommendationOutput { s.ImplementationEffort = &v return s } // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. func (s *GetRecommendationOutput) SetLastRefreshTimestamp(v time.Time) *GetRecommendationOutput { s.LastRefreshTimestamp = &v return s } // SetRecommendationId sets the RecommendationId field's value. func (s *GetRecommendationOutput) SetRecommendationId(v string) *GetRecommendationOutput { s.RecommendationId = &v return s } // SetRecommendationLookbackPeriodInDays sets the RecommendationLookbackPeriodInDays field's value. func (s *GetRecommendationOutput) SetRecommendationLookbackPeriodInDays(v int64) *GetRecommendationOutput { s.RecommendationLookbackPeriodInDays = &v return s } // SetRecommendedResourceDetails sets the RecommendedResourceDetails field's value. func (s *GetRecommendationOutput) SetRecommendedResourceDetails(v *ResourceDetails) *GetRecommendationOutput { s.RecommendedResourceDetails = v return s } // SetRecommendedResourceType sets the RecommendedResourceType field's value. func (s *GetRecommendationOutput) SetRecommendedResourceType(v string) *GetRecommendationOutput { s.RecommendedResourceType = &v return s } // SetRegion sets the Region field's value. func (s *GetRecommendationOutput) SetRegion(v string) *GetRecommendationOutput { s.Region = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *GetRecommendationOutput) SetResourceArn(v string) *GetRecommendationOutput { s.ResourceArn = &v return s } // SetResourceId sets the ResourceId field's value. func (s *GetRecommendationOutput) SetResourceId(v string) *GetRecommendationOutput { s.ResourceId = &v return s } // SetRestartNeeded sets the RestartNeeded field's value. func (s *GetRecommendationOutput) SetRestartNeeded(v bool) *GetRecommendationOutput { s.RestartNeeded = &v return s } // SetRollbackPossible sets the RollbackPossible field's value. func (s *GetRecommendationOutput) SetRollbackPossible(v bool) *GetRecommendationOutput { s.RollbackPossible = &v return s } // SetSource sets the Source field's value. func (s *GetRecommendationOutput) SetSource(v string) *GetRecommendationOutput { s.Source = &v return s } // SetTags sets the Tags field's value. func (s *GetRecommendationOutput) SetTags(v []*Tag) *GetRecommendationOutput { s.Tags = v return s } // The Instance configuration used for recommendations. type InstanceConfiguration struct { _ struct{} `type:"structure"` // Details about the type. Type *string `locationName:"type" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InstanceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InstanceConfiguration) GoString() string { return s.String() } // SetType sets the Type field's value. func (s *InstanceConfiguration) SetType(v string) *InstanceConfiguration { s.Type = &v return s } // An error on the server occurred during the processing of your request. Try // again later. type InternalServerException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServerException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServerException) GoString() string { return s.String() } func newErrorInternalServerException(v protocol.ResponseMetadata) error { return &InternalServerException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServerException) Code() string { return "InternalServerException" } // Message returns the exception's message. func (s *InternalServerException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServerException) OrigErr() error { return nil } func (s *InternalServerException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *InternalServerException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } // The Lambda function recommendation details. type LambdaFunction struct { _ struct{} `type:"structure"` // The Lambda function configuration used for recommendations. Configuration *LambdaFunctionConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunction) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *LambdaFunction) SetConfiguration(v *LambdaFunctionConfiguration) *LambdaFunction { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *LambdaFunction) SetCostCalculation(v *ResourceCostCalculation) *LambdaFunction { s.CostCalculation = v return s } // The Lambda function configuration used for recommendations. type LambdaFunctionConfiguration struct { _ struct{} `type:"structure"` // Details about the compute configuration. Compute *ComputeConfiguration `locationName:"compute" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunctionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunctionConfiguration) GoString() string { return s.String() } // SetCompute sets the Compute field's value. func (s *LambdaFunctionConfiguration) SetCompute(v *ComputeConfiguration) *LambdaFunctionConfiguration { s.Compute = v return s } type ListEnrollmentStatusesInput struct { _ struct{} `type:"structure"` // The account ID of a member account in the organization. AccountId *string `locationName:"accountId" type:"string"` // Indicates whether to return the enrollment status for the organization. IncludeOrganizationInfo *bool `locationName:"includeOrganizationInfo" type:"boolean"` // The maximum number of objects that are returned for the request. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEnrollmentStatusesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEnrollmentStatusesInput) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *ListEnrollmentStatusesInput) SetAccountId(v string) *ListEnrollmentStatusesInput { s.AccountId = &v return s } // SetIncludeOrganizationInfo sets the IncludeOrganizationInfo field's value. func (s *ListEnrollmentStatusesInput) SetIncludeOrganizationInfo(v bool) *ListEnrollmentStatusesInput { s.IncludeOrganizationInfo = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListEnrollmentStatusesInput) SetMaxResults(v int64) *ListEnrollmentStatusesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListEnrollmentStatusesInput) SetNextToken(v string) *ListEnrollmentStatusesInput { s.NextToken = &v return s } type ListEnrollmentStatusesOutput struct { _ struct{} `type:"structure"` // The enrollment status of all member accounts in the organization if the account // is the management account. IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` // The enrollment status of a specific account ID, including creation and last // updated timestamps. Items []*AccountEnrollmentStatus `locationName:"items" type:"list"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEnrollmentStatusesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEnrollmentStatusesOutput) GoString() string { return s.String() } // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. func (s *ListEnrollmentStatusesOutput) SetIncludeMemberAccounts(v bool) *ListEnrollmentStatusesOutput { s.IncludeMemberAccounts = &v return s } // SetItems sets the Items field's value. func (s *ListEnrollmentStatusesOutput) SetItems(v []*AccountEnrollmentStatus) *ListEnrollmentStatusesOutput { s.Items = v return s } // SetNextToken sets the NextToken field's value. func (s *ListEnrollmentStatusesOutput) SetNextToken(v string) *ListEnrollmentStatusesOutput { s.NextToken = &v return s } type ListRecommendationSummariesInput struct { _ struct{} `type:"structure"` // Describes a filter that returns a more specific list of recommendations. // Filters recommendations by different dimensions. Filter *Filter `locationName:"filter" type:"structure"` // The grouping of recommendations by a dimension. // // GroupBy is a required field GroupBy *string `locationName:"groupBy" type:"string" required:"true"` // The maximum number of recommendations that are returned for the request. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationSummariesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationSummariesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListRecommendationSummariesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListRecommendationSummariesInput"} if s.GroupBy == nil { invalidParams.Add(request.NewErrParamRequired("GroupBy")) } if s.Filter != nil { if err := s.Filter.Validate(); err != nil { invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilter sets the Filter field's value. func (s *ListRecommendationSummariesInput) SetFilter(v *Filter) *ListRecommendationSummariesInput { s.Filter = v return s } // SetGroupBy sets the GroupBy field's value. func (s *ListRecommendationSummariesInput) SetGroupBy(v string) *ListRecommendationSummariesInput { s.GroupBy = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListRecommendationSummariesInput) SetMaxResults(v int64) *ListRecommendationSummariesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListRecommendationSummariesInput) SetNextToken(v string) *ListRecommendationSummariesInput { s.NextToken = &v return s } type ListRecommendationSummariesOutput struct { _ struct{} `type:"structure"` // The currency code used for the recommendation. CurrencyCode *string `locationName:"currencyCode" type:"string"` // The total overall savings for the aggregated view. EstimatedTotalDedupedSavings *float64 `locationName:"estimatedTotalDedupedSavings" type:"double"` // The dimension used to group the recommendations by. GroupBy *string `locationName:"groupBy" type:"string"` // List of all savings recommendations. Items []*RecommendationSummary `locationName:"items" type:"list"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationSummariesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationSummariesOutput) GoString() string { return s.String() } // SetCurrencyCode sets the CurrencyCode field's value. func (s *ListRecommendationSummariesOutput) SetCurrencyCode(v string) *ListRecommendationSummariesOutput { s.CurrencyCode = &v return s } // SetEstimatedTotalDedupedSavings sets the EstimatedTotalDedupedSavings field's value. func (s *ListRecommendationSummariesOutput) SetEstimatedTotalDedupedSavings(v float64) *ListRecommendationSummariesOutput { s.EstimatedTotalDedupedSavings = &v return s } // SetGroupBy sets the GroupBy field's value. func (s *ListRecommendationSummariesOutput) SetGroupBy(v string) *ListRecommendationSummariesOutput { s.GroupBy = &v return s } // SetItems sets the Items field's value. func (s *ListRecommendationSummariesOutput) SetItems(v []*RecommendationSummary) *ListRecommendationSummariesOutput { s.Items = v return s } // SetNextToken sets the NextToken field's value. func (s *ListRecommendationSummariesOutput) SetNextToken(v string) *ListRecommendationSummariesOutput { s.NextToken = &v return s } type ListRecommendationsInput struct { _ struct{} `type:"structure"` // The constraints that you want all returned recommendations to match. Filter *Filter `locationName:"filter" type:"structure"` // List of all recommendations for a resource, or a single recommendation if // de-duped by resourceId. IncludeAllRecommendations *bool `locationName:"includeAllRecommendations" type:"boolean"` // The maximum number of recommendations that are returned for the request. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` // The ordering of recommendations by a dimension. OrderBy *OrderBy `locationName:"orderBy" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListRecommendationsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListRecommendationsInput"} if s.Filter != nil { if err := s.Filter.Validate(); err != nil { invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilter sets the Filter field's value. func (s *ListRecommendationsInput) SetFilter(v *Filter) *ListRecommendationsInput { s.Filter = v return s } // SetIncludeAllRecommendations sets the IncludeAllRecommendations field's value. func (s *ListRecommendationsInput) SetIncludeAllRecommendations(v bool) *ListRecommendationsInput { s.IncludeAllRecommendations = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListRecommendationsInput) SetMaxResults(v int64) *ListRecommendationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListRecommendationsInput) SetNextToken(v string) *ListRecommendationsInput { s.NextToken = &v return s } // SetOrderBy sets the OrderBy field's value. func (s *ListRecommendationsInput) SetOrderBy(v *OrderBy) *ListRecommendationsInput { s.OrderBy = v return s } type ListRecommendationsOutput struct { _ struct{} `type:"structure"` // List of all savings recommendations. Items []*Recommendation `locationName:"items" type:"list"` // The token to retrieve the next set of results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListRecommendationsOutput) GoString() string { return s.String() } // SetItems sets the Items field's value. func (s *ListRecommendationsOutput) SetItems(v []*Recommendation) *ListRecommendationsOutput { s.Items = v return s } // SetNextToken sets the NextToken field's value. func (s *ListRecommendationsOutput) SetNextToken(v string) *ListRecommendationsOutput { s.NextToken = &v return s } // The OpenSearch reserved instances recommendation details. type OpenSearchReservedInstances struct { _ struct{} `type:"structure"` // The OpenSearch reserved instances configuration used for recommendations. Configuration *OpenSearchReservedInstancesConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the purchase recommendation. CostCalculation *ReservedInstancesCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OpenSearchReservedInstances) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OpenSearchReservedInstances) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *OpenSearchReservedInstances) SetConfiguration(v *OpenSearchReservedInstancesConfiguration) *OpenSearchReservedInstances { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *OpenSearchReservedInstances) SetCostCalculation(v *ReservedInstancesCostCalculation) *OpenSearchReservedInstances { s.CostCalculation = v return s } // The OpenSearch reserved instances configuration used for recommendations. type OpenSearchReservedInstancesConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // Determines whether the recommendation is for a current generation instance. CurrentGeneration *string `locationName:"currentGeneration" type:"string"` // The type of instance that Amazon Web Services recommends. InstanceType *string `locationName:"instanceType" type:"string"` // How much purchasing reserved instances costs you on a monthly basis. MonthlyRecurringCost *string `locationName:"monthlyRecurringCost" type:"string"` // The number of normalized units that Amazon Web Services recommends that you // purchase. NormalizedUnitsToPurchase *string `locationName:"normalizedUnitsToPurchase" type:"string"` // The number of instances that Amazon Web Services recommends that you purchase. NumberOfInstancesToPurchase *string `locationName:"numberOfInstancesToPurchase" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Amazon Web Services Region of the commitment. ReservedInstancesRegion *string `locationName:"reservedInstancesRegion" type:"string"` // The service that you want your recommendations for. Service *string `locationName:"service" type:"string"` // Determines whether the recommendation is size flexible. SizeFlexEligible *bool `locationName:"sizeFlexEligible" type:"boolean"` // The reserved instances recommendation term in years. Term *string `locationName:"term" type:"string"` // How much purchasing this instance costs you upfront. UpfrontCost *string `locationName:"upfrontCost" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OpenSearchReservedInstancesConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OpenSearchReservedInstancesConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *OpenSearchReservedInstancesConfiguration) SetAccountScope(v string) *OpenSearchReservedInstancesConfiguration { s.AccountScope = &v return s } // SetCurrentGeneration sets the CurrentGeneration field's value. func (s *OpenSearchReservedInstancesConfiguration) SetCurrentGeneration(v string) *OpenSearchReservedInstancesConfiguration { s.CurrentGeneration = &v return s } // SetInstanceType sets the InstanceType field's value. func (s *OpenSearchReservedInstancesConfiguration) SetInstanceType(v string) *OpenSearchReservedInstancesConfiguration { s.InstanceType = &v return s } // SetMonthlyRecurringCost sets the MonthlyRecurringCost field's value. func (s *OpenSearchReservedInstancesConfiguration) SetMonthlyRecurringCost(v string) *OpenSearchReservedInstancesConfiguration { s.MonthlyRecurringCost = &v return s } // SetNormalizedUnitsToPurchase sets the NormalizedUnitsToPurchase field's value. func (s *OpenSearchReservedInstancesConfiguration) SetNormalizedUnitsToPurchase(v string) *OpenSearchReservedInstancesConfiguration { s.NormalizedUnitsToPurchase = &v return s } // SetNumberOfInstancesToPurchase sets the NumberOfInstancesToPurchase field's value. func (s *OpenSearchReservedInstancesConfiguration) SetNumberOfInstancesToPurchase(v string) *OpenSearchReservedInstancesConfiguration { s.NumberOfInstancesToPurchase = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *OpenSearchReservedInstancesConfiguration) SetPaymentOption(v string) *OpenSearchReservedInstancesConfiguration { s.PaymentOption = &v return s } // SetReservedInstancesRegion sets the ReservedInstancesRegion field's value. func (s *OpenSearchReservedInstancesConfiguration) SetReservedInstancesRegion(v string) *OpenSearchReservedInstancesConfiguration { s.ReservedInstancesRegion = &v return s } // SetService sets the Service field's value. func (s *OpenSearchReservedInstancesConfiguration) SetService(v string) *OpenSearchReservedInstancesConfiguration { s.Service = &v return s } // SetSizeFlexEligible sets the SizeFlexEligible field's value. func (s *OpenSearchReservedInstancesConfiguration) SetSizeFlexEligible(v bool) *OpenSearchReservedInstancesConfiguration { s.SizeFlexEligible = &v return s } // SetTerm sets the Term field's value. func (s *OpenSearchReservedInstancesConfiguration) SetTerm(v string) *OpenSearchReservedInstancesConfiguration { s.Term = &v return s } // SetUpfrontCost sets the UpfrontCost field's value. func (s *OpenSearchReservedInstancesConfiguration) SetUpfrontCost(v string) *OpenSearchReservedInstancesConfiguration { s.UpfrontCost = &v return s } // Defines how rows will be sorted in the response. type OrderBy struct { _ struct{} `type:"structure"` // Sorts by dimension values. Dimension *string `locationName:"dimension" type:"string"` // The order that's used to sort the data. Order *string `locationName:"order" type:"string" enum:"Order"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OrderBy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s OrderBy) GoString() string { return s.String() } // SetDimension sets the Dimension field's value. func (s *OrderBy) SetDimension(v string) *OrderBy { s.Dimension = &v return s } // SetOrder sets the Order field's value. func (s *OrderBy) SetOrder(v string) *OrderBy { s.Order = &v return s } // Contains the details of an Amazon RDS DB instance. type RdsDbInstance struct { _ struct{} `type:"structure"` // The Amazon RDS DB instance configuration used for recommendations. Configuration *RdsDbInstanceConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the resource recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstance) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstance) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *RdsDbInstance) SetConfiguration(v *RdsDbInstanceConfiguration) *RdsDbInstance { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *RdsDbInstance) SetCostCalculation(v *ResourceCostCalculation) *RdsDbInstance { s.CostCalculation = v return s } // The Amazon RDS DB instance configuration used for recommendations. type RdsDbInstanceConfiguration struct { _ struct{} `type:"structure"` // Details about the instance configuration. Instance *DbInstanceConfiguration `locationName:"instance" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceConfiguration) GoString() string { return s.String() } // SetInstance sets the Instance field's value. func (s *RdsDbInstanceConfiguration) SetInstance(v *DbInstanceConfiguration) *RdsDbInstanceConfiguration { s.Instance = v return s } // Contains the details of an Amazon RDS DB instance storage. type RdsDbInstanceStorage struct { _ struct{} `type:"structure"` // The Amazon RDS DB instance storage configuration used for recommendations. Configuration *RdsDbInstanceStorageConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the resource recommendation. CostCalculation *ResourceCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceStorage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceStorage) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *RdsDbInstanceStorage) SetConfiguration(v *RdsDbInstanceStorageConfiguration) *RdsDbInstanceStorage { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *RdsDbInstanceStorage) SetCostCalculation(v *ResourceCostCalculation) *RdsDbInstanceStorage { s.CostCalculation = v return s } // The Amazon RDS DB instance storage configuration used for recommendations. type RdsDbInstanceStorageConfiguration struct { _ struct{} `type:"structure"` // The new amount of storage in GB to allocate for the DB instance. AllocatedStorageInGb *float64 `locationName:"allocatedStorageInGb" type:"double"` // The amount of Provisioned IOPS (input/output operations per second) to be // initially allocated for the DB instance. Iops *float64 `locationName:"iops" type:"double"` // The storage throughput for the DB instance. StorageThroughput *float64 `locationName:"storageThroughput" type:"double"` // The storage type to associate with the DB instance. StorageType *string `locationName:"storageType" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceStorageConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsDbInstanceStorageConfiguration) GoString() string { return s.String() } // SetAllocatedStorageInGb sets the AllocatedStorageInGb field's value. func (s *RdsDbInstanceStorageConfiguration) SetAllocatedStorageInGb(v float64) *RdsDbInstanceStorageConfiguration { s.AllocatedStorageInGb = &v return s } // SetIops sets the Iops field's value. func (s *RdsDbInstanceStorageConfiguration) SetIops(v float64) *RdsDbInstanceStorageConfiguration { s.Iops = &v return s } // SetStorageThroughput sets the StorageThroughput field's value. func (s *RdsDbInstanceStorageConfiguration) SetStorageThroughput(v float64) *RdsDbInstanceStorageConfiguration { s.StorageThroughput = &v return s } // SetStorageType sets the StorageType field's value. func (s *RdsDbInstanceStorageConfiguration) SetStorageType(v string) *RdsDbInstanceStorageConfiguration { s.StorageType = &v return s } // The RDS reserved instances recommendation details. type RdsReservedInstances struct { _ struct{} `type:"structure"` // The RDS reserved instances configuration used for recommendations. Configuration *RdsReservedInstancesConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the purchase recommendation. CostCalculation *ReservedInstancesCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsReservedInstances) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsReservedInstances) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *RdsReservedInstances) SetConfiguration(v *RdsReservedInstancesConfiguration) *RdsReservedInstances { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *RdsReservedInstances) SetCostCalculation(v *ReservedInstancesCostCalculation) *RdsReservedInstances { s.CostCalculation = v return s } // The RDS reserved instances configuration used for recommendations. type RdsReservedInstancesConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // Determines whether the recommendation is for a current generation instance. CurrentGeneration *string `locationName:"currentGeneration" type:"string"` // The database edition that the recommended reservation supports. DatabaseEdition *string `locationName:"databaseEdition" type:"string"` // The database engine that the recommended reservation supports. DatabaseEngine *string `locationName:"databaseEngine" type:"string"` // Determines whether the recommendation is for a reservation in a single Availability // Zone or a reservation with a backup in a second Availability Zone. DeploymentOption *string `locationName:"deploymentOption" type:"string"` // The instance family of the recommended reservation. InstanceFamily *string `locationName:"instanceFamily" type:"string"` // The type of instance that Amazon Web Services recommends. InstanceType *string `locationName:"instanceType" type:"string"` // The license model that the recommended reservation supports. LicenseModel *string `locationName:"licenseModel" type:"string"` // How much purchasing this instance costs you on a monthly basis. MonthlyRecurringCost *string `locationName:"monthlyRecurringCost" type:"string"` // The number of normalized units that Amazon Web Services recommends that you // purchase. NormalizedUnitsToPurchase *string `locationName:"normalizedUnitsToPurchase" type:"string"` // The number of instances that Amazon Web Services recommends that you purchase. NumberOfInstancesToPurchase *string `locationName:"numberOfInstancesToPurchase" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Amazon Web Services Region of the commitment. ReservedInstancesRegion *string `locationName:"reservedInstancesRegion" type:"string"` // The service that you want your recommendations for. Service *string `locationName:"service" type:"string"` // Determines whether the recommendation is size flexible. SizeFlexEligible *bool `locationName:"sizeFlexEligible" type:"boolean"` // The reserved instances recommendation term in years. Term *string `locationName:"term" type:"string"` // How much purchasing this instance costs you upfront. UpfrontCost *string `locationName:"upfrontCost" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsReservedInstancesConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RdsReservedInstancesConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *RdsReservedInstancesConfiguration) SetAccountScope(v string) *RdsReservedInstancesConfiguration { s.AccountScope = &v return s } // SetCurrentGeneration sets the CurrentGeneration field's value. func (s *RdsReservedInstancesConfiguration) SetCurrentGeneration(v string) *RdsReservedInstancesConfiguration { s.CurrentGeneration = &v return s } // SetDatabaseEdition sets the DatabaseEdition field's value. func (s *RdsReservedInstancesConfiguration) SetDatabaseEdition(v string) *RdsReservedInstancesConfiguration { s.DatabaseEdition = &v return s } // SetDatabaseEngine sets the DatabaseEngine field's value. func (s *RdsReservedInstancesConfiguration) SetDatabaseEngine(v string) *RdsReservedInstancesConfiguration { s.DatabaseEngine = &v return s } // SetDeploymentOption sets the DeploymentOption field's value. func (s *RdsReservedInstancesConfiguration) SetDeploymentOption(v string) *RdsReservedInstancesConfiguration { s.DeploymentOption = &v return s } // SetInstanceFamily sets the InstanceFamily field's value. func (s *RdsReservedInstancesConfiguration) SetInstanceFamily(v string) *RdsReservedInstancesConfiguration { s.InstanceFamily = &v return s } // SetInstanceType sets the InstanceType field's value. func (s *RdsReservedInstancesConfiguration) SetInstanceType(v string) *RdsReservedInstancesConfiguration { s.InstanceType = &v return s } // SetLicenseModel sets the LicenseModel field's value. func (s *RdsReservedInstancesConfiguration) SetLicenseModel(v string) *RdsReservedInstancesConfiguration { s.LicenseModel = &v return s } // SetMonthlyRecurringCost sets the MonthlyRecurringCost field's value. func (s *RdsReservedInstancesConfiguration) SetMonthlyRecurringCost(v string) *RdsReservedInstancesConfiguration { s.MonthlyRecurringCost = &v return s } // SetNormalizedUnitsToPurchase sets the NormalizedUnitsToPurchase field's value. func (s *RdsReservedInstancesConfiguration) SetNormalizedUnitsToPurchase(v string) *RdsReservedInstancesConfiguration { s.NormalizedUnitsToPurchase = &v return s } // SetNumberOfInstancesToPurchase sets the NumberOfInstancesToPurchase field's value. func (s *RdsReservedInstancesConfiguration) SetNumberOfInstancesToPurchase(v string) *RdsReservedInstancesConfiguration { s.NumberOfInstancesToPurchase = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *RdsReservedInstancesConfiguration) SetPaymentOption(v string) *RdsReservedInstancesConfiguration { s.PaymentOption = &v return s } // SetReservedInstancesRegion sets the ReservedInstancesRegion field's value. func (s *RdsReservedInstancesConfiguration) SetReservedInstancesRegion(v string) *RdsReservedInstancesConfiguration { s.ReservedInstancesRegion = &v return s } // SetService sets the Service field's value. func (s *RdsReservedInstancesConfiguration) SetService(v string) *RdsReservedInstancesConfiguration { s.Service = &v return s } // SetSizeFlexEligible sets the SizeFlexEligible field's value. func (s *RdsReservedInstancesConfiguration) SetSizeFlexEligible(v bool) *RdsReservedInstancesConfiguration { s.SizeFlexEligible = &v return s } // SetTerm sets the Term field's value. func (s *RdsReservedInstancesConfiguration) SetTerm(v string) *RdsReservedInstancesConfiguration { s.Term = &v return s } // SetUpfrontCost sets the UpfrontCost field's value. func (s *RdsReservedInstancesConfiguration) SetUpfrontCost(v string) *RdsReservedInstancesConfiguration { s.UpfrontCost = &v return s } // Describes a recommendation. type Recommendation struct { _ struct{} `type:"structure"` // The account that the recommendation is for. AccountId *string `locationName:"accountId" type:"string"` // The type of tasks that can be carried out by this action. ActionType *string `locationName:"actionType" type:"string"` // The currency code used for the recommendation. CurrencyCode *string `locationName:"currencyCode" type:"string"` // Describes the current resource. CurrentResourceSummary *string `locationName:"currentResourceSummary" type:"string"` // The current resource type. CurrentResourceType *string `locationName:"currentResourceType" type:"string"` // The estimated monthly cost of the current resource. For Reserved Instances // and Savings Plans, it refers to the cost for eligible usage. EstimatedMonthlyCost *float64 `locationName:"estimatedMonthlyCost" type:"double"` // The estimated monthly savings amount for the recommendation. EstimatedMonthlySavings *float64 `locationName:"estimatedMonthlySavings" type:"double"` // The estimated savings percentage relative to the total cost over the cost // calculation lookback period. EstimatedSavingsPercentage *float64 `locationName:"estimatedSavingsPercentage" type:"double"` // The effort required to implement the recommendation. ImplementationEffort *string `locationName:"implementationEffort" type:"string"` // The time when the recommendation was last generated. LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` // The ID for the recommendation. RecommendationId *string `locationName:"recommendationId" type:"string"` // The lookback period that's used to generate the recommendation. RecommendationLookbackPeriodInDays *int64 `locationName:"recommendationLookbackPeriodInDays" type:"integer"` // Describes the recommended resource. RecommendedResourceSummary *string `locationName:"recommendedResourceSummary" type:"string"` // The recommended resource type. RecommendedResourceType *string `locationName:"recommendedResourceType" type:"string"` // The Amazon Web Services Region of the resource. Region *string `locationName:"region" type:"string"` // The Amazon Resource Name (ARN) for the recommendation. ResourceArn *string `locationName:"resourceArn" type:"string"` // The resource ID for the recommendation. ResourceId *string `locationName:"resourceId" type:"string"` // Whether or not implementing the recommendation requires a restart. RestartNeeded *bool `locationName:"restartNeeded" type:"boolean"` // Whether or not implementing the recommendation can be rolled back. RollbackPossible *bool `locationName:"rollbackPossible" type:"boolean"` // The source of the recommendation. Source *string `locationName:"source" type:"string" enum:"Source"` // A list of tags assigned to the recommendation. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Recommendation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Recommendation) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *Recommendation) SetAccountId(v string) *Recommendation { s.AccountId = &v return s } // SetActionType sets the ActionType field's value. func (s *Recommendation) SetActionType(v string) *Recommendation { s.ActionType = &v return s } // SetCurrencyCode sets the CurrencyCode field's value. func (s *Recommendation) SetCurrencyCode(v string) *Recommendation { s.CurrencyCode = &v return s } // SetCurrentResourceSummary sets the CurrentResourceSummary field's value. func (s *Recommendation) SetCurrentResourceSummary(v string) *Recommendation { s.CurrentResourceSummary = &v return s } // SetCurrentResourceType sets the CurrentResourceType field's value. func (s *Recommendation) SetCurrentResourceType(v string) *Recommendation { s.CurrentResourceType = &v return s } // SetEstimatedMonthlyCost sets the EstimatedMonthlyCost field's value. func (s *Recommendation) SetEstimatedMonthlyCost(v float64) *Recommendation { s.EstimatedMonthlyCost = &v return s } // SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. func (s *Recommendation) SetEstimatedMonthlySavings(v float64) *Recommendation { s.EstimatedMonthlySavings = &v return s } // SetEstimatedSavingsPercentage sets the EstimatedSavingsPercentage field's value. func (s *Recommendation) SetEstimatedSavingsPercentage(v float64) *Recommendation { s.EstimatedSavingsPercentage = &v return s } // SetImplementationEffort sets the ImplementationEffort field's value. func (s *Recommendation) SetImplementationEffort(v string) *Recommendation { s.ImplementationEffort = &v return s } // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. func (s *Recommendation) SetLastRefreshTimestamp(v time.Time) *Recommendation { s.LastRefreshTimestamp = &v return s } // SetRecommendationId sets the RecommendationId field's value. func (s *Recommendation) SetRecommendationId(v string) *Recommendation { s.RecommendationId = &v return s } // SetRecommendationLookbackPeriodInDays sets the RecommendationLookbackPeriodInDays field's value. func (s *Recommendation) SetRecommendationLookbackPeriodInDays(v int64) *Recommendation { s.RecommendationLookbackPeriodInDays = &v return s } // SetRecommendedResourceSummary sets the RecommendedResourceSummary field's value. func (s *Recommendation) SetRecommendedResourceSummary(v string) *Recommendation { s.RecommendedResourceSummary = &v return s } // SetRecommendedResourceType sets the RecommendedResourceType field's value. func (s *Recommendation) SetRecommendedResourceType(v string) *Recommendation { s.RecommendedResourceType = &v return s } // SetRegion sets the Region field's value. func (s *Recommendation) SetRegion(v string) *Recommendation { s.Region = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *Recommendation) SetResourceArn(v string) *Recommendation { s.ResourceArn = &v return s } // SetResourceId sets the ResourceId field's value. func (s *Recommendation) SetResourceId(v string) *Recommendation { s.ResourceId = &v return s } // SetRestartNeeded sets the RestartNeeded field's value. func (s *Recommendation) SetRestartNeeded(v bool) *Recommendation { s.RestartNeeded = &v return s } // SetRollbackPossible sets the RollbackPossible field's value. func (s *Recommendation) SetRollbackPossible(v bool) *Recommendation { s.RollbackPossible = &v return s } // SetSource sets the Source field's value. func (s *Recommendation) SetSource(v string) *Recommendation { s.Source = &v return s } // SetTags sets the Tags field's value. func (s *Recommendation) SetTags(v []*Tag) *Recommendation { s.Tags = v return s } // The summary of rightsizing recommendations, including de-duped savings from // all types of recommendations. type RecommendationSummary struct { _ struct{} `type:"structure"` // The estimated total savings resulting from modifications, on a monthly basis. EstimatedMonthlySavings *float64 `locationName:"estimatedMonthlySavings" type:"double"` // The grouping of recommendations. Group *string `locationName:"group" type:"string"` // The total number of instance recommendations. RecommendationCount *int64 `locationName:"recommendationCount" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RecommendationSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RecommendationSummary) GoString() string { return s.String() } // SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. func (s *RecommendationSummary) SetEstimatedMonthlySavings(v float64) *RecommendationSummary { s.EstimatedMonthlySavings = &v return s } // SetGroup sets the Group field's value. func (s *RecommendationSummary) SetGroup(v string) *RecommendationSummary { s.Group = &v return s } // SetRecommendationCount sets the RecommendationCount field's value. func (s *RecommendationSummary) SetRecommendationCount(v int64) *RecommendationSummary { s.RecommendationCount = &v return s } // The Redshift reserved instances recommendation details. type RedshiftReservedInstances struct { _ struct{} `type:"structure"` // The Redshift reserved instances configuration used for recommendations. Configuration *RedshiftReservedInstancesConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the purchase recommendation. CostCalculation *ReservedInstancesCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RedshiftReservedInstances) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RedshiftReservedInstances) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *RedshiftReservedInstances) SetConfiguration(v *RedshiftReservedInstancesConfiguration) *RedshiftReservedInstances { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *RedshiftReservedInstances) SetCostCalculation(v *ReservedInstancesCostCalculation) *RedshiftReservedInstances { s.CostCalculation = v return s } // The Redshift reserved instances configuration used for recommendations. type RedshiftReservedInstancesConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // Determines whether the recommendation is for a current generation instance. CurrentGeneration *string `locationName:"currentGeneration" type:"string"` // The instance family of the recommended reservation. InstanceFamily *string `locationName:"instanceFamily" type:"string"` // The type of instance that Amazon Web Services recommends. InstanceType *string `locationName:"instanceType" type:"string"` // How much purchasing reserved instances costs you on a monthly basis. MonthlyRecurringCost *string `locationName:"monthlyRecurringCost" type:"string"` // The number of normalized units that Amazon Web Services recommends that you // purchase. NormalizedUnitsToPurchase *string `locationName:"normalizedUnitsToPurchase" type:"string"` // The number of instances that Amazon Web Services recommends that you purchase. NumberOfInstancesToPurchase *string `locationName:"numberOfInstancesToPurchase" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Amazon Web Services Region of the commitment. ReservedInstancesRegion *string `locationName:"reservedInstancesRegion" type:"string"` // The service that you want your recommendations for. Service *string `locationName:"service" type:"string"` // Determines whether the recommendation is size flexible. SizeFlexEligible *bool `locationName:"sizeFlexEligible" type:"boolean"` // The reserved instances recommendation term in years. Term *string `locationName:"term" type:"string"` // How much purchasing this instance costs you upfront. UpfrontCost *string `locationName:"upfrontCost" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RedshiftReservedInstancesConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RedshiftReservedInstancesConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *RedshiftReservedInstancesConfiguration) SetAccountScope(v string) *RedshiftReservedInstancesConfiguration { s.AccountScope = &v return s } // SetCurrentGeneration sets the CurrentGeneration field's value. func (s *RedshiftReservedInstancesConfiguration) SetCurrentGeneration(v string) *RedshiftReservedInstancesConfiguration { s.CurrentGeneration = &v return s } // SetInstanceFamily sets the InstanceFamily field's value. func (s *RedshiftReservedInstancesConfiguration) SetInstanceFamily(v string) *RedshiftReservedInstancesConfiguration { s.InstanceFamily = &v return s } // SetInstanceType sets the InstanceType field's value. func (s *RedshiftReservedInstancesConfiguration) SetInstanceType(v string) *RedshiftReservedInstancesConfiguration { s.InstanceType = &v return s } // SetMonthlyRecurringCost sets the MonthlyRecurringCost field's value. func (s *RedshiftReservedInstancesConfiguration) SetMonthlyRecurringCost(v string) *RedshiftReservedInstancesConfiguration { s.MonthlyRecurringCost = &v return s } // SetNormalizedUnitsToPurchase sets the NormalizedUnitsToPurchase field's value. func (s *RedshiftReservedInstancesConfiguration) SetNormalizedUnitsToPurchase(v string) *RedshiftReservedInstancesConfiguration { s.NormalizedUnitsToPurchase = &v return s } // SetNumberOfInstancesToPurchase sets the NumberOfInstancesToPurchase field's value. func (s *RedshiftReservedInstancesConfiguration) SetNumberOfInstancesToPurchase(v string) *RedshiftReservedInstancesConfiguration { s.NumberOfInstancesToPurchase = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *RedshiftReservedInstancesConfiguration) SetPaymentOption(v string) *RedshiftReservedInstancesConfiguration { s.PaymentOption = &v return s } // SetReservedInstancesRegion sets the ReservedInstancesRegion field's value. func (s *RedshiftReservedInstancesConfiguration) SetReservedInstancesRegion(v string) *RedshiftReservedInstancesConfiguration { s.ReservedInstancesRegion = &v return s } // SetService sets the Service field's value. func (s *RedshiftReservedInstancesConfiguration) SetService(v string) *RedshiftReservedInstancesConfiguration { s.Service = &v return s } // SetSizeFlexEligible sets the SizeFlexEligible field's value. func (s *RedshiftReservedInstancesConfiguration) SetSizeFlexEligible(v bool) *RedshiftReservedInstancesConfiguration { s.SizeFlexEligible = &v return s } // SetTerm sets the Term field's value. func (s *RedshiftReservedInstancesConfiguration) SetTerm(v string) *RedshiftReservedInstancesConfiguration { s.Term = &v return s } // SetUpfrontCost sets the UpfrontCost field's value. func (s *RedshiftReservedInstancesConfiguration) SetUpfrontCost(v string) *RedshiftReservedInstancesConfiguration { s.UpfrontCost = &v return s } // Cost impact of the purchase recommendation. type ReservedInstancesCostCalculation struct { _ struct{} `type:"structure"` // Pricing details of the purchase recommendation. Pricing *ReservedInstancesPricing `locationName:"pricing" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ReservedInstancesCostCalculation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ReservedInstancesCostCalculation) GoString() string { return s.String() } // SetPricing sets the Pricing field's value. func (s *ReservedInstancesCostCalculation) SetPricing(v *ReservedInstancesPricing) *ReservedInstancesCostCalculation { s.Pricing = v return s } // Pricing details for your recommended reserved instance. type ReservedInstancesPricing struct { _ struct{} `type:"structure"` // The estimated cost of your recurring monthly fees for the recommended reserved // instance across the month. EstimatedMonthlyAmortizedReservationCost *float64 `locationName:"estimatedMonthlyAmortizedReservationCost" type:"double"` // The remaining On-Demand cost estimated to not be covered by the recommended // reserved instance, over the length of the lookback period. EstimatedOnDemandCost *float64 `locationName:"estimatedOnDemandCost" type:"double"` // The cost of paying for the recommended reserved instance monthly. MonthlyReservationEligibleCost *float64 `locationName:"monthlyReservationEligibleCost" type:"double"` // The savings percentage relative to the total On-Demand costs that are associated // with this instance. SavingsPercentage *float64 `locationName:"savingsPercentage" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ReservedInstancesPricing) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ReservedInstancesPricing) GoString() string { return s.String() } // SetEstimatedMonthlyAmortizedReservationCost sets the EstimatedMonthlyAmortizedReservationCost field's value. func (s *ReservedInstancesPricing) SetEstimatedMonthlyAmortizedReservationCost(v float64) *ReservedInstancesPricing { s.EstimatedMonthlyAmortizedReservationCost = &v return s } // SetEstimatedOnDemandCost sets the EstimatedOnDemandCost field's value. func (s *ReservedInstancesPricing) SetEstimatedOnDemandCost(v float64) *ReservedInstancesPricing { s.EstimatedOnDemandCost = &v return s } // SetMonthlyReservationEligibleCost sets the MonthlyReservationEligibleCost field's value. func (s *ReservedInstancesPricing) SetMonthlyReservationEligibleCost(v float64) *ReservedInstancesPricing { s.MonthlyReservationEligibleCost = &v return s } // SetSavingsPercentage sets the SavingsPercentage field's value. func (s *ReservedInstancesPricing) SetSavingsPercentage(v float64) *ReservedInstancesPricing { s.SavingsPercentage = &v return s } // Cost impact of the resource recommendation. type ResourceCostCalculation struct { _ struct{} `type:"structure"` // Pricing details of the resource recommendation. Pricing *ResourcePricing `locationName:"pricing" type:"structure"` // Usage details of the resource recommendation. Usages []*Usage `locationName:"usages" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceCostCalculation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceCostCalculation) GoString() string { return s.String() } // SetPricing sets the Pricing field's value. func (s *ResourceCostCalculation) SetPricing(v *ResourcePricing) *ResourceCostCalculation { s.Pricing = v return s } // SetUsages sets the Usages field's value. func (s *ResourceCostCalculation) SetUsages(v []*Usage) *ResourceCostCalculation { s.Usages = v return s } // Contains detailed information about the specified resource. type ResourceDetails struct { _ struct{} `type:"structure"` // The Compute Savings Plans recommendation details. ComputeSavingsPlans *ComputeSavingsPlans `locationName:"computeSavingsPlans" type:"structure"` // The Amazon Elastic Block Store volume recommendation details. EbsVolume *EbsVolume `locationName:"ebsVolume" type:"structure"` // The EC2 Auto Scaling group recommendation details. Ec2AutoScalingGroup *Ec2AutoScalingGroup `locationName:"ec2AutoScalingGroup" type:"structure"` // The EC2 instance recommendation details. Ec2Instance *Ec2Instance `locationName:"ec2Instance" type:"structure"` // The EC2 instance Savings Plans recommendation details. Ec2InstanceSavingsPlans *Ec2InstanceSavingsPlans `locationName:"ec2InstanceSavingsPlans" type:"structure"` // The EC2 reserved instances recommendation details. Ec2ReservedInstances *Ec2ReservedInstances `locationName:"ec2ReservedInstances" type:"structure"` // The ECS service recommendation details. EcsService *EcsService `locationName:"ecsService" type:"structure"` // The ElastiCache reserved instances recommendation details. ElastiCacheReservedInstances *ElastiCacheReservedInstances `locationName:"elastiCacheReservedInstances" type:"structure"` // The Lambda function recommendation details. LambdaFunction *LambdaFunction `locationName:"lambdaFunction" type:"structure"` // The OpenSearch reserved instances recommendation details. OpenSearchReservedInstances *OpenSearchReservedInstances `locationName:"openSearchReservedInstances" type:"structure"` // The DB instance recommendation details. RdsDbInstance *RdsDbInstance `locationName:"rdsDbInstance" type:"structure"` // The DB instance storage recommendation details. RdsDbInstanceStorage *RdsDbInstanceStorage `locationName:"rdsDbInstanceStorage" type:"structure"` // The RDS reserved instances recommendation details. RdsReservedInstances *RdsReservedInstances `locationName:"rdsReservedInstances" type:"structure"` // The Redshift reserved instances recommendation details. RedshiftReservedInstances *RedshiftReservedInstances `locationName:"redshiftReservedInstances" type:"structure"` // The SageMaker Savings Plans recommendation details. SageMakerSavingsPlans *SageMakerSavingsPlans `locationName:"sageMakerSavingsPlans" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceDetails) GoString() string { return s.String() } // SetComputeSavingsPlans sets the ComputeSavingsPlans field's value. func (s *ResourceDetails) SetComputeSavingsPlans(v *ComputeSavingsPlans) *ResourceDetails { s.ComputeSavingsPlans = v return s } // SetEbsVolume sets the EbsVolume field's value. func (s *ResourceDetails) SetEbsVolume(v *EbsVolume) *ResourceDetails { s.EbsVolume = v return s } // SetEc2AutoScalingGroup sets the Ec2AutoScalingGroup field's value. func (s *ResourceDetails) SetEc2AutoScalingGroup(v *Ec2AutoScalingGroup) *ResourceDetails { s.Ec2AutoScalingGroup = v return s } // SetEc2Instance sets the Ec2Instance field's value. func (s *ResourceDetails) SetEc2Instance(v *Ec2Instance) *ResourceDetails { s.Ec2Instance = v return s } // SetEc2InstanceSavingsPlans sets the Ec2InstanceSavingsPlans field's value. func (s *ResourceDetails) SetEc2InstanceSavingsPlans(v *Ec2InstanceSavingsPlans) *ResourceDetails { s.Ec2InstanceSavingsPlans = v return s } // SetEc2ReservedInstances sets the Ec2ReservedInstances field's value. func (s *ResourceDetails) SetEc2ReservedInstances(v *Ec2ReservedInstances) *ResourceDetails { s.Ec2ReservedInstances = v return s } // SetEcsService sets the EcsService field's value. func (s *ResourceDetails) SetEcsService(v *EcsService) *ResourceDetails { s.EcsService = v return s } // SetElastiCacheReservedInstances sets the ElastiCacheReservedInstances field's value. func (s *ResourceDetails) SetElastiCacheReservedInstances(v *ElastiCacheReservedInstances) *ResourceDetails { s.ElastiCacheReservedInstances = v return s } // SetLambdaFunction sets the LambdaFunction field's value. func (s *ResourceDetails) SetLambdaFunction(v *LambdaFunction) *ResourceDetails { s.LambdaFunction = v return s } // SetOpenSearchReservedInstances sets the OpenSearchReservedInstances field's value. func (s *ResourceDetails) SetOpenSearchReservedInstances(v *OpenSearchReservedInstances) *ResourceDetails { s.OpenSearchReservedInstances = v return s } // SetRdsDbInstance sets the RdsDbInstance field's value. func (s *ResourceDetails) SetRdsDbInstance(v *RdsDbInstance) *ResourceDetails { s.RdsDbInstance = v return s } // SetRdsDbInstanceStorage sets the RdsDbInstanceStorage field's value. func (s *ResourceDetails) SetRdsDbInstanceStorage(v *RdsDbInstanceStorage) *ResourceDetails { s.RdsDbInstanceStorage = v return s } // SetRdsReservedInstances sets the RdsReservedInstances field's value. func (s *ResourceDetails) SetRdsReservedInstances(v *RdsReservedInstances) *ResourceDetails { s.RdsReservedInstances = v return s } // SetRedshiftReservedInstances sets the RedshiftReservedInstances field's value. func (s *ResourceDetails) SetRedshiftReservedInstances(v *RedshiftReservedInstances) *ResourceDetails { s.RedshiftReservedInstances = v return s } // SetSageMakerSavingsPlans sets the SageMakerSavingsPlans field's value. func (s *ResourceDetails) SetSageMakerSavingsPlans(v *SageMakerSavingsPlans) *ResourceDetails { s.SageMakerSavingsPlans = v return s } // The specified Amazon Resource Name (ARN) in the request doesn't exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The identifier of the resource that was not found. // // ResourceId is a required field ResourceId *string `locationName:"resourceId" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) GoString() string { return s.String() } func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { return &ResourceNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ResourceNotFoundException) Code() string { return "ResourceNotFoundException" } // Message returns the exception's message. func (s *ResourceNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ResourceNotFoundException) OrigErr() error { return nil } func (s *ResourceNotFoundException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ResourceNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } // Contains pricing information about the specified resource. type ResourcePricing struct { _ struct{} `type:"structure"` // The savings estimate incorporating all discounts with Amazon Web Services, // such as Reserved Instances and Savings Plans. EstimatedCostAfterDiscounts *float64 `locationName:"estimatedCostAfterDiscounts" type:"double"` // The savings estimate using Amazon Web Services public pricing without incorporating // any discounts. EstimatedCostBeforeDiscounts *float64 `locationName:"estimatedCostBeforeDiscounts" type:"double"` // The estimated discounts for a recommendation. EstimatedDiscounts *EstimatedDiscounts `locationName:"estimatedDiscounts" type:"structure"` // The estimated net unused amortized commitment for the recommendation. EstimatedNetUnusedAmortizedCommitments *float64 `locationName:"estimatedNetUnusedAmortizedCommitments" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourcePricing) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourcePricing) GoString() string { return s.String() } // SetEstimatedCostAfterDiscounts sets the EstimatedCostAfterDiscounts field's value. func (s *ResourcePricing) SetEstimatedCostAfterDiscounts(v float64) *ResourcePricing { s.EstimatedCostAfterDiscounts = &v return s } // SetEstimatedCostBeforeDiscounts sets the EstimatedCostBeforeDiscounts field's value. func (s *ResourcePricing) SetEstimatedCostBeforeDiscounts(v float64) *ResourcePricing { s.EstimatedCostBeforeDiscounts = &v return s } // SetEstimatedDiscounts sets the EstimatedDiscounts field's value. func (s *ResourcePricing) SetEstimatedDiscounts(v *EstimatedDiscounts) *ResourcePricing { s.EstimatedDiscounts = v return s } // SetEstimatedNetUnusedAmortizedCommitments sets the EstimatedNetUnusedAmortizedCommitments field's value. func (s *ResourcePricing) SetEstimatedNetUnusedAmortizedCommitments(v float64) *ResourcePricing { s.EstimatedNetUnusedAmortizedCommitments = &v return s } // The SageMaker Savings Plans recommendation details. type SageMakerSavingsPlans struct { _ struct{} `type:"structure"` // The SageMaker Savings Plans configuration used for recommendations. Configuration *SageMakerSavingsPlansConfiguration `locationName:"configuration" type:"structure"` // Cost impact of the Savings Plans purchase recommendation. CostCalculation *SavingsPlansCostCalculation `locationName:"costCalculation" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SageMakerSavingsPlans) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SageMakerSavingsPlans) GoString() string { return s.String() } // SetConfiguration sets the Configuration field's value. func (s *SageMakerSavingsPlans) SetConfiguration(v *SageMakerSavingsPlansConfiguration) *SageMakerSavingsPlans { s.Configuration = v return s } // SetCostCalculation sets the CostCalculation field's value. func (s *SageMakerSavingsPlans) SetCostCalculation(v *SavingsPlansCostCalculation) *SageMakerSavingsPlans { s.CostCalculation = v return s } // The SageMaker Savings Plans configuration used for recommendations. type SageMakerSavingsPlansConfiguration struct { _ struct{} `type:"structure"` // The account scope that you want your recommendations for. AccountScope *string `locationName:"accountScope" type:"string"` // The hourly commitment for the Savings Plans type. HourlyCommitment *string `locationName:"hourlyCommitment" type:"string"` // The payment option for the commitment. PaymentOption *string `locationName:"paymentOption" type:"string"` // The Savings Plans recommendation term in years. Term *string `locationName:"term" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SageMakerSavingsPlansConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SageMakerSavingsPlansConfiguration) GoString() string { return s.String() } // SetAccountScope sets the AccountScope field's value. func (s *SageMakerSavingsPlansConfiguration) SetAccountScope(v string) *SageMakerSavingsPlansConfiguration { s.AccountScope = &v return s } // SetHourlyCommitment sets the HourlyCommitment field's value. func (s *SageMakerSavingsPlansConfiguration) SetHourlyCommitment(v string) *SageMakerSavingsPlansConfiguration { s.HourlyCommitment = &v return s } // SetPaymentOption sets the PaymentOption field's value. func (s *SageMakerSavingsPlansConfiguration) SetPaymentOption(v string) *SageMakerSavingsPlansConfiguration { s.PaymentOption = &v return s } // SetTerm sets the Term field's value. func (s *SageMakerSavingsPlansConfiguration) SetTerm(v string) *SageMakerSavingsPlansConfiguration { s.Term = &v return s } // Cost impact of the purchase recommendation. type SavingsPlansCostCalculation struct { _ struct{} `type:"structure"` // Pricing details of the purchase recommendation. Pricing *SavingsPlansPricing `locationName:"pricing" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SavingsPlansCostCalculation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SavingsPlansCostCalculation) GoString() string { return s.String() } // SetPricing sets the Pricing field's value. func (s *SavingsPlansCostCalculation) SetPricing(v *SavingsPlansPricing) *SavingsPlansCostCalculation { s.Pricing = v return s } // Pricing information about a Savings Plan. type SavingsPlansPricing struct { _ struct{} `type:"structure"` // Estimated monthly commitment for the Savings Plan. EstimatedMonthlyCommitment *float64 `locationName:"estimatedMonthlyCommitment" type:"double"` // Estimated On-Demand cost you will pay after buying the Savings Plan. EstimatedOnDemandCost *float64 `locationName:"estimatedOnDemandCost" type:"double"` // The cost of paying for the recommended Savings Plan monthly. MonthlySavingsPlansEligibleCost *float64 `locationName:"monthlySavingsPlansEligibleCost" type:"double"` // Estimated savings as a percentage of your overall costs after buying the // Savings Plan. SavingsPercentage *float64 `locationName:"savingsPercentage" type:"double"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SavingsPlansPricing) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SavingsPlansPricing) GoString() string { return s.String() } // SetEstimatedMonthlyCommitment sets the EstimatedMonthlyCommitment field's value. func (s *SavingsPlansPricing) SetEstimatedMonthlyCommitment(v float64) *SavingsPlansPricing { s.EstimatedMonthlyCommitment = &v return s } // SetEstimatedOnDemandCost sets the EstimatedOnDemandCost field's value. func (s *SavingsPlansPricing) SetEstimatedOnDemandCost(v float64) *SavingsPlansPricing { s.EstimatedOnDemandCost = &v return s } // SetMonthlySavingsPlansEligibleCost sets the MonthlySavingsPlansEligibleCost field's value. func (s *SavingsPlansPricing) SetMonthlySavingsPlansEligibleCost(v float64) *SavingsPlansPricing { s.MonthlySavingsPlansEligibleCost = &v return s } // SetSavingsPercentage sets the SavingsPercentage field's value. func (s *SavingsPlansPricing) SetSavingsPercentage(v float64) *SavingsPlansPricing { s.SavingsPercentage = &v return s } // The storage configuration used for recommendations. type StorageConfiguration struct { _ struct{} `type:"structure"` // The storage volume. SizeInGb *float64 `locationName:"sizeInGb" type:"double"` // The storage type. Type *string `locationName:"type" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StorageConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StorageConfiguration) GoString() string { return s.String() } // SetSizeInGb sets the SizeInGb field's value. func (s *StorageConfiguration) SetSizeInGb(v float64) *StorageConfiguration { s.SizeInGb = &v return s } // SetType sets the Type field's value. func (s *StorageConfiguration) SetType(v string) *StorageConfiguration { s.Type = &v return s } // The tag structure that contains a tag key and value. type Tag struct { _ struct{} `type:"structure"` // The key that's associated with the tag. Key *string `locationName:"key" type:"string"` // The value that's associated with the tag. Value *string `locationName:"value" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Tag) GoString() string { return s.String() } // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v return s } // SetValue sets the Value field's value. func (s *Tag) SetValue(v string) *Tag { s.Value = &v return s } // The request was denied due to request throttling. type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottlingException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottlingException) GoString() string { return s.String() } func newErrorThrottlingException(v protocol.ResponseMetadata) error { return &ThrottlingException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ThrottlingException) Code() string { return "ThrottlingException" } // Message returns the exception's message. func (s *ThrottlingException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ThrottlingException) OrigErr() error { return nil } func (s *ThrottlingException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ThrottlingException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } type UpdateEnrollmentStatusInput struct { _ struct{} `type:"structure"` // Indicates whether to enroll member accounts of the organization if the account // is the management account. IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` // Sets the account status. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"EnrollmentStatus"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateEnrollmentStatusInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateEnrollmentStatusInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateEnrollmentStatusInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateEnrollmentStatusInput"} if s.Status == nil { invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. func (s *UpdateEnrollmentStatusInput) SetIncludeMemberAccounts(v bool) *UpdateEnrollmentStatusInput { s.IncludeMemberAccounts = &v return s } // SetStatus sets the Status field's value. func (s *UpdateEnrollmentStatusInput) SetStatus(v string) *UpdateEnrollmentStatusInput { s.Status = &v return s } type UpdateEnrollmentStatusOutput struct { _ struct{} `type:"structure"` // The enrollment status of the account. Status *string `locationName:"status" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateEnrollmentStatusOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateEnrollmentStatusOutput) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *UpdateEnrollmentStatusOutput) SetStatus(v string) *UpdateEnrollmentStatusOutput { s.Status = &v return s } type UpdatePreferencesInput struct { _ struct{} `type:"structure"` // Sets the "member account discount visibility" preference. MemberAccountDiscountVisibility *string `locationName:"memberAccountDiscountVisibility" type:"string" enum:"MemberAccountDiscountVisibility"` // Sets the "savings estimation mode" preference. SavingsEstimationMode *string `locationName:"savingsEstimationMode" type:"string" enum:"SavingsEstimationMode"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdatePreferencesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdatePreferencesInput) GoString() string { return s.String() } // SetMemberAccountDiscountVisibility sets the MemberAccountDiscountVisibility field's value. func (s *UpdatePreferencesInput) SetMemberAccountDiscountVisibility(v string) *UpdatePreferencesInput { s.MemberAccountDiscountVisibility = &v return s } // SetSavingsEstimationMode sets the SavingsEstimationMode field's value. func (s *UpdatePreferencesInput) SetSavingsEstimationMode(v string) *UpdatePreferencesInput { s.SavingsEstimationMode = &v return s } type UpdatePreferencesOutput struct { _ struct{} `type:"structure"` // Shows the status of the "member account discount visibility" preference. MemberAccountDiscountVisibility *string `locationName:"memberAccountDiscountVisibility" type:"string" enum:"MemberAccountDiscountVisibility"` // Shows the status of the "savings estimation mode" preference. SavingsEstimationMode *string `locationName:"savingsEstimationMode" type:"string" enum:"SavingsEstimationMode"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdatePreferencesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdatePreferencesOutput) GoString() string { return s.String() } // SetMemberAccountDiscountVisibility sets the MemberAccountDiscountVisibility field's value. func (s *UpdatePreferencesOutput) SetMemberAccountDiscountVisibility(v string) *UpdatePreferencesOutput { s.MemberAccountDiscountVisibility = &v return s } // SetSavingsEstimationMode sets the SavingsEstimationMode field's value. func (s *UpdatePreferencesOutput) SetSavingsEstimationMode(v string) *UpdatePreferencesOutput { s.SavingsEstimationMode = &v return s } // Details about the usage. type Usage struct { _ struct{} `type:"structure"` // The operation value. Operation *string `locationName:"operation" type:"string"` // The product code. ProductCode *string `locationName:"productCode" type:"string"` // The usage unit. Unit *string `locationName:"unit" type:"string"` // The usage amount. UsageAmount *float64 `locationName:"usageAmount" type:"double"` // The usage type. UsageType *string `locationName:"usageType" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Usage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Usage) GoString() string { return s.String() } // SetOperation sets the Operation field's value. func (s *Usage) SetOperation(v string) *Usage { s.Operation = &v return s } // SetProductCode sets the ProductCode field's value. func (s *Usage) SetProductCode(v string) *Usage { s.ProductCode = &v return s } // SetUnit sets the Unit field's value. func (s *Usage) SetUnit(v string) *Usage { s.Unit = &v return s } // SetUsageAmount sets the UsageAmount field's value. func (s *Usage) SetUsageAmount(v float64) *Usage { s.UsageAmount = &v return s } // SetUsageType sets the UsageType field's value. func (s *Usage) SetUsageType(v string) *Usage { s.UsageType = &v return s } // The input fails to satisfy the constraints specified by an Amazon Web Services // service. type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // The list of fields that are invalid. Fields []*ValidationExceptionDetail `locationName:"fields" type:"list"` Message_ *string `locationName:"message" type:"string"` // The reason for the validation exception. Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) GoString() string { return s.String() } func newErrorValidationException(v protocol.ResponseMetadata) error { return &ValidationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ValidationException) Code() string { return "ValidationException" } // Message returns the exception's message. func (s *ValidationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ValidationException) OrigErr() error { return nil } func (s *ValidationException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ValidationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } // The input failed to meet the constraints specified by the Amazon Web Services // service in a specified field. type ValidationExceptionDetail struct { _ struct{} `type:"structure"` // The field name where the invalid entry was detected. // // FieldName is a required field FieldName *string `locationName:"fieldName" type:"string" required:"true"` // A message with the reason for the validation exception error. // // Message is a required field Message *string `locationName:"message" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationExceptionDetail) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationExceptionDetail) GoString() string { return s.String() } // SetFieldName sets the FieldName field's value. func (s *ValidationExceptionDetail) SetFieldName(v string) *ValidationExceptionDetail { s.FieldName = &v return s } // SetMessage sets the Message field's value. func (s *ValidationExceptionDetail) SetMessage(v string) *ValidationExceptionDetail { s.Message = &v return s } const ( // ActionTypeRightsize is a ActionType enum value ActionTypeRightsize = "Rightsize" // ActionTypeStop is a ActionType enum value ActionTypeStop = "Stop" // ActionTypeUpgrade is a ActionType enum value ActionTypeUpgrade = "Upgrade" // ActionTypePurchaseSavingsPlans is a ActionType enum value ActionTypePurchaseSavingsPlans = "PurchaseSavingsPlans" // ActionTypePurchaseReservedInstances is a ActionType enum value ActionTypePurchaseReservedInstances = "PurchaseReservedInstances" // ActionTypeMigrateToGraviton is a ActionType enum value ActionTypeMigrateToGraviton = "MigrateToGraviton" ) // ActionType_Values returns all elements of the ActionType enum func ActionType_Values() []string { return []string{ ActionTypeRightsize, ActionTypeStop, ActionTypeUpgrade, ActionTypePurchaseSavingsPlans, ActionTypePurchaseReservedInstances, ActionTypeMigrateToGraviton, } } const ( // EnrollmentStatusActive is a EnrollmentStatus enum value EnrollmentStatusActive = "Active" // EnrollmentStatusInactive is a EnrollmentStatus enum value EnrollmentStatusInactive = "Inactive" ) // EnrollmentStatus_Values returns all elements of the EnrollmentStatus enum func EnrollmentStatus_Values() []string { return []string{ EnrollmentStatusActive, EnrollmentStatusInactive, } } const ( // ImplementationEffortVeryLow is a ImplementationEffort enum value ImplementationEffortVeryLow = "VeryLow" // ImplementationEffortLow is a ImplementationEffort enum value ImplementationEffortLow = "Low" // ImplementationEffortMedium is a ImplementationEffort enum value ImplementationEffortMedium = "Medium" // ImplementationEffortHigh is a ImplementationEffort enum value ImplementationEffortHigh = "High" // ImplementationEffortVeryHigh is a ImplementationEffort enum value ImplementationEffortVeryHigh = "VeryHigh" ) // ImplementationEffort_Values returns all elements of the ImplementationEffort enum func ImplementationEffort_Values() []string { return []string{ ImplementationEffortVeryLow, ImplementationEffortLow, ImplementationEffortMedium, ImplementationEffortHigh, ImplementationEffortVeryHigh, } } const ( // MemberAccountDiscountVisibilityAll is a MemberAccountDiscountVisibility enum value MemberAccountDiscountVisibilityAll = "All" // MemberAccountDiscountVisibilityNone is a MemberAccountDiscountVisibility enum value MemberAccountDiscountVisibilityNone = "None" ) // MemberAccountDiscountVisibility_Values returns all elements of the MemberAccountDiscountVisibility enum func MemberAccountDiscountVisibility_Values() []string { return []string{ MemberAccountDiscountVisibilityAll, MemberAccountDiscountVisibilityNone, } } const ( // OrderAsc is a Order enum value OrderAsc = "Asc" // OrderDesc is a Order enum value OrderDesc = "Desc" ) // Order_Values returns all elements of the Order enum func Order_Values() []string { return []string{ OrderAsc, OrderDesc, } } const ( // ResourceTypeEc2instance is a ResourceType enum value ResourceTypeEc2instance = "Ec2Instance" // ResourceTypeLambdaFunction is a ResourceType enum value ResourceTypeLambdaFunction = "LambdaFunction" // ResourceTypeEbsVolume is a ResourceType enum value ResourceTypeEbsVolume = "EbsVolume" // ResourceTypeEcsService is a ResourceType enum value ResourceTypeEcsService = "EcsService" // ResourceTypeEc2autoScalingGroup is a ResourceType enum value ResourceTypeEc2autoScalingGroup = "Ec2AutoScalingGroup" // ResourceTypeEc2instanceSavingsPlans is a ResourceType enum value ResourceTypeEc2instanceSavingsPlans = "Ec2InstanceSavingsPlans" // ResourceTypeComputeSavingsPlans is a ResourceType enum value ResourceTypeComputeSavingsPlans = "ComputeSavingsPlans" // ResourceTypeSageMakerSavingsPlans is a ResourceType enum value ResourceTypeSageMakerSavingsPlans = "SageMakerSavingsPlans" // ResourceTypeEc2reservedInstances is a ResourceType enum value ResourceTypeEc2reservedInstances = "Ec2ReservedInstances" // ResourceTypeRdsReservedInstances is a ResourceType enum value ResourceTypeRdsReservedInstances = "RdsReservedInstances" // ResourceTypeOpenSearchReservedInstances is a ResourceType enum value ResourceTypeOpenSearchReservedInstances = "OpenSearchReservedInstances" // ResourceTypeRedshiftReservedInstances is a ResourceType enum value ResourceTypeRedshiftReservedInstances = "RedshiftReservedInstances" // ResourceTypeElastiCacheReservedInstances is a ResourceType enum value ResourceTypeElastiCacheReservedInstances = "ElastiCacheReservedInstances" // ResourceTypeRdsDbInstanceStorage is a ResourceType enum value ResourceTypeRdsDbInstanceStorage = "RdsDbInstanceStorage" // ResourceTypeRdsDbInstance is a ResourceType enum value ResourceTypeRdsDbInstance = "RdsDbInstance" ) // ResourceType_Values returns all elements of the ResourceType enum func ResourceType_Values() []string { return []string{ ResourceTypeEc2instance, ResourceTypeLambdaFunction, ResourceTypeEbsVolume, ResourceTypeEcsService, ResourceTypeEc2autoScalingGroup, ResourceTypeEc2instanceSavingsPlans, ResourceTypeComputeSavingsPlans, ResourceTypeSageMakerSavingsPlans, ResourceTypeEc2reservedInstances, ResourceTypeRdsReservedInstances, ResourceTypeOpenSearchReservedInstances, ResourceTypeRedshiftReservedInstances, ResourceTypeElastiCacheReservedInstances, ResourceTypeRdsDbInstanceStorage, ResourceTypeRdsDbInstance, } } const ( // SavingsEstimationModeBeforeDiscounts is a SavingsEstimationMode enum value SavingsEstimationModeBeforeDiscounts = "BeforeDiscounts" // SavingsEstimationModeAfterDiscounts is a SavingsEstimationMode enum value SavingsEstimationModeAfterDiscounts = "AfterDiscounts" ) // SavingsEstimationMode_Values returns all elements of the SavingsEstimationMode enum func SavingsEstimationMode_Values() []string { return []string{ SavingsEstimationModeBeforeDiscounts, SavingsEstimationModeAfterDiscounts, } } const ( // SourceComputeOptimizer is a Source enum value SourceComputeOptimizer = "ComputeOptimizer" // SourceCostExplorer is a Source enum value SourceCostExplorer = "CostExplorer" ) // Source_Values returns all elements of the Source enum func Source_Values() []string { return []string{ SourceComputeOptimizer, SourceCostExplorer, } } const ( // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed" // ValidationExceptionReasonOther is a ValidationExceptionReason enum value ValidationExceptionReasonOther = "Other" ) // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum func ValidationExceptionReason_Values() []string { return []string{ ValidationExceptionReasonFieldValidationFailed, ValidationExceptionReasonOther, } }