service/internetmonitor/api.go (2,738 lines of code) (raw):

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package internetmonitor 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" "github.com/aws/aws-sdk-go/private/protocol/restjson" ) const opCreateMonitor = "CreateMonitor" // CreateMonitorRequest generates a "aws/request.Request" representing the // client's request for the CreateMonitor 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 CreateMonitor for more information on using the CreateMonitor // 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 CreateMonitorRequest method. // req, resp := client.CreateMonitorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/CreateMonitor func (c *InternetMonitor) CreateMonitorRequest(input *CreateMonitorInput) (req *request.Request, output *CreateMonitorOutput) { op := &request.Operation{ Name: opCreateMonitor, HTTPMethod: "POST", HTTPPath: "/v20210603/Monitors", } if input == nil { input = &CreateMonitorInput{} } output = &CreateMonitorOutput{} req = c.newRequest(op, input, output) return } // CreateMonitor API operation for Amazon CloudWatch Internet Monitor. // // Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built // based on information from the application resources that you add: VPCs, Network // Load Balancers (NLBs), Amazon CloudFront distributions, and Amazon WorkSpaces // directories. Internet Monitor then publishes internet measurements from Amazon // Web Services that are specific to the city-networks. That is, the locations // and ASNs (typically internet service providers or ISPs), where clients access // your application. For more information, see Using Amazon CloudWatch Internet // Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) // in the Amazon CloudWatch User Guide. // // When you create a monitor, you choose the percentage of traffic that you // want to monitor. You can also set a maximum limit for the number of city-networks // where client traffic is monitored, that caps the total traffic that Internet // Monitor monitors. A city-network maximum is the limit of city-networks, but // you only pay for the number of city-networks that are actually monitored. // You can update your monitor at any time to change the percentage of traffic // to monitor or the city-networks maximum. For more information, see Choosing // a city-network maximum value (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) // in the Amazon CloudWatch User Guide. // // 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 Amazon CloudWatch Internet Monitor's // API operation CreateMonitor for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ConflictException // The requested resource is in use. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/CreateMonitor func (c *InternetMonitor) CreateMonitor(input *CreateMonitorInput) (*CreateMonitorOutput, error) { req, out := c.CreateMonitorRequest(input) return out, req.Send() } // CreateMonitorWithContext is the same as CreateMonitor with the addition of // the ability to pass a context and additional request options. // // See CreateMonitor 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 *InternetMonitor) CreateMonitorWithContext(ctx aws.Context, input *CreateMonitorInput, opts ...request.Option) (*CreateMonitorOutput, error) { req, out := c.CreateMonitorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteMonitor = "DeleteMonitor" // DeleteMonitorRequest generates a "aws/request.Request" representing the // client's request for the DeleteMonitor 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 DeleteMonitor for more information on using the DeleteMonitor // 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 DeleteMonitorRequest method. // req, resp := client.DeleteMonitorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/DeleteMonitor func (c *InternetMonitor) DeleteMonitorRequest(input *DeleteMonitorInput) (req *request.Request, output *DeleteMonitorOutput) { op := &request.Operation{ Name: opDeleteMonitor, HTTPMethod: "DELETE", HTTPPath: "/v20210603/Monitors/{MonitorName}", } if input == nil { input = &DeleteMonitorInput{} } output = &DeleteMonitorOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteMonitor API operation for Amazon CloudWatch Internet Monitor. // // Deletes a monitor in Amazon CloudWatch Internet Monitor. // // 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 Amazon CloudWatch Internet Monitor's // API operation DeleteMonitor for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/DeleteMonitor func (c *InternetMonitor) DeleteMonitor(input *DeleteMonitorInput) (*DeleteMonitorOutput, error) { req, out := c.DeleteMonitorRequest(input) return out, req.Send() } // DeleteMonitorWithContext is the same as DeleteMonitor with the addition of // the ability to pass a context and additional request options. // // See DeleteMonitor 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 *InternetMonitor) DeleteMonitorWithContext(ctx aws.Context, input *DeleteMonitorInput, opts ...request.Option) (*DeleteMonitorOutput, error) { req, out := c.DeleteMonitorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetHealthEvent = "GetHealthEvent" // GetHealthEventRequest generates a "aws/request.Request" representing the // client's request for the GetHealthEvent 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 GetHealthEvent for more information on using the GetHealthEvent // 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 GetHealthEventRequest method. // req, resp := client.GetHealthEventRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetHealthEvent func (c *InternetMonitor) GetHealthEventRequest(input *GetHealthEventInput) (req *request.Request, output *GetHealthEventOutput) { op := &request.Operation{ Name: opGetHealthEvent, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors/{MonitorName}/HealthEvents/{EventId}", } if input == nil { input = &GetHealthEventInput{} } output = &GetHealthEventOutput{} req = c.newRequest(op, input, output) return } // GetHealthEvent API operation for Amazon CloudWatch Internet Monitor. // // Gets information that Amazon CloudWatch Internet Monitor has created and // stored about a health event for a specified monitor. This information includes // the impacted locations, and all the information related to the event, by // location. // // The information returned includes the impact on performance, availability, // and round-trip time, information about the network providers (ASNs), the // event type, and so on. // // Information rolled up at the global traffic level is also returned, including // the impact type and total traffic impact. // // 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 Amazon CloudWatch Internet Monitor's // API operation GetHealthEvent for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetHealthEvent func (c *InternetMonitor) GetHealthEvent(input *GetHealthEventInput) (*GetHealthEventOutput, error) { req, out := c.GetHealthEventRequest(input) return out, req.Send() } // GetHealthEventWithContext is the same as GetHealthEvent with the addition of // the ability to pass a context and additional request options. // // See GetHealthEvent 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 *InternetMonitor) GetHealthEventWithContext(ctx aws.Context, input *GetHealthEventInput, opts ...request.Option) (*GetHealthEventOutput, error) { req, out := c.GetHealthEventRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetInternetEvent = "GetInternetEvent" // GetInternetEventRequest generates a "aws/request.Request" representing the // client's request for the GetInternetEvent 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 GetInternetEvent for more information on using the GetInternetEvent // 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 GetInternetEventRequest method. // req, resp := client.GetInternetEventRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetInternetEvent func (c *InternetMonitor) GetInternetEventRequest(input *GetInternetEventInput) (req *request.Request, output *GetInternetEventOutput) { op := &request.Operation{ Name: opGetInternetEvent, HTTPMethod: "GET", HTTPPath: "/v20210603/InternetEvents/{EventId}", } if input == nil { input = &GetInternetEventInput{} } output = &GetInternetEventOutput{} req = c.newRequest(op, input, output) return } // GetInternetEvent API operation for Amazon CloudWatch Internet Monitor. // // Gets information that Amazon CloudWatch Internet Monitor has generated about // an internet event. Internet Monitor displays information about recent global // health events, called internet events, on a global outages map that is available // to all Amazon Web Services customers. // // The information returned here includes the impacted location, when the event // started and (if the event is over) ended, the type of event (PERFORMANCE // or AVAILABILITY), and the status (ACTIVE or RESOLVED). // // 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 Amazon CloudWatch Internet Monitor's // API operation GetInternetEvent for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetInternetEvent func (c *InternetMonitor) GetInternetEvent(input *GetInternetEventInput) (*GetInternetEventOutput, error) { req, out := c.GetInternetEventRequest(input) return out, req.Send() } // GetInternetEventWithContext is the same as GetInternetEvent with the addition of // the ability to pass a context and additional request options. // // See GetInternetEvent 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 *InternetMonitor) GetInternetEventWithContext(ctx aws.Context, input *GetInternetEventInput, opts ...request.Option) (*GetInternetEventOutput, error) { req, out := c.GetInternetEventRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetMonitor = "GetMonitor" // GetMonitorRequest generates a "aws/request.Request" representing the // client's request for the GetMonitor 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 GetMonitor for more information on using the GetMonitor // 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 GetMonitorRequest method. // req, resp := client.GetMonitorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetMonitor func (c *InternetMonitor) GetMonitorRequest(input *GetMonitorInput) (req *request.Request, output *GetMonitorOutput) { op := &request.Operation{ Name: opGetMonitor, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors/{MonitorName}", } if input == nil { input = &GetMonitorInput{} } output = &GetMonitorOutput{} req = c.newRequest(op, input, output) return } // GetMonitor API operation for Amazon CloudWatch Internet Monitor. // // Gets information about a monitor in Amazon CloudWatch Internet Monitor based // on a monitor name. The information returned includes the Amazon Resource // Name (ARN), create time, modified time, resources included in the monitor, // and status information. // // 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 Amazon CloudWatch Internet Monitor's // API operation GetMonitor for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetMonitor func (c *InternetMonitor) GetMonitor(input *GetMonitorInput) (*GetMonitorOutput, error) { req, out := c.GetMonitorRequest(input) return out, req.Send() } // GetMonitorWithContext is the same as GetMonitor with the addition of // the ability to pass a context and additional request options. // // See GetMonitor 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 *InternetMonitor) GetMonitorWithContext(ctx aws.Context, input *GetMonitorInput, opts ...request.Option) (*GetMonitorOutput, error) { req, out := c.GetMonitorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetQueryResults = "GetQueryResults" // GetQueryResultsRequest generates a "aws/request.Request" representing the // client's request for the GetQueryResults 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 GetQueryResults for more information on using the GetQueryResults // 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 GetQueryResultsRequest method. // req, resp := client.GetQueryResultsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryResults func (c *InternetMonitor) GetQueryResultsRequest(input *GetQueryResultsInput) (req *request.Request, output *GetQueryResultsOutput) { op := &request.Operation{ Name: opGetQueryResults, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Results", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &GetQueryResultsInput{} } output = &GetQueryResultsOutput{} req = c.newRequest(op, input, output) return } // GetQueryResults API operation for Amazon CloudWatch Internet Monitor. // // Return the data for a query with the Amazon CloudWatch Internet Monitor query // interface. Specify the query that you want to return results for by providing // a QueryId and a monitor name. // // For more information about using the query interface, including examples, // see Using the Amazon CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) // in the Amazon CloudWatch Internet Monitor User Guide. // // 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 Amazon CloudWatch Internet Monitor's // API operation GetQueryResults for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryResults func (c *InternetMonitor) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) { req, out := c.GetQueryResultsRequest(input) return out, req.Send() } // GetQueryResultsWithContext is the same as GetQueryResults with the addition of // the ability to pass a context and additional request options. // // See GetQueryResults 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 *InternetMonitor) GetQueryResultsWithContext(ctx aws.Context, input *GetQueryResultsInput, opts ...request.Option) (*GetQueryResultsOutput, error) { req, out := c.GetQueryResultsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetQueryResultsPages iterates over the pages of a GetQueryResults operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetQueryResults 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 GetQueryResults operation. // pageNum := 0 // err := client.GetQueryResultsPages(params, // func(page *internetmonitor.GetQueryResultsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *InternetMonitor) GetQueryResultsPages(input *GetQueryResultsInput, fn func(*GetQueryResultsOutput, bool) bool) error { return c.GetQueryResultsPagesWithContext(aws.BackgroundContext(), input, fn) } // GetQueryResultsPagesWithContext same as GetQueryResultsPages 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 *InternetMonitor) GetQueryResultsPagesWithContext(ctx aws.Context, input *GetQueryResultsInput, fn func(*GetQueryResultsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetQueryResultsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetQueryResultsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetQueryResultsOutput), !p.HasNextPage()) { break } } return p.Err() } const opGetQueryStatus = "GetQueryStatus" // GetQueryStatusRequest generates a "aws/request.Request" representing the // client's request for the GetQueryStatus 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 GetQueryStatus for more information on using the GetQueryStatus // 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 GetQueryStatusRequest method. // req, resp := client.GetQueryStatusRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryStatus func (c *InternetMonitor) GetQueryStatusRequest(input *GetQueryStatusInput) (req *request.Request, output *GetQueryStatusOutput) { op := &request.Operation{ Name: opGetQueryStatus, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Status", } if input == nil { input = &GetQueryStatusInput{} } output = &GetQueryStatusOutput{} req = c.newRequest(op, input, output) return } // GetQueryStatus API operation for Amazon CloudWatch Internet Monitor. // // Returns the current status of a query for the Amazon CloudWatch Internet // Monitor query interface, for a specified query ID and monitor. When you run // a query, check the status to make sure that the query has SUCCEEDED before // you review the results. // // - QUEUED: The query is scheduled to run. // // - RUNNING: The query is in progress but not complete. // // - SUCCEEDED: The query completed sucessfully. // // - FAILED: The query failed due to an error. // // - CANCELED: The query was canceled. // // 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 Amazon CloudWatch Internet Monitor's // API operation GetQueryStatus for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryStatus func (c *InternetMonitor) GetQueryStatus(input *GetQueryStatusInput) (*GetQueryStatusOutput, error) { req, out := c.GetQueryStatusRequest(input) return out, req.Send() } // GetQueryStatusWithContext is the same as GetQueryStatus with the addition of // the ability to pass a context and additional request options. // // See GetQueryStatus 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 *InternetMonitor) GetQueryStatusWithContext(ctx aws.Context, input *GetQueryStatusInput, opts ...request.Option) (*GetQueryStatusOutput, error) { req, out := c.GetQueryStatusRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListHealthEvents = "ListHealthEvents" // ListHealthEventsRequest generates a "aws/request.Request" representing the // client's request for the ListHealthEvents 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 ListHealthEvents for more information on using the ListHealthEvents // 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 ListHealthEventsRequest method. // req, resp := client.ListHealthEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListHealthEvents func (c *InternetMonitor) ListHealthEventsRequest(input *ListHealthEventsInput) (req *request.Request, output *ListHealthEventsOutput) { op := &request.Operation{ Name: opListHealthEvents, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors/{MonitorName}/HealthEvents", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListHealthEventsInput{} } output = &ListHealthEventsOutput{} req = c.newRequest(op, input, output) return } // ListHealthEvents API operation for Amazon CloudWatch Internet Monitor. // // Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. // Returns information for health events including the event start and end times, // and the status. // // Health events that have start times during the time frame that is requested // are not included in the list of health events. // // 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 Amazon CloudWatch Internet Monitor's // API operation ListHealthEvents for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListHealthEvents func (c *InternetMonitor) ListHealthEvents(input *ListHealthEventsInput) (*ListHealthEventsOutput, error) { req, out := c.ListHealthEventsRequest(input) return out, req.Send() } // ListHealthEventsWithContext is the same as ListHealthEvents with the addition of // the ability to pass a context and additional request options. // // See ListHealthEvents 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 *InternetMonitor) ListHealthEventsWithContext(ctx aws.Context, input *ListHealthEventsInput, opts ...request.Option) (*ListHealthEventsOutput, error) { req, out := c.ListHealthEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListHealthEventsPages iterates over the pages of a ListHealthEvents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListHealthEvents 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 ListHealthEvents operation. // pageNum := 0 // err := client.ListHealthEventsPages(params, // func(page *internetmonitor.ListHealthEventsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *InternetMonitor) ListHealthEventsPages(input *ListHealthEventsInput, fn func(*ListHealthEventsOutput, bool) bool) error { return c.ListHealthEventsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListHealthEventsPagesWithContext same as ListHealthEventsPages 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 *InternetMonitor) ListHealthEventsPagesWithContext(ctx aws.Context, input *ListHealthEventsInput, fn func(*ListHealthEventsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListHealthEventsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListHealthEventsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListHealthEventsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListInternetEvents = "ListInternetEvents" // ListInternetEventsRequest generates a "aws/request.Request" representing the // client's request for the ListInternetEvents 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 ListInternetEvents for more information on using the ListInternetEvents // 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 ListInternetEventsRequest method. // req, resp := client.ListInternetEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListInternetEvents func (c *InternetMonitor) ListInternetEventsRequest(input *ListInternetEventsInput) (req *request.Request, output *ListInternetEventsOutput) { op := &request.Operation{ Name: opListInternetEvents, HTTPMethod: "GET", HTTPPath: "/v20210603/InternetEvents", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListInternetEventsInput{} } output = &ListInternetEventsOutput{} req = c.newRequest(op, input, output) return } // ListInternetEvents API operation for Amazon CloudWatch Internet Monitor. // // Lists internet events that cause performance or availability issues for client // locations. Amazon CloudWatch Internet Monitor displays information about // recent global health events, called internet events, on a global outages // map that is available to all Amazon Web Services customers. // // You can constrain the list of internet events returned by providing a start // time and end time to define a total time frame for events you want to list. // Both start time and end time specify the time when an event started. End // time is optional. If you don't include it, the default end time is the current // time. // // You can also limit the events returned to a specific status (ACTIVE or RESOLVED) // or type (PERFORMANCE or AVAILABILITY). // // 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 Amazon CloudWatch Internet Monitor's // API operation ListInternetEvents for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListInternetEvents func (c *InternetMonitor) ListInternetEvents(input *ListInternetEventsInput) (*ListInternetEventsOutput, error) { req, out := c.ListInternetEventsRequest(input) return out, req.Send() } // ListInternetEventsWithContext is the same as ListInternetEvents with the addition of // the ability to pass a context and additional request options. // // See ListInternetEvents 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 *InternetMonitor) ListInternetEventsWithContext(ctx aws.Context, input *ListInternetEventsInput, opts ...request.Option) (*ListInternetEventsOutput, error) { req, out := c.ListInternetEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListInternetEventsPages iterates over the pages of a ListInternetEvents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListInternetEvents 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 ListInternetEvents operation. // pageNum := 0 // err := client.ListInternetEventsPages(params, // func(page *internetmonitor.ListInternetEventsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *InternetMonitor) ListInternetEventsPages(input *ListInternetEventsInput, fn func(*ListInternetEventsOutput, bool) bool) error { return c.ListInternetEventsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListInternetEventsPagesWithContext same as ListInternetEventsPages 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 *InternetMonitor) ListInternetEventsPagesWithContext(ctx aws.Context, input *ListInternetEventsInput, fn func(*ListInternetEventsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListInternetEventsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListInternetEventsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListInternetEventsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListMonitors = "ListMonitors" // ListMonitorsRequest generates a "aws/request.Request" representing the // client's request for the ListMonitors 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 ListMonitors for more information on using the ListMonitors // 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 ListMonitorsRequest method. // req, resp := client.ListMonitorsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListMonitors func (c *InternetMonitor) ListMonitorsRequest(input *ListMonitorsInput) (req *request.Request, output *ListMonitorsOutput) { op := &request.Operation{ Name: opListMonitors, HTTPMethod: "GET", HTTPPath: "/v20210603/Monitors", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListMonitorsInput{} } output = &ListMonitorsOutput{} req = c.newRequest(op, input, output) return } // ListMonitors API operation for Amazon CloudWatch Internet Monitor. // // Lists all of your monitors for Amazon CloudWatch Internet Monitor and their // statuses, along with the Amazon Resource Name (ARN) and name of each monitor. // // 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 Amazon CloudWatch Internet Monitor's // API operation ListMonitors for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListMonitors func (c *InternetMonitor) ListMonitors(input *ListMonitorsInput) (*ListMonitorsOutput, error) { req, out := c.ListMonitorsRequest(input) return out, req.Send() } // ListMonitorsWithContext is the same as ListMonitors with the addition of // the ability to pass a context and additional request options. // // See ListMonitors 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 *InternetMonitor) ListMonitorsWithContext(ctx aws.Context, input *ListMonitorsInput, opts ...request.Option) (*ListMonitorsOutput, error) { req, out := c.ListMonitorsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListMonitorsPages iterates over the pages of a ListMonitors operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListMonitors 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 ListMonitors operation. // pageNum := 0 // err := client.ListMonitorsPages(params, // func(page *internetmonitor.ListMonitorsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *InternetMonitor) ListMonitorsPages(input *ListMonitorsInput, fn func(*ListMonitorsOutput, bool) bool) error { return c.ListMonitorsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListMonitorsPagesWithContext same as ListMonitorsPages 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 *InternetMonitor) ListMonitorsPagesWithContext(ctx aws.Context, input *ListMonitorsInput, fn func(*ListMonitorsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListMonitorsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListMonitorsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListMonitorsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource // 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 ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource func (c *InternetMonitor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "GET", HTTPPath: "/tags/{ResourceArn}", } if input == nil { input = &ListTagsForResourceInput{} } output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } // ListTagsForResource API operation for Amazon CloudWatch Internet Monitor. // // Lists the tags for a resource. Tags are supported only for monitors in Amazon // CloudWatch Internet Monitor. // // 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 Amazon CloudWatch Internet Monitor's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // // - TooManyRequestsException // There were too many requests. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - NotFoundException // The request specifies something that doesn't exist. // // - BadRequestException // A bad request was received. // // - InternalServerErrorException // There was an internal server error. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource func (c *InternetMonitor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // // See ListTagsForResource 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 *InternetMonitor) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opStartQuery = "StartQuery" // StartQueryRequest generates a "aws/request.Request" representing the // client's request for the StartQuery 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 StartQuery for more information on using the StartQuery // 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 StartQueryRequest method. // req, resp := client.StartQueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StartQuery func (c *InternetMonitor) StartQueryRequest(input *StartQueryInput) (req *request.Request, output *StartQueryOutput) { op := &request.Operation{ Name: opStartQuery, HTTPMethod: "POST", HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries", } if input == nil { input = &StartQueryInput{} } output = &StartQueryOutput{} req = c.newRequest(op, input, output) return } // StartQuery API operation for Amazon CloudWatch Internet Monitor. // // Start a query to return data for a specific query type for the Amazon CloudWatch // Internet Monitor query interface. Specify a time period for the data that // you want returned by using StartTime and EndTime. You filter the query results // to return by providing parameters that you specify with FilterParameters. // // For more information about using the query interface, including examples, // see Using the Amazon CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) // in the Amazon CloudWatch Internet Monitor User Guide. // // 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 Amazon CloudWatch Internet Monitor's // API operation StartQuery for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StartQuery func (c *InternetMonitor) StartQuery(input *StartQueryInput) (*StartQueryOutput, error) { req, out := c.StartQueryRequest(input) return out, req.Send() } // StartQueryWithContext is the same as StartQuery with the addition of // the ability to pass a context and additional request options. // // See StartQuery 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 *InternetMonitor) StartQueryWithContext(ctx aws.Context, input *StartQueryInput, opts ...request.Option) (*StartQueryOutput, error) { req, out := c.StartQueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opStopQuery = "StopQuery" // StopQueryRequest generates a "aws/request.Request" representing the // client's request for the StopQuery 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 StopQuery for more information on using the StopQuery // 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 StopQueryRequest method. // req, resp := client.StopQueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StopQuery func (c *InternetMonitor) StopQueryRequest(input *StopQueryInput) (req *request.Request, output *StopQueryOutput) { op := &request.Operation{ Name: opStopQuery, HTTPMethod: "DELETE", HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}", } if input == nil { input = &StopQueryInput{} } output = &StopQueryOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // StopQuery API operation for Amazon CloudWatch Internet Monitor. // // Stop a query that is progress for a specific monitor. // // 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 Amazon CloudWatch Internet Monitor's // API operation StopQuery for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StopQuery func (c *InternetMonitor) StopQuery(input *StopQueryInput) (*StopQueryOutput, error) { req, out := c.StopQueryRequest(input) return out, req.Send() } // StopQueryWithContext is the same as StopQuery with the addition of // the ability to pass a context and additional request options. // // See StopQuery 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 *InternetMonitor) StopQueryWithContext(ctx aws.Context, input *StopQueryInput, opts ...request.Option) (*StopQueryOutput, error) { req, out := c.StopQueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource 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 TagResource for more information on using the TagResource // 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 TagResourceRequest method. // req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/TagResource func (c *InternetMonitor) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/tags/{ResourceArn}", } if input == nil { input = &TagResourceInput{} } output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // TagResource API operation for Amazon CloudWatch Internet Monitor. // // Adds a tag to a resource. Tags are supported only for monitors in Amazon // CloudWatch Internet Monitor. You can add a maximum of 50 tags in Internet // Monitor. // // A minimum of one tag is required for this call. It returns an error if you // use the TagResource request with 0 tags. // // 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 Amazon CloudWatch Internet Monitor's // API operation TagResource for usage and error information. // // Returned Error Types: // // - TooManyRequestsException // There were too many requests. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - NotFoundException // The request specifies something that doesn't exist. // // - BadRequestException // A bad request was received. // // - InternalServerErrorException // There was an internal server error. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/TagResource func (c *InternetMonitor) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() } // TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // // See TagResource 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 *InternetMonitor) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource 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 UntagResource for more information on using the UntagResource // 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 UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UntagResource func (c *InternetMonitor) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "DELETE", HTTPPath: "/tags/{ResourceArn}", } if input == nil { input = &UntagResourceInput{} } output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UntagResource API operation for Amazon CloudWatch Internet Monitor. // // Removes a tag from a resource. // // 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 Amazon CloudWatch Internet Monitor's // API operation UntagResource for usage and error information. // // Returned Error Types: // // - TooManyRequestsException // There were too many requests. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - NotFoundException // The request specifies something that doesn't exist. // // - BadRequestException // A bad request was received. // // - InternalServerErrorException // There was an internal server error. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UntagResource func (c *InternetMonitor) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() } // UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // // See UntagResource 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 *InternetMonitor) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateMonitor = "UpdateMonitor" // UpdateMonitorRequest generates a "aws/request.Request" representing the // client's request for the UpdateMonitor 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 UpdateMonitor for more information on using the UpdateMonitor // 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 UpdateMonitorRequest method. // req, resp := client.UpdateMonitorRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UpdateMonitor func (c *InternetMonitor) UpdateMonitorRequest(input *UpdateMonitorInput) (req *request.Request, output *UpdateMonitorOutput) { op := &request.Operation{ Name: opUpdateMonitor, HTTPMethod: "PATCH", HTTPPath: "/v20210603/Monitors/{MonitorName}", } if input == nil { input = &UpdateMonitorInput{} } output = &UpdateMonitorOutput{} req = c.newRequest(op, input, output) return } // UpdateMonitor API operation for Amazon CloudWatch Internet Monitor. // // Updates a monitor. You can update a monitor to change the percentage of traffic // to monitor or the maximum number of city-networks (locations and ASNs), to // add or remove resources, or to change the status of the monitor. Note that // you can't change the name of a monitor. // // The city-network maximum that you choose is the limit, but you only pay for // the number of city-networks that are actually monitored. For more information, // see Choosing a city-network maximum value (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) // in the Amazon CloudWatch User Guide. // // 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 Amazon CloudWatch Internet Monitor's // API operation UpdateMonitor for usage and error information. // // Returned Error Types: // // - InternalServerException // An internal error occurred. // // - ResourceNotFoundException // The request specifies a resource that doesn't exist. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // // - ThrottlingException // The request was denied due to request throttling. // // - LimitExceededException // The request exceeded a service quota. // // - ValidationException // Invalid request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UpdateMonitor func (c *InternetMonitor) UpdateMonitor(input *UpdateMonitorInput) (*UpdateMonitorOutput, error) { req, out := c.UpdateMonitorRequest(input) return out, req.Send() } // UpdateMonitorWithContext is the same as UpdateMonitor with the addition of // the ability to pass a context and additional request options. // // See UpdateMonitor 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 *InternetMonitor) UpdateMonitorWithContext(ctx aws.Context, input *UpdateMonitorInput, opts ...request.Option) (*UpdateMonitorOutput, error) { req, out := c.UpdateMonitorRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // You don't have sufficient permission to perform this action. 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 } // Amazon CloudWatch Internet Monitor calculates measurements about the availability // for your application's internet traffic between client locations and Amazon // Web Services. Amazon Web Services has substantial historical data about internet // performance and availability between Amazon Web Services services and different // network providers and geographies. By applying statistical analysis to the // data, Internet Monitor can detect when the performance and availability for // your application has dropped, compared to an estimated baseline that's already // calculated. To make it easier to see those drops, we report that information // to you in the form of health scores: a performance score and an availability // score. // // Availability in Internet Monitor represents the estimated percentage of traffic // that is not seeing an availability drop. For example, an availability score // of 99% for an end user and service location pair is equivalent to 1% of the // traffic experiencing an availability drop for that pair. // // For more information, see How Internet Monitor calculates performance and // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch // User Guide. type AvailabilityMeasurement struct { _ struct{} `type:"structure"` // Experience scores, or health scores are calculated for different geographic // and network provider combinations (that is, different granularities) and // also summed into global scores. If you view performance or availability scores // without filtering for any specific geography or service provider, Amazon // CloudWatch Internet Monitor provides global health scores. // // The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide // includes detailed information about how Internet Monitor calculates health // scores, including performance and availability scores, and when it creates // and resolves health events. For more information, see How Amazon Web Services // calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. ExperienceScore *float64 `type:"double"` // The percentage of impact caused by a health event for client location traffic // globally. // // For information about how Internet Monitor calculates impact, see Inside // Internet Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html) // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch // User Guide. PercentOfClientLocationImpacted *float64 `type:"double"` // The impact on total traffic that a health event has, in increased latency // or reduced availability. This is the percentage of how much latency has increased // or availability has decreased during the event, compared to what is typical // for traffic from this client location to the Amazon Web Services location // using this client network. // // For information about how Internet Monitor calculates impact, see How Internet // Monitor works (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html) // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch // User Guide. PercentOfTotalTrafficImpacted *float64 `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 AvailabilityMeasurement) 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 AvailabilityMeasurement) GoString() string { return s.String() } // SetExperienceScore sets the ExperienceScore field's value. func (s *AvailabilityMeasurement) SetExperienceScore(v float64) *AvailabilityMeasurement { s.ExperienceScore = &v return s } // SetPercentOfClientLocationImpacted sets the PercentOfClientLocationImpacted field's value. func (s *AvailabilityMeasurement) SetPercentOfClientLocationImpacted(v float64) *AvailabilityMeasurement { s.PercentOfClientLocationImpacted = &v return s } // SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. func (s *AvailabilityMeasurement) SetPercentOfTotalTrafficImpacted(v float64) *AvailabilityMeasurement { s.PercentOfTotalTrafficImpacted = &v return s } // A bad request was received. type BadRequestException 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 BadRequestException) 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 BadRequestException) GoString() string { return s.String() } func newErrorBadRequestException(v protocol.ResponseMetadata) error { return &BadRequestException{ RespMetadata: v, } } // Code returns the exception type name. func (s *BadRequestException) Code() string { return "BadRequestException" } // Message returns the exception's message. func (s *BadRequestException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *BadRequestException) OrigErr() error { return nil } func (s *BadRequestException) 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 *BadRequestException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } // The impacted location, such as a city, that Amazon Web Services clients access // application resources from. type ClientLocation struct { _ struct{} `type:"structure"` // The name of the internet service provider (ISP) or network (ASN). // // ASName is a required field ASName *string `type:"string" required:"true"` // The Autonomous System Number (ASN) of the network at an impacted location. // // ASNumber is a required field ASNumber *int64 `type:"long" required:"true"` // The name of the city where the internet event is located. // // City is a required field City *string `type:"string" required:"true"` // The name of the country where the internet event is located. // // Country is a required field Country *string `type:"string" required:"true"` // The latitude where the internet event is located. // // Latitude is a required field Latitude *float64 `type:"double" required:"true"` // The longitude where the internet event is located. // // Longitude is a required field Longitude *float64 `type:"double" required:"true"` // The metro area where the health event is located. // // Metro indicates a metropolitan region in the United States, such as the region // around New York City. In non-US countries, this is a second-level subdivision. // For example, in the United Kingdom, it could be a county, a London borough, // a unitary authority, council area, and so on. Metro *string `type:"string"` // The subdivision location where the health event is located. The subdivision // usually maps to states in most countries (including the United States). For // United Kingdom, it maps to a country (England, Scotland, Wales) or province // (Northern Ireland). Subdivision *string `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 ClientLocation) 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 ClientLocation) GoString() string { return s.String() } // SetASName sets the ASName field's value. func (s *ClientLocation) SetASName(v string) *ClientLocation { s.ASName = &v return s } // SetASNumber sets the ASNumber field's value. func (s *ClientLocation) SetASNumber(v int64) *ClientLocation { s.ASNumber = &v return s } // SetCity sets the City field's value. func (s *ClientLocation) SetCity(v string) *ClientLocation { s.City = &v return s } // SetCountry sets the Country field's value. func (s *ClientLocation) SetCountry(v string) *ClientLocation { s.Country = &v return s } // SetLatitude sets the Latitude field's value. func (s *ClientLocation) SetLatitude(v float64) *ClientLocation { s.Latitude = &v return s } // SetLongitude sets the Longitude field's value. func (s *ClientLocation) SetLongitude(v float64) *ClientLocation { s.Longitude = &v return s } // SetMetro sets the Metro field's value. func (s *ClientLocation) SetMetro(v string) *ClientLocation { s.Metro = &v return s } // SetSubdivision sets the Subdivision field's value. func (s *ClientLocation) SetSubdivision(v string) *ClientLocation { s.Subdivision = &v return s } // The requested resource is in use. type ConflictException 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 ConflictException) 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 ConflictException) GoString() string { return s.String() } func newErrorConflictException(v protocol.ResponseMetadata) error { return &ConflictException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConflictException) Code() string { return "ConflictException" } // Message returns the exception's message. func (s *ConflictException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConflictException) OrigErr() error { return nil } func (s *ConflictException) 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 *ConflictException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } type CreateMonitorInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive string of up to 64 ASCII characters that you specify // to make an idempotent API request. Don't reuse the same client token for // other API requests. ClientToken *string `type:"string" idempotencyToken:"true"` // Defines the threshold percentages and other configuration information for // when Amazon CloudWatch Internet Monitor creates a health event. Internet // Monitor creates a health event when an internet issue that affects your application // end users has a health score percentage that is at or below a specific threshold, // and, sometimes, when other criteria are met. // // If you don't set a health event threshold, the default value is 95%. // // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. HealthEventsConfig *HealthEventsConfig `type:"structure"` // Publish internet measurements for Internet Monitor to an Amazon S3 bucket // in addition to CloudWatch Logs. InternetMeasurementsLogDelivery *InternetMeasurementsLogDelivery `type:"structure"` // The maximum number of city-networks to monitor for your resources. A city-network // is the location (city) where clients access your application resources from // and the ASN or network provider, such as an internet service provider (ISP), // that clients access the resources through. Setting this limit can help control // billing costs. // // To learn more, see Choosing a city-network maximum value (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. MaxCityNetworksToMonitor *int64 `min:"1" type:"integer"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `min:"1" type:"string" required:"true"` // The resources to include in a monitor, which you provide as a set of Amazon // Resource Names (ARNs). Resources can be VPCs, NLBs, Amazon CloudFront distributions, // or Amazon WorkSpaces directories. // // You can add a combination of VPCs and CloudFront distributions, or you can // add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces // directories together with any other resources. // // If you add only Amazon VPC resources, at least one VPC must have an Internet // Gateway attached to it, to make sure that it has internet connectivity. Resources []*string `type:"list"` // The tags for a monitor. You can add a maximum of 50 tags in Internet Monitor. Tags map[string]*string `type:"map"` // The percentage of the internet-facing traffic for your application that you // want to monitor with this monitor. If you set a city-networks maximum, that // limit overrides the traffic percentage that you set. // // To learn more, see Choosing an application traffic percentage to monitor // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMTrafficPercentage.html) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. TrafficPercentageToMonitor *int64 `min:"1" 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 CreateMonitorInput) 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 CreateMonitorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateMonitorInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateMonitorInput"} if s.MaxCityNetworksToMonitor != nil && *s.MaxCityNetworksToMonitor < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxCityNetworksToMonitor", 1)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.TrafficPercentageToMonitor != nil && *s.TrafficPercentageToMonitor < 1 { invalidParams.Add(request.NewErrParamMinValue("TrafficPercentageToMonitor", 1)) } if s.InternetMeasurementsLogDelivery != nil { if err := s.InternetMeasurementsLogDelivery.Validate(); err != nil { invalidParams.AddNested("InternetMeasurementsLogDelivery", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateMonitorInput) SetClientToken(v string) *CreateMonitorInput { s.ClientToken = &v return s } // SetHealthEventsConfig sets the HealthEventsConfig field's value. func (s *CreateMonitorInput) SetHealthEventsConfig(v *HealthEventsConfig) *CreateMonitorInput { s.HealthEventsConfig = v return s } // SetInternetMeasurementsLogDelivery sets the InternetMeasurementsLogDelivery field's value. func (s *CreateMonitorInput) SetInternetMeasurementsLogDelivery(v *InternetMeasurementsLogDelivery) *CreateMonitorInput { s.InternetMeasurementsLogDelivery = v return s } // SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. func (s *CreateMonitorInput) SetMaxCityNetworksToMonitor(v int64) *CreateMonitorInput { s.MaxCityNetworksToMonitor = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *CreateMonitorInput) SetMonitorName(v string) *CreateMonitorInput { s.MonitorName = &v return s } // SetResources sets the Resources field's value. func (s *CreateMonitorInput) SetResources(v []*string) *CreateMonitorInput { s.Resources = v return s } // SetTags sets the Tags field's value. func (s *CreateMonitorInput) SetTags(v map[string]*string) *CreateMonitorInput { s.Tags = v return s } // SetTrafficPercentageToMonitor sets the TrafficPercentageToMonitor field's value. func (s *CreateMonitorInput) SetTrafficPercentageToMonitor(v int64) *CreateMonitorInput { s.TrafficPercentageToMonitor = &v return s } type CreateMonitorOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the monitor. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The status of a monitor. // // Status is a required field Status *string `type:"string" required:"true" enum:"MonitorConfigState"` } // 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 CreateMonitorOutput) 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 CreateMonitorOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *CreateMonitorOutput) SetArn(v string) *CreateMonitorOutput { s.Arn = &v return s } // SetStatus sets the Status field's value. func (s *CreateMonitorOutput) SetStatus(v string) *CreateMonitorOutput { s.Status = &v return s } type DeleteMonitorInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the monitor to delete. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" 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 DeleteMonitorInput) 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 DeleteMonitorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteMonitorInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteMonitorInput"} if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMonitorName sets the MonitorName field's value. func (s *DeleteMonitorInput) SetMonitorName(v string) *DeleteMonitorInput { s.MonitorName = &v return s } type DeleteMonitorOutput 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 DeleteMonitorOutput) 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 DeleteMonitorOutput) GoString() string { return s.String() } // A filter that you use with the results of a Amazon CloudWatch Internet Monitor // query that you created and ran. The query sets up a repository of data that // is a subset of your application's Internet Monitor data. FilterParameter // is a string that defines how you want to filter the repository of data to // return a set of results, based on your criteria. // // The filter parameters that you can specify depend on the query type that // you used to create the repository, since each query type returns a different // set of Internet Monitor data. // // For each filter, you specify a field (such as city), an operator (such as // not_equals, and a value or array of values (such as ["Seattle", "Redmond"]). // Separate values in the array with commas. // // For more information about specifying filter parameters, see Using the Amazon // CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) // in the Amazon CloudWatch Internet Monitor User Guide. type FilterParameter struct { _ struct{} `type:"structure"` // A data field that you want to filter, to further scope your application's // Internet Monitor data in a repository that you created by running a query. // A field might be city, for example. The field must be one of the fields that // was returned by the specific query that you used to create the repository. Field *string `type:"string"` // The operator to use with the filter field and a value, such as not_equals. Operator *string `type:"string" enum:"Operator"` // One or more values to be used, together with the specified operator, to filter // data for a query. For example, you could specify an array of values such // as ["Seattle", "Redmond"]. Values in the array are separated by commas. Values []*string `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 FilterParameter) 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 FilterParameter) GoString() string { return s.String() } // SetField sets the Field field's value. func (s *FilterParameter) SetField(v string) *FilterParameter { s.Field = &v return s } // SetOperator sets the Operator field's value. func (s *FilterParameter) SetOperator(v string) *FilterParameter { s.Operator = &v return s } // SetValues sets the Values field's value. func (s *FilterParameter) SetValues(v []*string) *FilterParameter { s.Values = v return s } type GetHealthEventInput struct { _ struct{} `type:"structure" nopayload:"true"` // The internally-generated identifier of a health event. Because EventID contains // the forward slash (“/”) character, you must URL-encode the EventID field // in the request URL. // // EventId is a required field EventId *string `location:"uri" locationName:"EventId" min:"1" type:"string" required:"true"` // The account ID for an account that you've set up cross-account sharing for // in Amazon CloudWatch Internet Monitor. You configure cross-account sharing // by using Amazon CloudWatch Observability Access Manager. For more information, // see Internet Monitor cross-account observability (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) // in the Amazon CloudWatch Internet Monitor User Guide. LinkedAccountId *string `location:"querystring" locationName:"LinkedAccountId" min:"12" type:"string"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" 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 GetHealthEventInput) 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 GetHealthEventInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetHealthEventInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetHealthEventInput"} if s.EventId == nil { invalidParams.Add(request.NewErrParamRequired("EventId")) } if s.EventId != nil && len(*s.EventId) < 1 { invalidParams.Add(request.NewErrParamMinLen("EventId", 1)) } if s.LinkedAccountId != nil && len(*s.LinkedAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("LinkedAccountId", 12)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEventId sets the EventId field's value. func (s *GetHealthEventInput) SetEventId(v string) *GetHealthEventInput { s.EventId = &v return s } // SetLinkedAccountId sets the LinkedAccountId field's value. func (s *GetHealthEventInput) SetLinkedAccountId(v string) *GetHealthEventInput { s.LinkedAccountId = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *GetHealthEventInput) SetMonitorName(v string) *GetHealthEventInput { s.MonitorName = &v return s } type GetHealthEventOutput struct { _ struct{} `type:"structure"` // The time when a health event was created. CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The time when a health event was resolved. If the health event is still active, // the end time is not set. EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The Amazon Resource Name (ARN) of the event. // // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` // The internally-generated identifier of a health event. // // EventId is a required field EventId *string `min:"1" type:"string" required:"true"` // The threshold percentage for a health score that determines, along with other // configuration information, when Internet Monitor creates a health event when // there's an internet issue that affects your application end users. HealthScoreThreshold *float64 `type:"double"` // The type of impairment of a specific health event. // // ImpactType is a required field ImpactType *string `type:"string" required:"true" enum:"HealthEventImpactType"` // The locations affected by a health event. // // ImpactedLocations is a required field ImpactedLocations []*ImpactedLocation `type:"list" required:"true"` // The time when a health event was last updated or recalculated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The impact on total traffic that a health event has, in increased latency // or reduced availability. This is the percentage of how much latency has increased // or availability has decreased during the event, compared to what is typical // for traffic from this client location to the Amazon Web Services location // using this client network. PercentOfTotalTrafficImpacted *float64 `type:"double"` // The time when a health event started. // // StartedAt is a required field StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The status of a health event. // // Status is a required field Status *string `type:"string" required:"true" enum:"HealthEventStatus"` } // 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 GetHealthEventOutput) 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 GetHealthEventOutput) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. func (s *GetHealthEventOutput) SetCreatedAt(v time.Time) *GetHealthEventOutput { s.CreatedAt = &v return s } // SetEndedAt sets the EndedAt field's value. func (s *GetHealthEventOutput) SetEndedAt(v time.Time) *GetHealthEventOutput { s.EndedAt = &v return s } // SetEventArn sets the EventArn field's value. func (s *GetHealthEventOutput) SetEventArn(v string) *GetHealthEventOutput { s.EventArn = &v return s } // SetEventId sets the EventId field's value. func (s *GetHealthEventOutput) SetEventId(v string) *GetHealthEventOutput { s.EventId = &v return s } // SetHealthScoreThreshold sets the HealthScoreThreshold field's value. func (s *GetHealthEventOutput) SetHealthScoreThreshold(v float64) *GetHealthEventOutput { s.HealthScoreThreshold = &v return s } // SetImpactType sets the ImpactType field's value. func (s *GetHealthEventOutput) SetImpactType(v string) *GetHealthEventOutput { s.ImpactType = &v return s } // SetImpactedLocations sets the ImpactedLocations field's value. func (s *GetHealthEventOutput) SetImpactedLocations(v []*ImpactedLocation) *GetHealthEventOutput { s.ImpactedLocations = v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *GetHealthEventOutput) SetLastUpdatedAt(v time.Time) *GetHealthEventOutput { s.LastUpdatedAt = &v return s } // SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. func (s *GetHealthEventOutput) SetPercentOfTotalTrafficImpacted(v float64) *GetHealthEventOutput { s.PercentOfTotalTrafficImpacted = &v return s } // SetStartedAt sets the StartedAt field's value. func (s *GetHealthEventOutput) SetStartedAt(v time.Time) *GetHealthEventOutput { s.StartedAt = &v return s } // SetStatus sets the Status field's value. func (s *GetHealthEventOutput) SetStatus(v string) *GetHealthEventOutput { s.Status = &v return s } type GetInternetEventInput struct { _ struct{} `type:"structure" nopayload:"true"` // The EventId of the internet event to return information for. // // EventId is a required field EventId *string `location:"uri" locationName:"EventId" min:"1" 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 GetInternetEventInput) 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 GetInternetEventInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetInternetEventInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetInternetEventInput"} if s.EventId == nil { invalidParams.Add(request.NewErrParamRequired("EventId")) } if s.EventId != nil && len(*s.EventId) < 1 { invalidParams.Add(request.NewErrParamMinLen("EventId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEventId sets the EventId field's value. func (s *GetInternetEventInput) SetEventId(v string) *GetInternetEventInput { s.EventId = &v return s } type GetInternetEventOutput struct { _ struct{} `type:"structure"` // The impacted location, such as a city, where clients access Amazon Web Services // application resources. // // ClientLocation is a required field ClientLocation *ClientLocation `type:"structure" required:"true"` // The time when the internet event ended. If the event hasn't ended yet, this // value is empty. EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The Amazon Resource Name (ARN) of the internet event. // // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` // The internally-generated identifier of an internet event. // // EventId is a required field EventId *string `min:"1" type:"string" required:"true"` // The status of the internet event. // // EventStatus is a required field EventStatus *string `type:"string" required:"true" enum:"InternetEventStatus"` // The type of network impairment. // // EventType is a required field EventType *string `type:"string" required:"true" enum:"InternetEventType"` // The time when the internet event started. // // StartedAt is a required field StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" 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 GetInternetEventOutput) 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 GetInternetEventOutput) GoString() string { return s.String() } // SetClientLocation sets the ClientLocation field's value. func (s *GetInternetEventOutput) SetClientLocation(v *ClientLocation) *GetInternetEventOutput { s.ClientLocation = v return s } // SetEndedAt sets the EndedAt field's value. func (s *GetInternetEventOutput) SetEndedAt(v time.Time) *GetInternetEventOutput { s.EndedAt = &v return s } // SetEventArn sets the EventArn field's value. func (s *GetInternetEventOutput) SetEventArn(v string) *GetInternetEventOutput { s.EventArn = &v return s } // SetEventId sets the EventId field's value. func (s *GetInternetEventOutput) SetEventId(v string) *GetInternetEventOutput { s.EventId = &v return s } // SetEventStatus sets the EventStatus field's value. func (s *GetInternetEventOutput) SetEventStatus(v string) *GetInternetEventOutput { s.EventStatus = &v return s } // SetEventType sets the EventType field's value. func (s *GetInternetEventOutput) SetEventType(v string) *GetInternetEventOutput { s.EventType = &v return s } // SetStartedAt sets the StartedAt field's value. func (s *GetInternetEventOutput) SetStartedAt(v time.Time) *GetInternetEventOutput { s.StartedAt = &v return s } type GetMonitorInput struct { _ struct{} `type:"structure" nopayload:"true"` // The account ID for an account that you've set up cross-account sharing for // in Amazon CloudWatch Internet Monitor. You configure cross-account sharing // by using Amazon CloudWatch Observability Access Manager. For more information, // see Internet Monitor cross-account observability (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) // in the Amazon CloudWatch Internet Monitor User Guide. LinkedAccountId *string `location:"querystring" locationName:"LinkedAccountId" min:"12" type:"string"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" 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 GetMonitorInput) 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 GetMonitorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetMonitorInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetMonitorInput"} if s.LinkedAccountId != nil && len(*s.LinkedAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("LinkedAccountId", 12)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLinkedAccountId sets the LinkedAccountId field's value. func (s *GetMonitorInput) SetLinkedAccountId(v string) *GetMonitorInput { s.LinkedAccountId = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *GetMonitorInput) SetMonitorName(v string) *GetMonitorInput { s.MonitorName = &v return s } type GetMonitorOutput struct { _ struct{} `type:"structure"` // The time when the monitor was created. // // CreatedAt is a required field CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The list of health event threshold configurations. The threshold percentage // for a health score determines, along with other configuration information, // when Internet Monitor creates a health event when there's an internet issue // that affects your application end users. // // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. HealthEventsConfig *HealthEventsConfig `type:"structure"` // Publish internet measurements for Internet Monitor to another location, such // as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch // Logs. InternetMeasurementsLogDelivery *InternetMeasurementsLogDelivery `type:"structure"` // The maximum number of city-networks to monitor for your resources. A city-network // is the location (city) where clients access your application resources from // and the ASN or network provider, such as an internet service provider (ISP), // that clients access the resources through. This limit can help control billing // costs. // // To learn more, see Choosing a city-network maximum value (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. MaxCityNetworksToMonitor *int64 `min:"1" type:"integer"` // The last time that the monitor was modified. // // ModifiedAt is a required field ModifiedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The Amazon Resource Name (ARN) of the monitor. // // MonitorArn is a required field MonitorArn *string `min:"20" type:"string" required:"true"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `min:"1" type:"string" required:"true"` // The health of the data processing for the monitor. ProcessingStatus *string `type:"string" enum:"MonitorProcessingStatusCode"` // Additional information about the health of the data processing for the monitor. ProcessingStatusInfo *string `type:"string"` // The resources monitored by the monitor. Resources are listed by their Amazon // Resource Names (ARNs). // // Resources is a required field Resources []*string `type:"list" required:"true"` // The status of the monitor. // // Status is a required field Status *string `type:"string" required:"true" enum:"MonitorConfigState"` // The tags that have been added to monitor. Tags map[string]*string `type:"map"` // The percentage of the internet-facing traffic for your application to monitor // with this monitor. If you set a city-networks maximum, that limit overrides // the traffic percentage that you set. // // To learn more, see Choosing an application traffic percentage to monitor // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMTrafficPercentage.html) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. TrafficPercentageToMonitor *int64 `min:"1" 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 GetMonitorOutput) 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 GetMonitorOutput) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. func (s *GetMonitorOutput) SetCreatedAt(v time.Time) *GetMonitorOutput { s.CreatedAt = &v return s } // SetHealthEventsConfig sets the HealthEventsConfig field's value. func (s *GetMonitorOutput) SetHealthEventsConfig(v *HealthEventsConfig) *GetMonitorOutput { s.HealthEventsConfig = v return s } // SetInternetMeasurementsLogDelivery sets the InternetMeasurementsLogDelivery field's value. func (s *GetMonitorOutput) SetInternetMeasurementsLogDelivery(v *InternetMeasurementsLogDelivery) *GetMonitorOutput { s.InternetMeasurementsLogDelivery = v return s } // SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. func (s *GetMonitorOutput) SetMaxCityNetworksToMonitor(v int64) *GetMonitorOutput { s.MaxCityNetworksToMonitor = &v return s } // SetModifiedAt sets the ModifiedAt field's value. func (s *GetMonitorOutput) SetModifiedAt(v time.Time) *GetMonitorOutput { s.ModifiedAt = &v return s } // SetMonitorArn sets the MonitorArn field's value. func (s *GetMonitorOutput) SetMonitorArn(v string) *GetMonitorOutput { s.MonitorArn = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *GetMonitorOutput) SetMonitorName(v string) *GetMonitorOutput { s.MonitorName = &v return s } // SetProcessingStatus sets the ProcessingStatus field's value. func (s *GetMonitorOutput) SetProcessingStatus(v string) *GetMonitorOutput { s.ProcessingStatus = &v return s } // SetProcessingStatusInfo sets the ProcessingStatusInfo field's value. func (s *GetMonitorOutput) SetProcessingStatusInfo(v string) *GetMonitorOutput { s.ProcessingStatusInfo = &v return s } // SetResources sets the Resources field's value. func (s *GetMonitorOutput) SetResources(v []*string) *GetMonitorOutput { s.Resources = v return s } // SetStatus sets the Status field's value. func (s *GetMonitorOutput) SetStatus(v string) *GetMonitorOutput { s.Status = &v return s } // SetTags sets the Tags field's value. func (s *GetMonitorOutput) SetTags(v map[string]*string) *GetMonitorOutput { s.Tags = v return s } // SetTrafficPercentageToMonitor sets the TrafficPercentageToMonitor field's value. func (s *GetMonitorOutput) SetTrafficPercentageToMonitor(v int64) *GetMonitorOutput { s.TrafficPercentageToMonitor = &v return s } type GetQueryResultsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The number of query results that you want to return with this call. MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` // The name of the monitor to return data for. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` // The ID of the query that you want to return data results for. A QueryId is // an internally-generated identifier for a specific query. // // QueryId is a required field QueryId *string `location:"uri" locationName:"QueryId" 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 GetQueryResultsInput) 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 GetQueryResultsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetQueryResultsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.QueryId == nil { invalidParams.Add(request.NewErrParamRequired("QueryId")) } if s.QueryId != nil && len(*s.QueryId) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *GetQueryResultsInput) SetMaxResults(v int64) *GetQueryResultsInput { s.MaxResults = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *GetQueryResultsInput) SetMonitorName(v string) *GetQueryResultsInput { s.MonitorName = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetQueryResultsInput) SetNextToken(v string) *GetQueryResultsInput { s.NextToken = &v return s } // SetQueryId sets the QueryId field's value. func (s *GetQueryResultsInput) SetQueryId(v string) *GetQueryResultsInput { s.QueryId = &v return s } type GetQueryResultsOutput struct { _ struct{} `type:"structure"` // The data results that the query returns. Data is returned in arrays, aligned // with the Fields for the query, which creates a repository of Amazon CloudWatch // Internet Monitor information for your application. Then, you can filter the // information in the repository by using FilterParameters that you define. // // Data is a required field Data [][]*string `type:"list" required:"true"` // The fields that the query returns data for. Fields are name-data type pairs, // such as availability_score-float. // // Fields is a required field Fields []*QueryField `type:"list" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `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 GetQueryResultsOutput) 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 GetQueryResultsOutput) GoString() string { return s.String() } // SetData sets the Data field's value. func (s *GetQueryResultsOutput) SetData(v [][]*string) *GetQueryResultsOutput { s.Data = v return s } // SetFields sets the Fields field's value. func (s *GetQueryResultsOutput) SetFields(v []*QueryField) *GetQueryResultsOutput { s.Fields = v return s } // SetNextToken sets the NextToken field's value. func (s *GetQueryResultsOutput) SetNextToken(v string) *GetQueryResultsOutput { s.NextToken = &v return s } type GetQueryStatusInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The ID of the query that you want to return the status for. A QueryId is // an internally-generated dentifier for a specific query. // // QueryId is a required field QueryId *string `location:"uri" locationName:"QueryId" 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 GetQueryStatusInput) 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 GetQueryStatusInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetQueryStatusInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetQueryStatusInput"} if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.QueryId == nil { invalidParams.Add(request.NewErrParamRequired("QueryId")) } if s.QueryId != nil && len(*s.QueryId) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMonitorName sets the MonitorName field's value. func (s *GetQueryStatusInput) SetMonitorName(v string) *GetQueryStatusInput { s.MonitorName = &v return s } // SetQueryId sets the QueryId field's value. func (s *GetQueryStatusInput) SetQueryId(v string) *GetQueryStatusInput { s.QueryId = &v return s } type GetQueryStatusOutput struct { _ struct{} `type:"structure"` // The current status for a query. // // Status is a required field Status *string `type:"string" required:"true" enum:"QueryStatus"` } // 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 GetQueryStatusOutput) 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 GetQueryStatusOutput) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *GetQueryStatusOutput) SetStatus(v string) *GetQueryStatusOutput { s.Status = &v return s } // Information about a health event created in a monitor in Amazon CloudWatch // Internet Monitor. type HealthEvent struct { _ struct{} `type:"structure"` // When the health event was created. CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The time when a health event ended. If the health event is still active, // then the end time is not set. EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The Amazon Resource Name (ARN) of the event. // // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` // The internally-generated identifier of a specific network traffic impairment // health event. // // EventId is a required field EventId *string `min:"1" type:"string" required:"true"` // The value of the threshold percentage for performance or availability that // was configured when Amazon CloudWatch Internet Monitor created the health // event. HealthScoreThreshold *float64 `type:"double"` // The type of impairment for a health event. // // ImpactType is a required field ImpactType *string `type:"string" required:"true" enum:"HealthEventImpactType"` // The locations impacted by the health event. // // ImpactedLocations is a required field ImpactedLocations []*ImpactedLocation `type:"list" required:"true"` // When the health event was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The impact on total traffic that a health event has, in increased latency // or reduced availability. This is the percentage of how much latency has increased // or availability has decreased during the event, compared to what is typical // for traffic from this client location to the Amazon Web Services location // using this client network. PercentOfTotalTrafficImpacted *float64 `type:"double"` // When a health event started. // // StartedAt is a required field StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The status of a health event. // // Status is a required field Status *string `type:"string" required:"true" enum:"HealthEventStatus"` } // 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 HealthEvent) 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 HealthEvent) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. func (s *HealthEvent) SetCreatedAt(v time.Time) *HealthEvent { s.CreatedAt = &v return s } // SetEndedAt sets the EndedAt field's value. func (s *HealthEvent) SetEndedAt(v time.Time) *HealthEvent { s.EndedAt = &v return s } // SetEventArn sets the EventArn field's value. func (s *HealthEvent) SetEventArn(v string) *HealthEvent { s.EventArn = &v return s } // SetEventId sets the EventId field's value. func (s *HealthEvent) SetEventId(v string) *HealthEvent { s.EventId = &v return s } // SetHealthScoreThreshold sets the HealthScoreThreshold field's value. func (s *HealthEvent) SetHealthScoreThreshold(v float64) *HealthEvent { s.HealthScoreThreshold = &v return s } // SetImpactType sets the ImpactType field's value. func (s *HealthEvent) SetImpactType(v string) *HealthEvent { s.ImpactType = &v return s } // SetImpactedLocations sets the ImpactedLocations field's value. func (s *HealthEvent) SetImpactedLocations(v []*ImpactedLocation) *HealthEvent { s.ImpactedLocations = v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *HealthEvent) SetLastUpdatedAt(v time.Time) *HealthEvent { s.LastUpdatedAt = &v return s } // SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. func (s *HealthEvent) SetPercentOfTotalTrafficImpacted(v float64) *HealthEvent { s.PercentOfTotalTrafficImpacted = &v return s } // SetStartedAt sets the StartedAt field's value. func (s *HealthEvent) SetStartedAt(v time.Time) *HealthEvent { s.StartedAt = &v return s } // SetStatus sets the Status field's value. func (s *HealthEvent) SetStatus(v string) *HealthEvent { s.Status = &v return s } // A complex type with the configuration information that determines the threshold // and other conditions for when Internet Monitor creates a health event for // an overall performance or availability issue, across an application's geographies. // // Defines the percentages, for overall performance scores and availability // scores for an application, that are the thresholds for when Amazon CloudWatch // Internet Monitor creates a health event. You can override the defaults to // set a custom threshold for overall performance or availability scores, or // both. // // You can also set thresholds for local health scores,, where Internet Monitor // creates a health event when scores cross a threshold for one or more city-networks, // in addition to creating an event when an overall score crosses a threshold. // // If you don't set a health event threshold, the default value is 95%. // // For local thresholds, you also set a minimum percentage of overall traffic // that is impacted by an issue before Internet Monitor creates an event. In // addition, you can disable local thresholds, for performance scores, availability // scores, or both. // // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. type HealthEventsConfig struct { _ struct{} `type:"structure"` // The configuration that determines the threshold and other conditions for // when Internet Monitor creates a health event for a local availability issue. AvailabilityLocalHealthEventsConfig *LocalHealthEventsConfig `type:"structure"` // The health event threshold percentage set for availability scores. AvailabilityScoreThreshold *float64 `type:"double"` // The configuration that determines the threshold and other conditions for // when Internet Monitor creates a health event for a local performance issue. PerformanceLocalHealthEventsConfig *LocalHealthEventsConfig `type:"structure"` // The health event threshold percentage set for performance scores. PerformanceScoreThreshold *float64 `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 HealthEventsConfig) 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 HealthEventsConfig) GoString() string { return s.String() } // SetAvailabilityLocalHealthEventsConfig sets the AvailabilityLocalHealthEventsConfig field's value. func (s *HealthEventsConfig) SetAvailabilityLocalHealthEventsConfig(v *LocalHealthEventsConfig) *HealthEventsConfig { s.AvailabilityLocalHealthEventsConfig = v return s } // SetAvailabilityScoreThreshold sets the AvailabilityScoreThreshold field's value. func (s *HealthEventsConfig) SetAvailabilityScoreThreshold(v float64) *HealthEventsConfig { s.AvailabilityScoreThreshold = &v return s } // SetPerformanceLocalHealthEventsConfig sets the PerformanceLocalHealthEventsConfig field's value. func (s *HealthEventsConfig) SetPerformanceLocalHealthEventsConfig(v *LocalHealthEventsConfig) *HealthEventsConfig { s.PerformanceLocalHealthEventsConfig = v return s } // SetPerformanceScoreThreshold sets the PerformanceScoreThreshold field's value. func (s *HealthEventsConfig) SetPerformanceScoreThreshold(v float64) *HealthEventsConfig { s.PerformanceScoreThreshold = &v return s } // Information about a location impacted by a health event in Amazon CloudWatch // Internet Monitor. // // Geographic regions are hierarchically categorized into country, subdivision, // metro and city geographic granularities. The geographic region is identified // based on the IP address used at the client locations. type ImpactedLocation struct { _ struct{} `type:"structure"` // The name of the internet service provider (ISP) or network (ASN). // // ASName is a required field ASName *string `type:"string" required:"true"` // The Autonomous System Number (ASN) of the network at an impacted location. // // ASNumber is a required field ASNumber *int64 `type:"long" required:"true"` // The cause of the impairment. There are two types of network impairments: // Amazon Web Services network issues or internet issues. Internet issues are // typically a problem with a network provider, like an internet service provider // (ISP). CausedBy *NetworkImpairment `type:"structure"` // The name of the city where the health event is located. City *string `type:"string"` // The name of the country where the health event is located. // // Country is a required field Country *string `type:"string" required:"true"` // The country code where the health event is located. The ISO 3166-2 codes // for the country is provided, when available. CountryCode *string `type:"string"` // The calculated health at a specific location. InternetHealth *InternetHealth `type:"structure"` // The IPv4 prefixes at the client location that was impacted by the health // event. Ipv4Prefixes []*string `type:"list"` // The latitude where the health event is located. Latitude *float64 `type:"double"` // The longitude where the health event is located. Longitude *float64 `type:"double"` // The metro area where the health event is located. // // Metro indicates a metropolitan region in the United States, such as the region // around New York City. In non-US countries, this is a second-level subdivision. // For example, in the United Kingdom, it could be a county, a London borough, // a unitary authority, council area, and so on. Metro *string `type:"string"` // The service location where the health event is located. ServiceLocation *string `type:"string"` // The status of the health event at an impacted location. // // Status is a required field Status *string `type:"string" required:"true" enum:"HealthEventStatus"` // The subdivision location where the health event is located. The subdivision // usually maps to states in most countries (including the United States). For // United Kingdom, it maps to a country (England, Scotland, Wales) or province // (Northern Ireland). Subdivision *string `type:"string"` // The subdivision code where the health event is located. The ISO 3166-2 codes // for country subdivisions is provided, when available. SubdivisionCode *string `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 ImpactedLocation) 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 ImpactedLocation) GoString() string { return s.String() } // SetASName sets the ASName field's value. func (s *ImpactedLocation) SetASName(v string) *ImpactedLocation { s.ASName = &v return s } // SetASNumber sets the ASNumber field's value. func (s *ImpactedLocation) SetASNumber(v int64) *ImpactedLocation { s.ASNumber = &v return s } // SetCausedBy sets the CausedBy field's value. func (s *ImpactedLocation) SetCausedBy(v *NetworkImpairment) *ImpactedLocation { s.CausedBy = v return s } // SetCity sets the City field's value. func (s *ImpactedLocation) SetCity(v string) *ImpactedLocation { s.City = &v return s } // SetCountry sets the Country field's value. func (s *ImpactedLocation) SetCountry(v string) *ImpactedLocation { s.Country = &v return s } // SetCountryCode sets the CountryCode field's value. func (s *ImpactedLocation) SetCountryCode(v string) *ImpactedLocation { s.CountryCode = &v return s } // SetInternetHealth sets the InternetHealth field's value. func (s *ImpactedLocation) SetInternetHealth(v *InternetHealth) *ImpactedLocation { s.InternetHealth = v return s } // SetIpv4Prefixes sets the Ipv4Prefixes field's value. func (s *ImpactedLocation) SetIpv4Prefixes(v []*string) *ImpactedLocation { s.Ipv4Prefixes = v return s } // SetLatitude sets the Latitude field's value. func (s *ImpactedLocation) SetLatitude(v float64) *ImpactedLocation { s.Latitude = &v return s } // SetLongitude sets the Longitude field's value. func (s *ImpactedLocation) SetLongitude(v float64) *ImpactedLocation { s.Longitude = &v return s } // SetMetro sets the Metro field's value. func (s *ImpactedLocation) SetMetro(v string) *ImpactedLocation { s.Metro = &v return s } // SetServiceLocation sets the ServiceLocation field's value. func (s *ImpactedLocation) SetServiceLocation(v string) *ImpactedLocation { s.ServiceLocation = &v return s } // SetStatus sets the Status field's value. func (s *ImpactedLocation) SetStatus(v string) *ImpactedLocation { s.Status = &v return s } // SetSubdivision sets the Subdivision field's value. func (s *ImpactedLocation) SetSubdivision(v string) *ImpactedLocation { s.Subdivision = &v return s } // SetSubdivisionCode sets the SubdivisionCode field's value. func (s *ImpactedLocation) SetSubdivisionCode(v string) *ImpactedLocation { s.SubdivisionCode = &v return s } // There was an internal server error. type InternalServerErrorException 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 InternalServerErrorException) 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 InternalServerErrorException) GoString() string { return s.String() } func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { return &InternalServerErrorException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServerErrorException) Code() string { return "InternalServerErrorException" } // Message returns the exception's message. func (s *InternalServerErrorException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServerErrorException) OrigErr() error { return nil } func (s *InternalServerErrorException) 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 *InternalServerErrorException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } // An internal error occurred. 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 } // A summary of information about an internet event in Amazon CloudWatch Internet // Monitor. Internet events are issues that cause performance degradation or // availability problems for impacted Amazon Web Services client locations. // Internet Monitor displays information about recent global health events, // called internet events, on a global outages map that is available to all // Amazon Web Services customers. type InternetEventSummary struct { _ struct{} `type:"structure"` // The impacted location, such as a city, that Amazon Web Services clients access // application resources from. // // ClientLocation is a required field ClientLocation *ClientLocation `type:"structure" required:"true"` // The time when an internet event ended. If the event hasn't ended yet, this // value is empty. EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The Amazon Resource Name (ARN) of the internet event. // // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` // The internally-generated identifier of an internet event. // // EventId is a required field EventId *string `min:"1" type:"string" required:"true"` // The status of an internet event. // // EventStatus is a required field EventStatus *string `type:"string" required:"true" enum:"InternetEventStatus"` // The type of network impairment. // // EventType is a required field EventType *string `type:"string" required:"true" enum:"InternetEventType"` // The time when an internet event started. // // StartedAt is a required field StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" 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 InternetEventSummary) 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 InternetEventSummary) GoString() string { return s.String() } // SetClientLocation sets the ClientLocation field's value. func (s *InternetEventSummary) SetClientLocation(v *ClientLocation) *InternetEventSummary { s.ClientLocation = v return s } // SetEndedAt sets the EndedAt field's value. func (s *InternetEventSummary) SetEndedAt(v time.Time) *InternetEventSummary { s.EndedAt = &v return s } // SetEventArn sets the EventArn field's value. func (s *InternetEventSummary) SetEventArn(v string) *InternetEventSummary { s.EventArn = &v return s } // SetEventId sets the EventId field's value. func (s *InternetEventSummary) SetEventId(v string) *InternetEventSummary { s.EventId = &v return s } // SetEventStatus sets the EventStatus field's value. func (s *InternetEventSummary) SetEventStatus(v string) *InternetEventSummary { s.EventStatus = &v return s } // SetEventType sets the EventType field's value. func (s *InternetEventSummary) SetEventType(v string) *InternetEventSummary { s.EventType = &v return s } // SetStartedAt sets the StartedAt field's value. func (s *InternetEventSummary) SetStartedAt(v time.Time) *InternetEventSummary { s.StartedAt = &v return s } // Internet health includes measurements calculated by Amazon CloudWatch Internet // Monitor about the performance and availability for your application on the // internet. Amazon Web Services has substantial historical data about internet // performance and availability between Amazon Web Services services and different // network providers and geographies. By applying statistical analysis to the // data, Internet Monitor can detect when the performance and availability for // your application has dropped, compared to an estimated baseline that's already // calculated. To make it easier to see those drops, Internet Monitor reports // the information to you in the form of health scores: a performance score // and an availability score. type InternetHealth struct { _ struct{} `type:"structure"` // Availability in Internet Monitor represents the estimated percentage of traffic // that is not seeing an availability drop. For example, an availability score // of 99% for an end user and service location pair is equivalent to 1% of the // traffic experiencing an availability drop for that pair. // // For more information, see How Internet Monitor calculates performance and // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. Availability *AvailabilityMeasurement `type:"structure"` // Performance in Internet Monitor represents the estimated percentage of traffic // that is not seeing a performance drop. For example, a performance score of // 99% for an end user and service location pair is equivalent to 1% of the // traffic experiencing a performance drop for that pair. // // For more information, see How Internet Monitor calculates performance and // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. Performance *PerformanceMeasurement `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 InternetHealth) 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 InternetHealth) GoString() string { return s.String() } // SetAvailability sets the Availability field's value. func (s *InternetHealth) SetAvailability(v *AvailabilityMeasurement) *InternetHealth { s.Availability = v return s } // SetPerformance sets the Performance field's value. func (s *InternetHealth) SetPerformance(v *PerformanceMeasurement) *InternetHealth { s.Performance = v return s } // Publish internet measurements to an Amazon S3 bucket in addition to CloudWatch // Logs. type InternetMeasurementsLogDelivery struct { _ struct{} `type:"structure"` // The configuration information for publishing Internet Monitor internet measurements // to Amazon S3. The configuration includes the bucket name and (optionally) // prefix for the S3 bucket to store the measurements, and the delivery status. // The delivery status is ENABLED or DISABLED, depending on whether you choose // to deliver internet measurements to S3 logs. S3Config *S3Config `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 InternetMeasurementsLogDelivery) 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 InternetMeasurementsLogDelivery) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InternetMeasurementsLogDelivery) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InternetMeasurementsLogDelivery"} if s.S3Config != nil { if err := s.S3Config.Validate(); err != nil { invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetS3Config sets the S3Config field's value. func (s *InternetMeasurementsLogDelivery) SetS3Config(v *S3Config) *InternetMeasurementsLogDelivery { s.S3Config = v return s } // The request exceeded a service quota. type LimitExceededException 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 LimitExceededException) 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 LimitExceededException) GoString() string { return s.String() } func newErrorLimitExceededException(v protocol.ResponseMetadata) error { return &LimitExceededException{ RespMetadata: v, } } // Code returns the exception type name. func (s *LimitExceededException) Code() string { return "LimitExceededException" } // Message returns the exception's message. func (s *LimitExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *LimitExceededException) OrigErr() error { return nil } func (s *LimitExceededException) 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 *LimitExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } type ListHealthEventsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The time when a health event ended. If the health event is still ongoing, // then the end time is not set. EndTime *time.Time `location:"querystring" locationName:"EndTime" type:"timestamp" timestampFormat:"iso8601"` // The status of a health event. EventStatus *string `location:"querystring" locationName:"EventStatus" type:"string" enum:"HealthEventStatus"` // The account ID for an account that you've set up cross-account sharing for // in Amazon CloudWatch Internet Monitor. You configure cross-account sharing // by using Amazon CloudWatch Observability Access Manager. For more information, // see Internet Monitor cross-account observability (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) // in the Amazon CloudWatch Internet Monitor User Guide. LinkedAccountId *string `location:"querystring" locationName:"LinkedAccountId" min:"12" type:"string"` // The number of health event objects that you want to return with this call. MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` // The time when a health event started. StartTime *time.Time `location:"querystring" locationName:"StartTime" type:"timestamp" timestampFormat:"iso8601"` } // 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 ListHealthEventsInput) 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 ListHealthEventsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListHealthEventsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListHealthEventsInput"} if s.LinkedAccountId != nil && len(*s.LinkedAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("LinkedAccountId", 12)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEndTime sets the EndTime field's value. func (s *ListHealthEventsInput) SetEndTime(v time.Time) *ListHealthEventsInput { s.EndTime = &v return s } // SetEventStatus sets the EventStatus field's value. func (s *ListHealthEventsInput) SetEventStatus(v string) *ListHealthEventsInput { s.EventStatus = &v return s } // SetLinkedAccountId sets the LinkedAccountId field's value. func (s *ListHealthEventsInput) SetLinkedAccountId(v string) *ListHealthEventsInput { s.LinkedAccountId = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListHealthEventsInput) SetMaxResults(v int64) *ListHealthEventsInput { s.MaxResults = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *ListHealthEventsInput) SetMonitorName(v string) *ListHealthEventsInput { s.MonitorName = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListHealthEventsInput) SetNextToken(v string) *ListHealthEventsInput { s.NextToken = &v return s } // SetStartTime sets the StartTime field's value. func (s *ListHealthEventsInput) SetStartTime(v time.Time) *ListHealthEventsInput { s.StartTime = &v return s } type ListHealthEventsOutput struct { _ struct{} `type:"structure"` // A list of health events. // // HealthEvents is a required field HealthEvents []*HealthEvent `type:"list" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `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 ListHealthEventsOutput) 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 ListHealthEventsOutput) GoString() string { return s.String() } // SetHealthEvents sets the HealthEvents field's value. func (s *ListHealthEventsOutput) SetHealthEvents(v []*HealthEvent) *ListHealthEventsOutput { s.HealthEvents = v return s } // SetNextToken sets the NextToken field's value. func (s *ListHealthEventsOutput) SetNextToken(v string) *ListHealthEventsOutput { s.NextToken = &v return s } type ListInternetEventsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The end time of the time window that you want to get a list of internet events // for. EndTime *time.Time `location:"querystring" locationName:"EndTime" type:"timestamp" timestampFormat:"iso8601"` // The status of an internet event. EventStatus *string `location:"querystring" locationName:"EventStatus" type:"string"` // The type of network impairment. EventType *string `location:"querystring" locationName:"EventType" type:"string"` // The number of query results that you want to return with this call. MaxResults *int64 `location:"querystring" locationName:"InternetEventMaxResults" min:"1" type:"integer"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` // The start time of the time window that you want to get a list of internet // events for. StartTime *time.Time `location:"querystring" locationName:"StartTime" type:"timestamp" timestampFormat:"iso8601"` } // 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 ListInternetEventsInput) 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 ListInternetEventsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListInternetEventsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListInternetEventsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEndTime sets the EndTime field's value. func (s *ListInternetEventsInput) SetEndTime(v time.Time) *ListInternetEventsInput { s.EndTime = &v return s } // SetEventStatus sets the EventStatus field's value. func (s *ListInternetEventsInput) SetEventStatus(v string) *ListInternetEventsInput { s.EventStatus = &v return s } // SetEventType sets the EventType field's value. func (s *ListInternetEventsInput) SetEventType(v string) *ListInternetEventsInput { s.EventType = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListInternetEventsInput) SetMaxResults(v int64) *ListInternetEventsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListInternetEventsInput) SetNextToken(v string) *ListInternetEventsInput { s.NextToken = &v return s } // SetStartTime sets the StartTime field's value. func (s *ListInternetEventsInput) SetStartTime(v time.Time) *ListInternetEventsInput { s.StartTime = &v return s } type ListInternetEventsOutput struct { _ struct{} `type:"structure"` // A set of internet events returned for the list operation. // // InternetEvents is a required field InternetEvents []*InternetEventSummary `type:"list" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `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 ListInternetEventsOutput) 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 ListInternetEventsOutput) GoString() string { return s.String() } // SetInternetEvents sets the InternetEvents field's value. func (s *ListInternetEventsOutput) SetInternetEvents(v []*InternetEventSummary) *ListInternetEventsOutput { s.InternetEvents = v return s } // SetNextToken sets the NextToken field's value. func (s *ListInternetEventsOutput) SetNextToken(v string) *ListInternetEventsOutput { s.NextToken = &v return s } type ListMonitorsInput struct { _ struct{} `type:"structure" nopayload:"true"` // A boolean option that you can set to TRUE to include monitors for linked // accounts in a list of monitors, when you've set up cross-account sharing // in Amazon CloudWatch Internet Monitor. You configure cross-account sharing // by using Amazon CloudWatch Observability Access Manager. For more information, // see Internet Monitor cross-account observability (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) // in the Amazon CloudWatch Internet Monitor User Guide. IncludeLinkedAccounts *bool `location:"querystring" locationName:"IncludeLinkedAccounts" type:"boolean"` // The number of monitor objects that you want to return with this call. MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` // The status of a monitor. This includes the status of the data processing // for the monitor and the status of the monitor itself. // // For information about the statuses for a monitor, see Monitor (https://docs.aws.amazon.com/internet-monitor/latest/api/API_Monitor.html). MonitorStatus *string `location:"querystring" locationName:"MonitorStatus" type:"string"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `location:"querystring" 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 ListMonitorsInput) 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 ListMonitorsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListMonitorsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListMonitorsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetIncludeLinkedAccounts sets the IncludeLinkedAccounts field's value. func (s *ListMonitorsInput) SetIncludeLinkedAccounts(v bool) *ListMonitorsInput { s.IncludeLinkedAccounts = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListMonitorsInput) SetMaxResults(v int64) *ListMonitorsInput { s.MaxResults = &v return s } // SetMonitorStatus sets the MonitorStatus field's value. func (s *ListMonitorsInput) SetMonitorStatus(v string) *ListMonitorsInput { s.MonitorStatus = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListMonitorsInput) SetNextToken(v string) *ListMonitorsInput { s.NextToken = &v return s } type ListMonitorsOutput struct { _ struct{} `type:"structure"` // A list of monitors. // // Monitors is a required field Monitors []*Monitor `type:"list" required:"true"` // The token for the next set of results. You receive this token from a previous // call. NextToken *string `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 ListMonitorsOutput) 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 ListMonitorsOutput) GoString() string { return s.String() } // SetMonitors sets the Monitors field's value. func (s *ListMonitorsOutput) SetMonitors(v []*Monitor) *ListMonitorsOutput { s.Monitors = v return s } // SetNextToken sets the NextToken field's value. func (s *ListMonitorsOutput) SetNextToken(v string) *ListMonitorsOutput { s.NextToken = &v return s } type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The Amazon Resource Name (ARN) for a resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsForResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { s.ResourceArn = &v return s } type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` // Tags for a resource. Tags map[string]*string `type:"map"` } // 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 ListTagsForResourceOutput) 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 ListTagsForResourceOutput) GoString() string { return s.String() } // SetTags sets the Tags field's value. func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { s.Tags = v return s } // A complex type with the configuration information that determines the threshold // and other conditions for when Internet Monitor creates a health event for // a local performance or availability issue, when scores cross a threshold // for one or more city-networks. // // Defines the percentages, for performance scores or availability scores, that // are the local thresholds for when Amazon CloudWatch Internet Monitor creates // a health event. Also defines whether a local threshold is enabled or disabled, // and the minimum percentage of overall traffic that must be impacted by an // issue before Internet Monitor creates an event when a threshold is crossed // for a local health score. // // If you don't set a local health event threshold, the default value is 60%. // // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. type LocalHealthEventsConfig struct { _ struct{} `type:"structure"` // The health event threshold percentage set for a local health score. HealthScoreThreshold *float64 `type:"double"` // The minimum percentage of overall traffic for an application that must be // impacted by an issue before Internet Monitor creates an event when a threshold // is crossed for a local health score. // // If you don't set a minimum traffic impact threshold, the default value is // 0.1%. MinTrafficImpact *float64 `type:"double"` // The status of whether Internet Monitor creates a health event based on a // threshold percentage set for a local health score. The status can be ENABLED // or DISABLED. Status *string `type:"string" enum:"LocalHealthEventsConfigStatus"` } // 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 LocalHealthEventsConfig) 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 LocalHealthEventsConfig) GoString() string { return s.String() } // SetHealthScoreThreshold sets the HealthScoreThreshold field's value. func (s *LocalHealthEventsConfig) SetHealthScoreThreshold(v float64) *LocalHealthEventsConfig { s.HealthScoreThreshold = &v return s } // SetMinTrafficImpact sets the MinTrafficImpact field's value. func (s *LocalHealthEventsConfig) SetMinTrafficImpact(v float64) *LocalHealthEventsConfig { s.MinTrafficImpact = &v return s } // SetStatus sets the Status field's value. func (s *LocalHealthEventsConfig) SetStatus(v string) *LocalHealthEventsConfig { s.Status = &v return s } // The description of and information about a monitor in Amazon CloudWatch Internet // Monitor. type Monitor struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the monitor. // // MonitorArn is a required field MonitorArn *string `min:"20" type:"string" required:"true"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `min:"1" type:"string" required:"true"` // The health of data processing for the monitor. ProcessingStatus *string `type:"string" enum:"MonitorProcessingStatusCode"` // The status of a monitor. // // Status is a required field Status *string `type:"string" required:"true" enum:"MonitorConfigState"` } // 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 Monitor) 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 Monitor) GoString() string { return s.String() } // SetMonitorArn sets the MonitorArn field's value. func (s *Monitor) SetMonitorArn(v string) *Monitor { s.MonitorArn = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *Monitor) SetMonitorName(v string) *Monitor { s.MonitorName = &v return s } // SetProcessingStatus sets the ProcessingStatus field's value. func (s *Monitor) SetProcessingStatus(v string) *Monitor { s.ProcessingStatus = &v return s } // SetStatus sets the Status field's value. func (s *Monitor) SetStatus(v string) *Monitor { s.Status = &v return s } // An internet service provider (ISP) or network (ASN) in Amazon CloudWatch // Internet Monitor. type Network struct { _ struct{} `type:"structure"` // The name of the internet service provider (ISP) or network (ASN). // // ASName is a required field ASName *string `type:"string" required:"true"` // The Autonomous System Number (ASN) of the internet provider or network. // // ASNumber is a required field ASNumber *int64 `type:"long" 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 Network) 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 Network) GoString() string { return s.String() } // SetASName sets the ASName field's value. func (s *Network) SetASName(v string) *Network { s.ASName = &v return s } // SetASNumber sets the ASNumber field's value. func (s *Network) SetASNumber(v int64) *Network { s.ASNumber = &v return s } // Information about the network impairment for a specific network measured // by Amazon CloudWatch Internet Monitor. type NetworkImpairment struct { _ struct{} `type:"structure"` // The combination of the Autonomous System Number (ASN) of the network and // the name of the network. // // AsPath is a required field AsPath []*Network `type:"list" required:"true"` // The type of network impairment. // // NetworkEventType is a required field NetworkEventType *string `type:"string" required:"true" enum:"TriangulationEventType"` // The networks that could be impacted by a network impairment event. // // Networks is a required field Networks []*Network `type:"list" 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 NetworkImpairment) 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 NetworkImpairment) GoString() string { return s.String() } // SetAsPath sets the AsPath field's value. func (s *NetworkImpairment) SetAsPath(v []*Network) *NetworkImpairment { s.AsPath = v return s } // SetNetworkEventType sets the NetworkEventType field's value. func (s *NetworkImpairment) SetNetworkEventType(v string) *NetworkImpairment { s.NetworkEventType = &v return s } // SetNetworks sets the Networks field's value. func (s *NetworkImpairment) SetNetworks(v []*Network) *NetworkImpairment { s.Networks = v return s } // The request specifies something that doesn't exist. type NotFoundException 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 NotFoundException) 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 NotFoundException) GoString() string { return s.String() } func newErrorNotFoundException(v protocol.ResponseMetadata) error { return &NotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *NotFoundException) Code() string { return "NotFoundException" } // Message returns the exception's message. func (s *NotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *NotFoundException) OrigErr() error { return nil } func (s *NotFoundException) 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 *NotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } // Amazon CloudWatch Internet Monitor calculates measurements about the performance // for your application's internet traffic between client locations and Amazon // Web Services. Amazon Web Services has substantial historical data about internet // performance and availability between Amazon Web Services services and different // network providers and geographies. By applying statistical analysis to the // data, Internet Monitor can detect when the performance and availability for // your application has dropped, compared to an estimated baseline that's already // calculated. To make it easier to see those drops, we report that information // to you in the form of health scores: a performance score and an availability // score. // // Performance in Internet Monitor represents the estimated percentage of traffic // that is not seeing a performance drop. For example, a performance score of // 99% for an end user and service location pair is equivalent to 1% of the // traffic experiencing a performance drop for that pair. // // For more information, see How Internet Monitor calculates performance and // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. type PerformanceMeasurement struct { _ struct{} `type:"structure"` // Experience scores, or health scores, are calculated for different geographic // and network provider combinations (that is, different granularities) and // also totaled into global scores. If you view performance or availability // scores without filtering for any specific geography or service provider, // Amazon CloudWatch Internet Monitor provides global health scores. // // The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide // includes detailed information about how Internet Monitor calculates health // scores, including performance and availability scores, and when it creates // and resolves health events. For more information, see How Amazon Web Services // calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. ExperienceScore *float64 `type:"double"` // How much performance impact was caused by a health event at a client location. // For performance, this is the percentage of how much latency increased during // the event compared to typical performance for traffic, from this client location // to an Amazon Web Services location, using a specific client network. // // For more information, see When Amazon Web Services creates and resolves health // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. PercentOfClientLocationImpacted *float64 `type:"double"` // The impact on total traffic that a health event has, in increased latency // or reduced availability. This is the percentage of how much latency has increased // or availability has decreased during the event, compared to what is typical // for traffic from this client location to the Amazon Web Services location // using this client network. // // For more information, see When Amazon Web Services creates and resolves health // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. PercentOfTotalTrafficImpacted *float64 `type:"double"` // This is the percentage of how much round-trip time increased during the event // compared to typical round-trip time for your application for traffic. // // For more information, see When Amazon Web Services creates and resolves health // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. RoundTripTime *RoundTripTime `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 PerformanceMeasurement) 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 PerformanceMeasurement) GoString() string { return s.String() } // SetExperienceScore sets the ExperienceScore field's value. func (s *PerformanceMeasurement) SetExperienceScore(v float64) *PerformanceMeasurement { s.ExperienceScore = &v return s } // SetPercentOfClientLocationImpacted sets the PercentOfClientLocationImpacted field's value. func (s *PerformanceMeasurement) SetPercentOfClientLocationImpacted(v float64) *PerformanceMeasurement { s.PercentOfClientLocationImpacted = &v return s } // SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. func (s *PerformanceMeasurement) SetPercentOfTotalTrafficImpacted(v float64) *PerformanceMeasurement { s.PercentOfTotalTrafficImpacted = &v return s } // SetRoundTripTime sets the RoundTripTime field's value. func (s *PerformanceMeasurement) SetRoundTripTime(v *RoundTripTime) *PerformanceMeasurement { s.RoundTripTime = v return s } // Defines a field to query for your application's Amazon CloudWatch Internet // Monitor data. You create a data repository by running a query of a specific // type. Each QueryType includes a specific set of fields and datatypes to retrieve // data for. type QueryField struct { _ struct{} `type:"structure"` // The name of a field to query your application's Amazon CloudWatch Internet // Monitor data for, such as availability_score. Name *string `type:"string"` // The data type for a query field, which must correspond to the field you're // defining for QueryField. For example, if the query field name is availability_score, // the data type is float. Type *string `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 QueryField) 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 QueryField) GoString() string { return s.String() } // SetName sets the Name field's value. func (s *QueryField) SetName(v string) *QueryField { s.Name = &v return s } // SetType sets the Type field's value. func (s *QueryField) SetType(v string) *QueryField { s.Type = &v return s } // The request specifies a resource that doesn't exist. type ResourceNotFoundException 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 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", s.Code(), s.Message()) } // 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 } // Round-trip time (RTT) is how long it takes for a request from the user to // return a response to the user. Amazon CloudWatch Internet Monitor calculates // RTT at different percentiles: p50, p90, and p95. type RoundTripTime struct { _ struct{} `type:"structure"` // RTT at the 50th percentile (p50). P50 *float64 `type:"double"` // RTT at the 90th percentile (p90). P90 *float64 `type:"double"` // RTT at the 95th percentile (p95). P95 *float64 `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 RoundTripTime) 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 RoundTripTime) GoString() string { return s.String() } // SetP50 sets the P50 field's value. func (s *RoundTripTime) SetP50(v float64) *RoundTripTime { s.P50 = &v return s } // SetP90 sets the P90 field's value. func (s *RoundTripTime) SetP90(v float64) *RoundTripTime { s.P90 = &v return s } // SetP95 sets the P95 field's value. func (s *RoundTripTime) SetP95(v float64) *RoundTripTime { s.P95 = &v return s } // The configuration for publishing Amazon CloudWatch Internet Monitor internet // measurements to Amazon S3. The configuration includes the bucket name and // (optionally) prefix for the S3 bucket to store the measurements, and the // delivery status. The delivery status is ENABLED or DISABLED, depending on // whether you choose to deliver internet measurements to S3 logs. type S3Config struct { _ struct{} `type:"structure"` // The Amazon S3 bucket name. BucketName *string `min:"3" type:"string"` // The Amazon S3 bucket prefix. BucketPrefix *string `type:"string"` // The status of publishing Internet Monitor internet measurements to an Amazon // S3 bucket. LogDeliveryStatus *string `type:"string" enum:"LogDeliveryStatus"` } // 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 S3Config) 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 S3Config) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *S3Config) Validate() error { invalidParams := request.ErrInvalidParams{Context: "S3Config"} if s.BucketName != nil && len(*s.BucketName) < 3 { invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBucketName sets the BucketName field's value. func (s *S3Config) SetBucketName(v string) *S3Config { s.BucketName = &v return s } // SetBucketPrefix sets the BucketPrefix field's value. func (s *S3Config) SetBucketPrefix(v string) *S3Config { s.BucketPrefix = &v return s } // SetLogDeliveryStatus sets the LogDeliveryStatus field's value. func (s *S3Config) SetLogDeliveryStatus(v string) *S3Config { s.LogDeliveryStatus = &v return s } type StartQueryInput struct { _ struct{} `type:"structure"` // The timestamp that is the end of the period that you want to retrieve data // for with your query. // // EndTime is a required field EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The FilterParameters field that you use with Amazon CloudWatch Internet Monitor // queries is a string the defines how you want a query to be filtered. The // filter parameters that you can specify depend on the query type, since each // query type returns a different set of Internet Monitor data. // // For more information about specifying filter parameters, see Using the Amazon // CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) // in the Amazon CloudWatch Internet Monitor User Guide. FilterParameters []*FilterParameter `type:"list"` // The account ID for an account that you've set up cross-account sharing for // in Amazon CloudWatch Internet Monitor. You configure cross-account sharing // by using Amazon CloudWatch Observability Access Manager. For more information, // see Internet Monitor cross-account observability (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) // in the Amazon CloudWatch Internet Monitor User Guide. LinkedAccountId *string `min:"12" type:"string"` // The name of the monitor to query. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The type of query to run. The following are the three types of queries that // you can run using the Internet Monitor query interface: // // * MEASUREMENTS: Provides availability score, performance score, total // traffic, and round-trip times, at 5 minute intervals. // // * TOP_LOCATIONS: Provides availability score, performance score, total // traffic, and time to first byte (TTFB) information, for the top location // and ASN combinations that you're monitoring, by traffic volume. // // * TOP_LOCATION_DETAILS: Provides TTFB for Amazon CloudFront, your current // configuration, and the best performing EC2 configuration, at 1 hour intervals. // // For lists of the fields returned with each query type and more information // about how each type of query is performed, see Using the Amazon CloudWatch // Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) // in the Amazon CloudWatch Internet Monitor User Guide. // // QueryType is a required field QueryType *string `type:"string" required:"true" enum:"QueryType"` // The timestamp that is the beginning of the period that you want to retrieve // data for with your query. // // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" 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 StartQueryInput) 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 StartQueryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartQueryInput"} if s.EndTime == nil { invalidParams.Add(request.NewErrParamRequired("EndTime")) } if s.LinkedAccountId != nil && len(*s.LinkedAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("LinkedAccountId", 12)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.QueryType == nil { invalidParams.Add(request.NewErrParamRequired("QueryType")) } if s.StartTime == nil { invalidParams.Add(request.NewErrParamRequired("StartTime")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEndTime sets the EndTime field's value. func (s *StartQueryInput) SetEndTime(v time.Time) *StartQueryInput { s.EndTime = &v return s } // SetFilterParameters sets the FilterParameters field's value. func (s *StartQueryInput) SetFilterParameters(v []*FilterParameter) *StartQueryInput { s.FilterParameters = v return s } // SetLinkedAccountId sets the LinkedAccountId field's value. func (s *StartQueryInput) SetLinkedAccountId(v string) *StartQueryInput { s.LinkedAccountId = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *StartQueryInput) SetMonitorName(v string) *StartQueryInput { s.MonitorName = &v return s } // SetQueryType sets the QueryType field's value. func (s *StartQueryInput) SetQueryType(v string) *StartQueryInput { s.QueryType = &v return s } // SetStartTime sets the StartTime field's value. func (s *StartQueryInput) SetStartTime(v time.Time) *StartQueryInput { s.StartTime = &v return s } type StartQueryOutput struct { _ struct{} `type:"structure"` // The internally-generated identifier of a specific query. // // QueryId is a required field QueryId *string `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 StartQueryOutput) 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 StartQueryOutput) GoString() string { return s.String() } // SetQueryId sets the QueryId field's value. func (s *StartQueryOutput) SetQueryId(v string) *StartQueryOutput { s.QueryId = &v return s } type StopQueryInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The ID of the query that you want to stop. A QueryId is an internally-generated // identifier for a specific query. // // QueryId is a required field QueryId *string `location:"uri" locationName:"QueryId" 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 StopQueryInput) 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 StopQueryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StopQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StopQueryInput"} if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.QueryId == nil { invalidParams.Add(request.NewErrParamRequired("QueryId")) } if s.QueryId != nil && len(*s.QueryId) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMonitorName sets the MonitorName field's value. func (s *StopQueryInput) SetMonitorName(v string) *StopQueryInput { s.MonitorName = &v return s } // SetQueryId sets the QueryId field's value. func (s *StopQueryInput) SetQueryId(v string) *StopQueryInput { s.QueryId = &v return s } type StopQueryOutput 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 StopQueryOutput) 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 StopQueryOutput) GoString() string { return s.String() } type TagResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) for a tag that you add to a resource. Tags // are supported only for monitors in Amazon CloudWatch Internet Monitor. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` // Tags that you add to a resource. You can add a maximum of 50 tags in Internet // Monitor. // // Tags is a required field Tags map[string]*string `type:"map" 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 TagResourceInput) 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 TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { s.ResourceArn = &v return s } // SetTags sets the Tags field's value. func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { s.Tags = v return s } type TagResourceOutput 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 TagResourceOutput) 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 TagResourceOutput) GoString() string { return s.String() } // 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 } // There were too many requests. type TooManyRequestsException 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 TooManyRequestsException) 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 TooManyRequestsException) GoString() string { return s.String() } func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { return &TooManyRequestsException{ RespMetadata: v, } } // Code returns the exception type name. func (s *TooManyRequestsException) Code() string { return "TooManyRequestsException" } // Message returns the exception's message. func (s *TooManyRequestsException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *TooManyRequestsException) OrigErr() error { return nil } func (s *TooManyRequestsException) 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 *TooManyRequestsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The Amazon Resource Name (ARN) for a tag you remove a resource from. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` // Tag keys that you remove from a resource. // // TagKeys is a required field TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" 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 UntagResourceInput) 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 UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } if s.TagKeys == nil { invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { s.ResourceArn = &v return s } // SetTagKeys sets the TagKeys field's value. func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { s.TagKeys = v return s } type UntagResourceOutput 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 UntagResourceOutput) 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 UntagResourceOutput) GoString() string { return s.String() } type UpdateMonitorInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive string of up to 64 ASCII characters that you specify // to make an idempotent API request. You should not reuse the same client token // for other API requests. ClientToken *string `type:"string" idempotencyToken:"true"` // The list of health score thresholds. A threshold percentage for health scores, // along with other configuration information, determines when Internet Monitor // creates a health event when there's an internet issue that affects your application // end users. // // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. HealthEventsConfig *HealthEventsConfig `type:"structure"` // Publish internet measurements for Internet Monitor to another location, such // as an Amazon S3 bucket. The measurements are also published to Amazon CloudWatch // Logs. InternetMeasurementsLogDelivery *InternetMeasurementsLogDelivery `type:"structure"` // The maximum number of city-networks to monitor for your application. A city-network // is the location (city) where clients access your application resources from // and the ASN or network provider, such as an internet service provider (ISP), // that clients access the resources through. Setting this limit can help control // billing costs. MaxCityNetworksToMonitor *int64 `min:"1" type:"integer"` // The name of the monitor. // // MonitorName is a required field MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` // The resources to include in a monitor, which you provide as a set of Amazon // Resource Names (ARNs). Resources can be VPCs, NLBs, Amazon CloudFront distributions, // or Amazon WorkSpaces directories. // // You can add a combination of VPCs and CloudFront distributions, or you can // add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces // directories together with any other resources. // // If you add only Amazon Virtual Private Clouds resources, at least one VPC // must have an Internet Gateway attached to it, to make sure that it has internet // connectivity. ResourcesToAdd []*string `type:"list"` // The resources to remove from a monitor, which you provide as a set of Amazon // Resource Names (ARNs). ResourcesToRemove []*string `type:"list"` // The status for a monitor. The accepted values for Status with the UpdateMonitor // API call are the following: ACTIVE and INACTIVE. The following values are // not accepted: PENDING, and ERROR. Status *string `type:"string" enum:"MonitorConfigState"` // The percentage of the internet-facing traffic for your application that you // want to monitor with this monitor. If you set a city-networks maximum, that // limit overrides the traffic percentage that you set. // // To learn more, see Choosing an application traffic percentage to monitor // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMTrafficPercentage.html) // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User // Guide. TrafficPercentageToMonitor *int64 `min:"1" 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 UpdateMonitorInput) 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 UpdateMonitorInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateMonitorInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateMonitorInput"} if s.MaxCityNetworksToMonitor != nil && *s.MaxCityNetworksToMonitor < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxCityNetworksToMonitor", 1)) } if s.MonitorName == nil { invalidParams.Add(request.NewErrParamRequired("MonitorName")) } if s.MonitorName != nil && len(*s.MonitorName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) } if s.TrafficPercentageToMonitor != nil && *s.TrafficPercentageToMonitor < 1 { invalidParams.Add(request.NewErrParamMinValue("TrafficPercentageToMonitor", 1)) } if s.InternetMeasurementsLogDelivery != nil { if err := s.InternetMeasurementsLogDelivery.Validate(); err != nil { invalidParams.AddNested("InternetMeasurementsLogDelivery", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateMonitorInput) SetClientToken(v string) *UpdateMonitorInput { s.ClientToken = &v return s } // SetHealthEventsConfig sets the HealthEventsConfig field's value. func (s *UpdateMonitorInput) SetHealthEventsConfig(v *HealthEventsConfig) *UpdateMonitorInput { s.HealthEventsConfig = v return s } // SetInternetMeasurementsLogDelivery sets the InternetMeasurementsLogDelivery field's value. func (s *UpdateMonitorInput) SetInternetMeasurementsLogDelivery(v *InternetMeasurementsLogDelivery) *UpdateMonitorInput { s.InternetMeasurementsLogDelivery = v return s } // SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. func (s *UpdateMonitorInput) SetMaxCityNetworksToMonitor(v int64) *UpdateMonitorInput { s.MaxCityNetworksToMonitor = &v return s } // SetMonitorName sets the MonitorName field's value. func (s *UpdateMonitorInput) SetMonitorName(v string) *UpdateMonitorInput { s.MonitorName = &v return s } // SetResourcesToAdd sets the ResourcesToAdd field's value. func (s *UpdateMonitorInput) SetResourcesToAdd(v []*string) *UpdateMonitorInput { s.ResourcesToAdd = v return s } // SetResourcesToRemove sets the ResourcesToRemove field's value. func (s *UpdateMonitorInput) SetResourcesToRemove(v []*string) *UpdateMonitorInput { s.ResourcesToRemove = v return s } // SetStatus sets the Status field's value. func (s *UpdateMonitorInput) SetStatus(v string) *UpdateMonitorInput { s.Status = &v return s } // SetTrafficPercentageToMonitor sets the TrafficPercentageToMonitor field's value. func (s *UpdateMonitorInput) SetTrafficPercentageToMonitor(v int64) *UpdateMonitorInput { s.TrafficPercentageToMonitor = &v return s } type UpdateMonitorOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the monitor. // // MonitorArn is a required field MonitorArn *string `min:"20" type:"string" required:"true"` // The status of a monitor. // // Status is a required field Status *string `type:"string" required:"true" enum:"MonitorConfigState"` } // 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 UpdateMonitorOutput) 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 UpdateMonitorOutput) GoString() string { return s.String() } // SetMonitorArn sets the MonitorArn field's value. func (s *UpdateMonitorOutput) SetMonitorArn(v string) *UpdateMonitorOutput { s.MonitorArn = &v return s } // SetStatus sets the Status field's value. func (s *UpdateMonitorOutput) SetStatus(v string) *UpdateMonitorOutput { s.Status = &v return s } // Invalid request. type ValidationException 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 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", s.Code(), s.Message()) } // 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 } const ( // HealthEventImpactTypeAvailability is a HealthEventImpactType enum value HealthEventImpactTypeAvailability = "AVAILABILITY" // HealthEventImpactTypePerformance is a HealthEventImpactType enum value HealthEventImpactTypePerformance = "PERFORMANCE" // HealthEventImpactTypeLocalAvailability is a HealthEventImpactType enum value HealthEventImpactTypeLocalAvailability = "LOCAL_AVAILABILITY" // HealthEventImpactTypeLocalPerformance is a HealthEventImpactType enum value HealthEventImpactTypeLocalPerformance = "LOCAL_PERFORMANCE" ) // HealthEventImpactType_Values returns all elements of the HealthEventImpactType enum func HealthEventImpactType_Values() []string { return []string{ HealthEventImpactTypeAvailability, HealthEventImpactTypePerformance, HealthEventImpactTypeLocalAvailability, HealthEventImpactTypeLocalPerformance, } } const ( // HealthEventStatusActive is a HealthEventStatus enum value HealthEventStatusActive = "ACTIVE" // HealthEventStatusResolved is a HealthEventStatus enum value HealthEventStatusResolved = "RESOLVED" ) // HealthEventStatus_Values returns all elements of the HealthEventStatus enum func HealthEventStatus_Values() []string { return []string{ HealthEventStatusActive, HealthEventStatusResolved, } } const ( // InternetEventStatusActive is a InternetEventStatus enum value InternetEventStatusActive = "ACTIVE" // InternetEventStatusResolved is a InternetEventStatus enum value InternetEventStatusResolved = "RESOLVED" ) // InternetEventStatus_Values returns all elements of the InternetEventStatus enum func InternetEventStatus_Values() []string { return []string{ InternetEventStatusActive, InternetEventStatusResolved, } } const ( // InternetEventTypeAvailability is a InternetEventType enum value InternetEventTypeAvailability = "AVAILABILITY" // InternetEventTypePerformance is a InternetEventType enum value InternetEventTypePerformance = "PERFORMANCE" ) // InternetEventType_Values returns all elements of the InternetEventType enum func InternetEventType_Values() []string { return []string{ InternetEventTypeAvailability, InternetEventTypePerformance, } } const ( // LocalHealthEventsConfigStatusEnabled is a LocalHealthEventsConfigStatus enum value LocalHealthEventsConfigStatusEnabled = "ENABLED" // LocalHealthEventsConfigStatusDisabled is a LocalHealthEventsConfigStatus enum value LocalHealthEventsConfigStatusDisabled = "DISABLED" ) // LocalHealthEventsConfigStatus_Values returns all elements of the LocalHealthEventsConfigStatus enum func LocalHealthEventsConfigStatus_Values() []string { return []string{ LocalHealthEventsConfigStatusEnabled, LocalHealthEventsConfigStatusDisabled, } } const ( // LogDeliveryStatusEnabled is a LogDeliveryStatus enum value LogDeliveryStatusEnabled = "ENABLED" // LogDeliveryStatusDisabled is a LogDeliveryStatus enum value LogDeliveryStatusDisabled = "DISABLED" ) // LogDeliveryStatus_Values returns all elements of the LogDeliveryStatus enum func LogDeliveryStatus_Values() []string { return []string{ LogDeliveryStatusEnabled, LogDeliveryStatusDisabled, } } const ( // MonitorConfigStatePending is a MonitorConfigState enum value MonitorConfigStatePending = "PENDING" // MonitorConfigStateActive is a MonitorConfigState enum value MonitorConfigStateActive = "ACTIVE" // MonitorConfigStateInactive is a MonitorConfigState enum value MonitorConfigStateInactive = "INACTIVE" // MonitorConfigStateError is a MonitorConfigState enum value MonitorConfigStateError = "ERROR" ) // MonitorConfigState_Values returns all elements of the MonitorConfigState enum func MonitorConfigState_Values() []string { return []string{ MonitorConfigStatePending, MonitorConfigStateActive, MonitorConfigStateInactive, MonitorConfigStateError, } } const ( // MonitorProcessingStatusCodeOk is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeOk = "OK" // MonitorProcessingStatusCodeInactive is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeInactive = "INACTIVE" // MonitorProcessingStatusCodeCollectingData is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeCollectingData = "COLLECTING_DATA" // MonitorProcessingStatusCodeInsufficientData is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeInsufficientData = "INSUFFICIENT_DATA" // MonitorProcessingStatusCodeFaultService is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeFaultService = "FAULT_SERVICE" // MonitorProcessingStatusCodeFaultAccessCloudwatch is a MonitorProcessingStatusCode enum value MonitorProcessingStatusCodeFaultAccessCloudwatch = "FAULT_ACCESS_CLOUDWATCH" ) // MonitorProcessingStatusCode_Values returns all elements of the MonitorProcessingStatusCode enum func MonitorProcessingStatusCode_Values() []string { return []string{ MonitorProcessingStatusCodeOk, MonitorProcessingStatusCodeInactive, MonitorProcessingStatusCodeCollectingData, MonitorProcessingStatusCodeInsufficientData, MonitorProcessingStatusCodeFaultService, MonitorProcessingStatusCodeFaultAccessCloudwatch, } } const ( // OperatorEquals is a Operator enum value OperatorEquals = "EQUALS" // OperatorNotEquals is a Operator enum value OperatorNotEquals = "NOT_EQUALS" ) // Operator_Values returns all elements of the Operator enum func Operator_Values() []string { return []string{ OperatorEquals, OperatorNotEquals, } } const ( // QueryStatusQueued is a QueryStatus enum value QueryStatusQueued = "QUEUED" // QueryStatusRunning is a QueryStatus enum value QueryStatusRunning = "RUNNING" // QueryStatusSucceeded is a QueryStatus enum value QueryStatusSucceeded = "SUCCEEDED" // QueryStatusFailed is a QueryStatus enum value QueryStatusFailed = "FAILED" // QueryStatusCanceled is a QueryStatus enum value QueryStatusCanceled = "CANCELED" ) // QueryStatus_Values returns all elements of the QueryStatus enum func QueryStatus_Values() []string { return []string{ QueryStatusQueued, QueryStatusRunning, QueryStatusSucceeded, QueryStatusFailed, QueryStatusCanceled, } } const ( // QueryTypeMeasurements is a QueryType enum value QueryTypeMeasurements = "MEASUREMENTS" // QueryTypeTopLocations is a QueryType enum value QueryTypeTopLocations = "TOP_LOCATIONS" // QueryTypeTopLocationDetails is a QueryType enum value QueryTypeTopLocationDetails = "TOP_LOCATION_DETAILS" ) // QueryType_Values returns all elements of the QueryType enum func QueryType_Values() []string { return []string{ QueryTypeMeasurements, QueryTypeTopLocations, QueryTypeTopLocationDetails, } } const ( // TriangulationEventTypeAws is a TriangulationEventType enum value TriangulationEventTypeAws = "AWS" // TriangulationEventTypeInternet is a TriangulationEventType enum value TriangulationEventTypeInternet = "Internet" ) // TriangulationEventType_Values returns all elements of the TriangulationEventType enum func TriangulationEventType_Values() []string { return []string{ TriangulationEventTypeAws, TriangulationEventTypeInternet, } }