| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package pi
- 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"
- )
- const opDescribeDimensionKeys = "DescribeDimensionKeys"
- // DescribeDimensionKeysRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeDimensionKeys 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 DescribeDimensionKeys for more information on using the DescribeDimensionKeys
- // 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 DescribeDimensionKeysRequest method.
- // req, resp := client.DescribeDimensionKeysRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DescribeDimensionKeys
- func (c *PI) DescribeDimensionKeysRequest(input *DescribeDimensionKeysInput) (req *request.Request, output *DescribeDimensionKeysOutput) {
- op := &request.Operation{
- Name: opDescribeDimensionKeys,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeDimensionKeysInput{}
- }
- output = &DescribeDimensionKeysOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeDimensionKeys API operation for AWS Performance Insights.
- //
- // For a specific time period, retrieve the top N dimension keys for a metric.
- //
- // 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 AWS Performance Insights's
- // API operation DescribeDimensionKeys for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInvalidArgumentException "InvalidArgumentException"
- // One of the arguments provided is invalid for this request.
- //
- // * ErrCodeInternalServiceError "InternalServiceError"
- // The request failed due to an unknown error.
- //
- // * ErrCodeNotAuthorizedException "NotAuthorizedException"
- // The user is not authorized to perform this request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DescribeDimensionKeys
- func (c *PI) DescribeDimensionKeys(input *DescribeDimensionKeysInput) (*DescribeDimensionKeysOutput, error) {
- req, out := c.DescribeDimensionKeysRequest(input)
- return out, req.Send()
- }
- // DescribeDimensionKeysWithContext is the same as DescribeDimensionKeys with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeDimensionKeys 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 *PI) DescribeDimensionKeysWithContext(ctx aws.Context, input *DescribeDimensionKeysInput, opts ...request.Option) (*DescribeDimensionKeysOutput, error) {
- req, out := c.DescribeDimensionKeysRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opGetResourceMetrics = "GetResourceMetrics"
- // GetResourceMetricsRequest generates a "aws/request.Request" representing the
- // client's request for the GetResourceMetrics 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 GetResourceMetrics for more information on using the GetResourceMetrics
- // 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 GetResourceMetricsRequest method.
- // req, resp := client.GetResourceMetricsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/GetResourceMetrics
- func (c *PI) GetResourceMetricsRequest(input *GetResourceMetricsInput) (req *request.Request, output *GetResourceMetricsOutput) {
- op := &request.Operation{
- Name: opGetResourceMetrics,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetResourceMetricsInput{}
- }
- output = &GetResourceMetricsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // GetResourceMetrics API operation for AWS Performance Insights.
- //
- // Retrieve Performance Insights metrics for a set of data sources, over a time
- // period. You can provide specific dimension groups and dimensions, and provide
- // aggregation and filtering criteria for each group.
- //
- // 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 AWS Performance Insights's
- // API operation GetResourceMetrics for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInvalidArgumentException "InvalidArgumentException"
- // One of the arguments provided is invalid for this request.
- //
- // * ErrCodeInternalServiceError "InternalServiceError"
- // The request failed due to an unknown error.
- //
- // * ErrCodeNotAuthorizedException "NotAuthorizedException"
- // The user is not authorized to perform this request.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/GetResourceMetrics
- func (c *PI) GetResourceMetrics(input *GetResourceMetricsInput) (*GetResourceMetricsOutput, error) {
- req, out := c.GetResourceMetricsRequest(input)
- return out, req.Send()
- }
- // GetResourceMetricsWithContext is the same as GetResourceMetrics with the addition of
- // the ability to pass a context and additional request options.
- //
- // See GetResourceMetrics 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 *PI) GetResourceMetricsWithContext(ctx aws.Context, input *GetResourceMetricsInput, opts ...request.Option) (*GetResourceMetricsOutput, error) {
- req, out := c.GetResourceMetricsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // A timestamp, and a single numerical value, which together represent a measurement
- // at a particular point in time.
- type DataPoint struct {
- _ struct{} `type:"structure"`
- // The time, in epoch format, associated with a particular Value.
- //
- // Timestamp is a required field
- Timestamp *time.Time `type:"timestamp" required:"true"`
- // The actual value associated with a particular Timestamp.
- //
- // Value is a required field
- Value *float64 `type:"double" required:"true"`
- }
- // String returns the string representation
- func (s DataPoint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DataPoint) GoString() string {
- return s.String()
- }
- // SetTimestamp sets the Timestamp field's value.
- func (s *DataPoint) SetTimestamp(v time.Time) *DataPoint {
- s.Timestamp = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *DataPoint) SetValue(v float64) *DataPoint {
- s.Value = &v
- return s
- }
- type DescribeDimensionKeysInput struct {
- _ struct{} `type:"structure"`
- // The date and time specifying the end of the requested time series data. The
- // value specified is exclusive - data points less than (but not equal to) EndTime
- // will be returned.
- //
- // The value for EndTime must be later than the value for StartTime.
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
- // One or more filters to apply in the request. Restrictions:
- //
- // * Any number of filters by the same dimension, as specified in the GroupBy
- // or Partition parameters.
- //
- // * A single filter for any other dimension in this dimension group.
- Filter map[string]*string `type:"map"`
- // A specification for how to aggregate the data points from a query result.
- // You must specify a valid dimension group. Performance Insights will return
- // all of the dimensions within that group, unless you provide the names of
- // specific dimensions within that group. You can also request that Performance
- // Insights return a limited number of values for a dimension.
- //
- // GroupBy is a required field
- GroupBy *DimensionGroup `type:"structure" required:"true"`
- // An immutable, AWS Region-unique identifier for a data source. Performance
- // Insights gathers metrics from this data source.
- //
- // To use an Amazon RDS instance as a data source, you specify its DbiResourceId
- // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A
- //
- // Identifier is a required field
- Identifier *string `type:"string" required:"true"`
- // The maximum number of items to return in the response. If more items exist
- // than the specified MaxRecords value, a pagination token is included in the
- // response so that the remaining results can be retrieved.
- MaxResults *int64 `type:"integer"`
- // The name of a Performance Insights metric to be measured.
- //
- // Valid values for Metric are:
- //
- // * db.load.avg - a scaled representation of the number of active sessions
- // for the database engine.
- //
- // * db.sampledload.avg - the raw number of active sessions for the database
- // engine.
- //
- // Metric is a required field
- Metric *string `type:"string" required:"true"`
- // An optional pagination token provided by a previous request. If this parameter
- // is specified, the response includes only records beyond the token, up to
- // the value specified by MaxRecords.
- NextToken *string `type:"string"`
- // For each dimension specified in GroupBy, specify a secondary dimension to
- // further subdivide the partition keys in the response.
- PartitionBy *DimensionGroup `type:"structure"`
- // The granularity, in seconds, of the data points returned from Performance
- // Insights. A period can be as short as one second, or as long as one day (86400
- // seconds). Valid values are:
- //
- // * 1 (one second)
- //
- // * 60 (one minute)
- //
- // * 300 (five minutes)
- //
- // * 3600 (one hour)
- //
- // * 86400 (twenty-four hours)
- //
- // If you don't specify PeriodInSeconds, then Performance Insights will choose
- // a value for you, with a goal of returning roughly 100-200 data points in
- // the response.
- PeriodInSeconds *int64 `type:"integer"`
- // The AWS service for which Performance Insights will return metrics. The only
- // valid value for ServiceType is: RDS
- //
- // ServiceType is a required field
- ServiceType *string `type:"string" required:"true" enum:"ServiceType"`
- // The date and time specifying the beginning of the requested time series data.
- // You can't specify a StartTime that's earlier than 7 days ago. The value specified
- // is inclusive - data points equal to or greater than StartTime will be returned.
- //
- // The value for StartTime must be earlier than the value for EndTime.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
- }
- // String returns the string representation
- func (s DescribeDimensionKeysInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDimensionKeysInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeDimensionKeysInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeDimensionKeysInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.GroupBy == nil {
- invalidParams.Add(request.NewErrParamRequired("GroupBy"))
- }
- if s.Identifier == nil {
- invalidParams.Add(request.NewErrParamRequired("Identifier"))
- }
- if s.Metric == nil {
- invalidParams.Add(request.NewErrParamRequired("Metric"))
- }
- if s.ServiceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceType"))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
- if s.GroupBy != nil {
- if err := s.GroupBy.Validate(); err != nil {
- invalidParams.AddNested("GroupBy", err.(request.ErrInvalidParams))
- }
- }
- if s.PartitionBy != nil {
- if err := s.PartitionBy.Validate(); err != nil {
- invalidParams.AddNested("PartitionBy", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetEndTime sets the EndTime field's value.
- func (s *DescribeDimensionKeysInput) SetEndTime(v time.Time) *DescribeDimensionKeysInput {
- s.EndTime = &v
- return s
- }
- // SetFilter sets the Filter field's value.
- func (s *DescribeDimensionKeysInput) SetFilter(v map[string]*string) *DescribeDimensionKeysInput {
- s.Filter = v
- return s
- }
- // SetGroupBy sets the GroupBy field's value.
- func (s *DescribeDimensionKeysInput) SetGroupBy(v *DimensionGroup) *DescribeDimensionKeysInput {
- s.GroupBy = v
- return s
- }
- // SetIdentifier sets the Identifier field's value.
- func (s *DescribeDimensionKeysInput) SetIdentifier(v string) *DescribeDimensionKeysInput {
- s.Identifier = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *DescribeDimensionKeysInput) SetMaxResults(v int64) *DescribeDimensionKeysInput {
- s.MaxResults = &v
- return s
- }
- // SetMetric sets the Metric field's value.
- func (s *DescribeDimensionKeysInput) SetMetric(v string) *DescribeDimensionKeysInput {
- s.Metric = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *DescribeDimensionKeysInput) SetNextToken(v string) *DescribeDimensionKeysInput {
- s.NextToken = &v
- return s
- }
- // SetPartitionBy sets the PartitionBy field's value.
- func (s *DescribeDimensionKeysInput) SetPartitionBy(v *DimensionGroup) *DescribeDimensionKeysInput {
- s.PartitionBy = v
- return s
- }
- // SetPeriodInSeconds sets the PeriodInSeconds field's value.
- func (s *DescribeDimensionKeysInput) SetPeriodInSeconds(v int64) *DescribeDimensionKeysInput {
- s.PeriodInSeconds = &v
- return s
- }
- // SetServiceType sets the ServiceType field's value.
- func (s *DescribeDimensionKeysInput) SetServiceType(v string) *DescribeDimensionKeysInput {
- s.ServiceType = &v
- return s
- }
- // SetStartTime sets the StartTime field's value.
- func (s *DescribeDimensionKeysInput) SetStartTime(v time.Time) *DescribeDimensionKeysInput {
- s.StartTime = &v
- return s
- }
- type DescribeDimensionKeysOutput struct {
- _ struct{} `type:"structure"`
- // The end time for the returned dimension keys, after alignment to a granular
- // boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater
- // than or equal to the value of the user-specified Endtime.
- AlignedEndTime *time.Time `type:"timestamp"`
- // The start time for the returned dimension keys, after alignment to a granular
- // boundary (as specified by PeriodInSeconds). AlignedStartTime will be less
- // than or equal to the value of the user-specified StartTime.
- AlignedStartTime *time.Time `type:"timestamp"`
- // The dimension keys that were requested.
- Keys []*DimensionKeyDescription `type:"list"`
- // An optional pagination token provided by a previous request. If this parameter
- // is specified, the response includes only records beyond the token, up to
- // the value specified by MaxRecords.
- NextToken *string `type:"string"`
- // If PartitionBy was present in the request, PartitionKeys contains the breakdown
- // of dimension keys by the specified partitions.
- PartitionKeys []*ResponsePartitionKey `type:"list"`
- }
- // String returns the string representation
- func (s DescribeDimensionKeysOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDimensionKeysOutput) GoString() string {
- return s.String()
- }
- // SetAlignedEndTime sets the AlignedEndTime field's value.
- func (s *DescribeDimensionKeysOutput) SetAlignedEndTime(v time.Time) *DescribeDimensionKeysOutput {
- s.AlignedEndTime = &v
- return s
- }
- // SetAlignedStartTime sets the AlignedStartTime field's value.
- func (s *DescribeDimensionKeysOutput) SetAlignedStartTime(v time.Time) *DescribeDimensionKeysOutput {
- s.AlignedStartTime = &v
- return s
- }
- // SetKeys sets the Keys field's value.
- func (s *DescribeDimensionKeysOutput) SetKeys(v []*DimensionKeyDescription) *DescribeDimensionKeysOutput {
- s.Keys = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *DescribeDimensionKeysOutput) SetNextToken(v string) *DescribeDimensionKeysOutput {
- s.NextToken = &v
- return s
- }
- // SetPartitionKeys sets the PartitionKeys field's value.
- func (s *DescribeDimensionKeysOutput) SetPartitionKeys(v []*ResponsePartitionKey) *DescribeDimensionKeysOutput {
- s.PartitionKeys = v
- return s
- }
- // A logical grouping of Performance Insights metrics for a related subject
- // area. For example, the db.sql dimension group consists of the following dimensions:
- // db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id.
- type DimensionGroup struct {
- _ struct{} `type:"structure"`
- // A list of specific dimensions from a dimension group. If this parameter is
- // not present, then it signifies that all of the dimensions in the group were
- // requested, or are present in the response.
- //
- // Valid values for elements in the Dimensions array are:
- //
- // * db.user.id
- //
- // * db.user.name
- //
- // * db.host.id
- //
- // * db.host.name
- //
- // * db.sql.id
- //
- // * db.sql.db_id
- //
- // * db.sql.statement
- //
- // * db.sql.tokenized_id
- //
- // * db.sql_tokenized.id
- //
- // * db.sql_tokenized.db_id
- //
- // * db.sql_tokenized.statement
- //
- // * db.wait_event.name
- //
- // * db.wait_event.type
- //
- // * db.wait_event_type.name
- Dimensions []*string `min:"1" type:"list"`
- // The name of the dimension group. Valid values are:
- //
- // * db.user
- //
- // * db.host
- //
- // * db.sql
- //
- // * db.sql_tokenized
- //
- // * db.wait_event
- //
- // * db.wait_event_type
- //
- // Group is a required field
- Group *string `type:"string" required:"true"`
- // The maximum number of items to fetch for this dimension group.
- Limit *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s DimensionGroup) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DimensionGroup) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DimensionGroup) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DimensionGroup"}
- if s.Dimensions != nil && len(s.Dimensions) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Dimensions", 1))
- }
- if s.Group == nil {
- invalidParams.Add(request.NewErrParamRequired("Group"))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetDimensions sets the Dimensions field's value.
- func (s *DimensionGroup) SetDimensions(v []*string) *DimensionGroup {
- s.Dimensions = v
- return s
- }
- // SetGroup sets the Group field's value.
- func (s *DimensionGroup) SetGroup(v string) *DimensionGroup {
- s.Group = &v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *DimensionGroup) SetLimit(v int64) *DimensionGroup {
- s.Limit = &v
- return s
- }
- // An array of descriptions and aggregated values for each dimension within
- // a dimension group.
- type DimensionKeyDescription struct {
- _ struct{} `type:"structure"`
- // A map of name-value pairs for the dimensions in the group.
- Dimensions map[string]*string `type:"map"`
- // If PartitionBy was specified, PartitionKeys contains the dimensions that
- // were.
- Partitions []*float64 `type:"list"`
- // The aggregated metric value for the dimension(s), over the requested time
- // range.
- Total *float64 `type:"double"`
- }
- // String returns the string representation
- func (s DimensionKeyDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DimensionKeyDescription) GoString() string {
- return s.String()
- }
- // SetDimensions sets the Dimensions field's value.
- func (s *DimensionKeyDescription) SetDimensions(v map[string]*string) *DimensionKeyDescription {
- s.Dimensions = v
- return s
- }
- // SetPartitions sets the Partitions field's value.
- func (s *DimensionKeyDescription) SetPartitions(v []*float64) *DimensionKeyDescription {
- s.Partitions = v
- return s
- }
- // SetTotal sets the Total field's value.
- func (s *DimensionKeyDescription) SetTotal(v float64) *DimensionKeyDescription {
- s.Total = &v
- return s
- }
- type GetResourceMetricsInput struct {
- _ struct{} `type:"structure"`
- // The date and time specifiying the end of the requested time series data.
- // The value specified is exclusive - data points less than (but not equal to)
- // EndTime will be returned.
- //
- // The value for EndTime must be later than the value for StartTime.
- //
- // EndTime is a required field
- EndTime *time.Time `type:"timestamp" required:"true"`
- // An immutable, AWS Region-unique identifier for a data source. Performance
- // Insights gathers metrics from this data source.
- //
- // To use an Amazon RDS instance as a data source, you specify its DbiResourceId
- // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A
- //
- // Identifier is a required field
- Identifier *string `type:"string" required:"true"`
- // The maximum number of items to return in the response. If more items exist
- // than the specified MaxRecords value, a pagination token is included in the
- // response so that the remaining results can be retrieved.
- MaxResults *int64 `type:"integer"`
- // An array of one or more queries to perform. Each query must specify a Performance
- // Insights metric, and can optionally specify aggregation and filtering criteria.
- //
- // MetricQueries is a required field
- MetricQueries []*MetricQuery `min:"1" type:"list" required:"true"`
- // An optional pagination token provided by a previous request. If this parameter
- // is specified, the response includes only records beyond the token, up to
- // the value specified by MaxRecords.
- NextToken *string `type:"string"`
- // The granularity, in seconds, of the data points returned from Performance
- // Insights. A period can be as short as one second, or as long as one day (86400
- // seconds). Valid values are:
- //
- // * 1 (one second)
- //
- // * 60 (one minute)
- //
- // * 300 (five minutes)
- //
- // * 3600 (one hour)
- //
- // * 86400 (twenty-four hours)
- //
- // If you don't specify PeriodInSeconds, then Performance Insights will choose
- // a value for you, with a goal of returning roughly 100-200 data points in
- // the response.
- PeriodInSeconds *int64 `type:"integer"`
- // The AWS service for which Performance Insights will return metrics. The only
- // valid value for ServiceType is: RDS
- //
- // ServiceType is a required field
- ServiceType *string `type:"string" required:"true" enum:"ServiceType"`
- // The date and time specifying the beginning of the requested time series data.
- // You can't specify a StartTime that's earlier than 7 days ago. The value specified
- // is inclusive - data points equal to or greater than StartTime will be returned.
- //
- // The value for StartTime must be earlier than the value for EndTime.
- //
- // StartTime is a required field
- StartTime *time.Time `type:"timestamp" required:"true"`
- }
- // String returns the string representation
- func (s GetResourceMetricsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetResourceMetricsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetResourceMetricsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetResourceMetricsInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.Identifier == nil {
- invalidParams.Add(request.NewErrParamRequired("Identifier"))
- }
- if s.MetricQueries == nil {
- invalidParams.Add(request.NewErrParamRequired("MetricQueries"))
- }
- if s.MetricQueries != nil && len(s.MetricQueries) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MetricQueries", 1))
- }
- if s.ServiceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ServiceType"))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
- if s.MetricQueries != nil {
- for i, v := range s.MetricQueries {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricQueries", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetEndTime sets the EndTime field's value.
- func (s *GetResourceMetricsInput) SetEndTime(v time.Time) *GetResourceMetricsInput {
- s.EndTime = &v
- return s
- }
- // SetIdentifier sets the Identifier field's value.
- func (s *GetResourceMetricsInput) SetIdentifier(v string) *GetResourceMetricsInput {
- s.Identifier = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *GetResourceMetricsInput) SetMaxResults(v int64) *GetResourceMetricsInput {
- s.MaxResults = &v
- return s
- }
- // SetMetricQueries sets the MetricQueries field's value.
- func (s *GetResourceMetricsInput) SetMetricQueries(v []*MetricQuery) *GetResourceMetricsInput {
- s.MetricQueries = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *GetResourceMetricsInput) SetNextToken(v string) *GetResourceMetricsInput {
- s.NextToken = &v
- return s
- }
- // SetPeriodInSeconds sets the PeriodInSeconds field's value.
- func (s *GetResourceMetricsInput) SetPeriodInSeconds(v int64) *GetResourceMetricsInput {
- s.PeriodInSeconds = &v
- return s
- }
- // SetServiceType sets the ServiceType field's value.
- func (s *GetResourceMetricsInput) SetServiceType(v string) *GetResourceMetricsInput {
- s.ServiceType = &v
- return s
- }
- // SetStartTime sets the StartTime field's value.
- func (s *GetResourceMetricsInput) SetStartTime(v time.Time) *GetResourceMetricsInput {
- s.StartTime = &v
- return s
- }
- type GetResourceMetricsOutput struct {
- _ struct{} `type:"structure"`
- // The end time for the returned metrics, after alignment to a granular boundary
- // (as specified by PeriodInSeconds). AlignedEndTime will be greater than or
- // equal to the value of the user-specified Endtime.
- AlignedEndTime *time.Time `type:"timestamp"`
- // The start time for the returned metrics, after alignment to a granular boundary
- // (as specified by PeriodInSeconds). AlignedStartTime will be less than or
- // equal to the value of the user-specified StartTime.
- AlignedStartTime *time.Time `type:"timestamp"`
- // An immutable, AWS Region-unique identifier for a data source. Performance
- // Insights gathers metrics from this data source.
- //
- // To use an Amazon RDS instance as a data source, you specify its DbiResourceId
- // value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A
- Identifier *string `type:"string"`
- // An array of metric results,, where each array element contains all of the
- // data points for a particular dimension.
- MetricList []*MetricKeyDataPoints `type:"list"`
- // An optional pagination token provided by a previous request. If this parameter
- // is specified, the response includes only records beyond the token, up to
- // the value specified by MaxRecords.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s GetResourceMetricsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetResourceMetricsOutput) GoString() string {
- return s.String()
- }
- // SetAlignedEndTime sets the AlignedEndTime field's value.
- func (s *GetResourceMetricsOutput) SetAlignedEndTime(v time.Time) *GetResourceMetricsOutput {
- s.AlignedEndTime = &v
- return s
- }
- // SetAlignedStartTime sets the AlignedStartTime field's value.
- func (s *GetResourceMetricsOutput) SetAlignedStartTime(v time.Time) *GetResourceMetricsOutput {
- s.AlignedStartTime = &v
- return s
- }
- // SetIdentifier sets the Identifier field's value.
- func (s *GetResourceMetricsOutput) SetIdentifier(v string) *GetResourceMetricsOutput {
- s.Identifier = &v
- return s
- }
- // SetMetricList sets the MetricList field's value.
- func (s *GetResourceMetricsOutput) SetMetricList(v []*MetricKeyDataPoints) *GetResourceMetricsOutput {
- s.MetricList = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *GetResourceMetricsOutput) SetNextToken(v string) *GetResourceMetricsOutput {
- s.NextToken = &v
- return s
- }
- // A time-ordered series of data points, correpsonding to a dimension of a Performance
- // Insights metric.
- type MetricKeyDataPoints struct {
- _ struct{} `type:"structure"`
- // An array of timestamp-value pairs, representing measurements over a period
- // of time.
- DataPoints []*DataPoint `type:"list"`
- // The dimension(s) to which the data points apply.
- Key *ResponseResourceMetricKey `type:"structure"`
- }
- // String returns the string representation
- func (s MetricKeyDataPoints) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s MetricKeyDataPoints) GoString() string {
- return s.String()
- }
- // SetDataPoints sets the DataPoints field's value.
- func (s *MetricKeyDataPoints) SetDataPoints(v []*DataPoint) *MetricKeyDataPoints {
- s.DataPoints = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *MetricKeyDataPoints) SetKey(v *ResponseResourceMetricKey) *MetricKeyDataPoints {
- s.Key = v
- return s
- }
- // A single query to be processed. You must provide the metric to query. If
- // no other parameters are specified, Performance Insights returns all of the
- // data points for that metric. You can optionally request that the data points
- // be aggregated by dimension group ( GroupBy), and return only those data points
- // that match your criteria (Filter).
- type MetricQuery struct {
- _ struct{} `type:"structure"`
- // One or more filters to apply in the request. Restrictions:
- //
- // * Any number of filters by the same dimension, as specified in the GroupBy
- // parameter.
- //
- // * A single filter for any other dimension in this dimension group.
- Filter map[string]*string `type:"map"`
- // A specification for how to aggregate the data points from a query result.
- // You must specify a valid dimension group. Performance Insights will return
- // all of the dimensions within that group, unless you provide the names of
- // specific dimensions within that group. You can also request that Performance
- // Insights return a limited number of values for a dimension.
- GroupBy *DimensionGroup `type:"structure"`
- // The name of a Performance Insights metric to be measured.
- //
- // Valid values for Metric are:
- //
- // * db.load.avg - a scaled representation of the number of active sessions
- // for the database engine.
- //
- // * db.sampledload.avg - the raw number of active sessions for the database
- // engine.
- //
- // Metric is a required field
- Metric *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s MetricQuery) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s MetricQuery) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *MetricQuery) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MetricQuery"}
- if s.Metric == nil {
- invalidParams.Add(request.NewErrParamRequired("Metric"))
- }
- if s.GroupBy != nil {
- if err := s.GroupBy.Validate(); err != nil {
- invalidParams.AddNested("GroupBy", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetFilter sets the Filter field's value.
- func (s *MetricQuery) SetFilter(v map[string]*string) *MetricQuery {
- s.Filter = v
- return s
- }
- // SetGroupBy sets the GroupBy field's value.
- func (s *MetricQuery) SetGroupBy(v *DimensionGroup) *MetricQuery {
- s.GroupBy = v
- return s
- }
- // SetMetric sets the Metric field's value.
- func (s *MetricQuery) SetMetric(v string) *MetricQuery {
- s.Metric = &v
- return s
- }
- // If PartitionBy was specified in a DescribeDimensionKeys request, the dimensions
- // are returned in an array. Each element in the array specifies one dimension.
- type ResponsePartitionKey struct {
- _ struct{} `type:"structure"`
- // A dimension map that contains the dimension(s) for this partition.
- //
- // Dimensions is a required field
- Dimensions map[string]*string `type:"map" required:"true"`
- }
- // String returns the string representation
- func (s ResponsePartitionKey) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ResponsePartitionKey) GoString() string {
- return s.String()
- }
- // SetDimensions sets the Dimensions field's value.
- func (s *ResponsePartitionKey) SetDimensions(v map[string]*string) *ResponsePartitionKey {
- s.Dimensions = v
- return s
- }
- // An object describing a Performance Insights metric and one or more dimensions
- // for that metric.
- type ResponseResourceMetricKey struct {
- _ struct{} `type:"structure"`
- // The valid dimensions for the metric.
- Dimensions map[string]*string `type:"map"`
- // The name of a Performance Insights metric to be measured.
- //
- // Valid values for Metric are:
- //
- // * db.load.avg - a scaled representation of the number of active sessions
- // for the database engine.
- //
- // * db.sampledload.avg - the raw number of active sessions for the database
- // engine.
- //
- // Metric is a required field
- Metric *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ResponseResourceMetricKey) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ResponseResourceMetricKey) GoString() string {
- return s.String()
- }
- // SetDimensions sets the Dimensions field's value.
- func (s *ResponseResourceMetricKey) SetDimensions(v map[string]*string) *ResponseResourceMetricKey {
- s.Dimensions = v
- return s
- }
- // SetMetric sets the Metric field's value.
- func (s *ResponseResourceMetricKey) SetMetric(v string) *ResponseResourceMetricKey {
- s.Metric = &v
- return s
- }
- const (
- // ServiceTypeRds is a ServiceType enum value
- ServiceTypeRds = "RDS"
- )
|