2017-01-25 18:50:26 +01:00
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
// Package configservice provides a client for AWS Config.
package configservice
import (
"fmt"
"time"
"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/jsonrpc"
)
const opDeleteConfigRule = "DeleteConfigRule"
// DeleteConfigRuleRequest generates a "aws/request.Request" representing the
// client's request for the DeleteConfigRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeleteConfigRule for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteConfigRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteConfigRuleRequest method.
// req, resp := client.DeleteConfigRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
func ( c * ConfigService ) DeleteConfigRuleRequest ( input * DeleteConfigRuleInput ) ( req * request . Request , output * DeleteConfigRuleOutput ) {
op := & request . Operation {
Name : opDeleteConfigRule ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeleteConfigRuleInput { }
}
output = & DeleteConfigRuleOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// DeleteConfigRule API operation for AWS Config.
//
// Deletes the specified AWS Config rule and all of its evaluation results.
//
// AWS Config sets the state of a rule to DELETING until the deletion is complete.
// You cannot update a rule while it is in this state. If you make a PutConfigRule
// or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
//
// You can check the state of a rule by using the DescribeConfigRules request.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DeleteConfigRule for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeResourceInUseException "ResourceInUseException"
2017-01-25 18:50:26 +01:00
// The rule is currently being deleted or the rule is deleting your evaluation
// results. Try your request again later.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
func ( c * ConfigService ) DeleteConfigRule ( input * DeleteConfigRuleInput ) ( * DeleteConfigRuleOutput , error ) {
req , out := c . DeleteConfigRuleRequest ( input )
err := req . Send ( )
return out , err
}
const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
// DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
// client's request for the DeleteConfigurationRecorder operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeleteConfigurationRecorder for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteConfigurationRecorder method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteConfigurationRecorderRequest method.
// req, resp := client.DeleteConfigurationRecorderRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
func ( c * ConfigService ) DeleteConfigurationRecorderRequest ( input * DeleteConfigurationRecorderInput ) ( req * request . Request , output * DeleteConfigurationRecorderOutput ) {
op := & request . Operation {
Name : opDeleteConfigurationRecorder ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeleteConfigurationRecorderInput { }
}
output = & DeleteConfigurationRecorderOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// DeleteConfigurationRecorder API operation for AWS Config.
//
// Deletes the configuration recorder.
//
// After the configuration recorder is deleted, AWS Config will not record resource
// configuration changes until you create a new configuration recorder.
//
// This action does not delete the configuration information that was previously
// recorded. You will be able to access the previously recorded information
// by using the GetResourceConfigHistory action, but you will not be able to
// access this information in the AWS Config console until you create a new
// configuration recorder.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DeleteConfigurationRecorder for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigurationRecorderException "NoSuchConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// You have specified a configuration recorder that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
func ( c * ConfigService ) DeleteConfigurationRecorder ( input * DeleteConfigurationRecorderInput ) ( * DeleteConfigurationRecorderOutput , error ) {
req , out := c . DeleteConfigurationRecorderRequest ( input )
err := req . Send ( )
return out , err
}
const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
// DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
// client's request for the DeleteDeliveryChannel operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeleteDeliveryChannel for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteDeliveryChannel method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteDeliveryChannelRequest method.
// req, resp := client.DeleteDeliveryChannelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
func ( c * ConfigService ) DeleteDeliveryChannelRequest ( input * DeleteDeliveryChannelInput ) ( req * request . Request , output * DeleteDeliveryChannelOutput ) {
op := & request . Operation {
Name : opDeleteDeliveryChannel ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeleteDeliveryChannelInput { }
}
output = & DeleteDeliveryChannelOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// DeleteDeliveryChannel API operation for AWS Config.
//
// Deletes the delivery channel.
//
// Before you can delete the delivery channel, you must stop the configuration
// recorder by using the StopConfigurationRecorder action.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DeleteDeliveryChannel for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchDeliveryChannelException "NoSuchDeliveryChannelException"
2017-01-25 18:50:26 +01:00
// You have specified a delivery channel that does not exist.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeLastDeliveryChannelDeleteFailedException "LastDeliveryChannelDeleteFailedException"
2017-01-25 18:50:26 +01:00
// You cannot delete the delivery channel you specified because the configuration
// recorder is running.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
func ( c * ConfigService ) DeleteDeliveryChannel ( input * DeleteDeliveryChannelInput ) ( * DeleteDeliveryChannelOutput , error ) {
req , out := c . DeleteDeliveryChannelRequest ( input )
err := req . Send ( )
return out , err
}
const opDeleteEvaluationResults = "DeleteEvaluationResults"
// DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteEvaluationResults operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeleteEvaluationResults for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteEvaluationResults method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteEvaluationResultsRequest method.
// req, resp := client.DeleteEvaluationResultsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
func ( c * ConfigService ) DeleteEvaluationResultsRequest ( input * DeleteEvaluationResultsInput ) ( req * request . Request , output * DeleteEvaluationResultsOutput ) {
op := & request . Operation {
Name : opDeleteEvaluationResults ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeleteEvaluationResultsInput { }
}
output = & DeleteEvaluationResultsOutput { }
req = c . newRequest ( op , input , output )
return
}
// DeleteEvaluationResults API operation for AWS Config.
//
// Deletes the evaluation results for the specified Config rule. You can specify
// one Config rule per request. After you delete the evaluation results, you
// can call the StartConfigRulesEvaluation API to start evaluating your AWS
// resources against the rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DeleteEvaluationResults for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeResourceInUseException "ResourceInUseException"
2017-01-25 18:50:26 +01:00
// The rule is currently being deleted or the rule is deleting your evaluation
// results. Try your request again later.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
func ( c * ConfigService ) DeleteEvaluationResults ( input * DeleteEvaluationResultsInput ) ( * DeleteEvaluationResultsOutput , error ) {
req , out := c . DeleteEvaluationResultsRequest ( input )
err := req . Send ( )
return out , err
}
const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
// DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
// client's request for the DeliverConfigSnapshot operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DeliverConfigSnapshot for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeliverConfigSnapshot method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeliverConfigSnapshotRequest method.
// req, resp := client.DeliverConfigSnapshotRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
func ( c * ConfigService ) DeliverConfigSnapshotRequest ( input * DeliverConfigSnapshotInput ) ( req * request . Request , output * DeliverConfigSnapshotOutput ) {
op := & request . Operation {
Name : opDeliverConfigSnapshot ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeliverConfigSnapshotInput { }
}
output = & DeliverConfigSnapshotOutput { }
req = c . newRequest ( op , input , output )
return
}
// DeliverConfigSnapshot API operation for AWS Config.
//
// Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
// the specified delivery channel. After the delivery has started, AWS Config
// sends following notifications using an Amazon SNS topic that you have specified.
//
// * Notification of starting the delivery.
//
// * Notification of delivery completed, if the delivery was successfully
// completed.
//
// * Notification of delivery failure, if the delivery failed to complete.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DeliverConfigSnapshot for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchDeliveryChannelException "NoSuchDeliveryChannelException"
2017-01-25 18:50:26 +01:00
// You have specified a delivery channel that does not exist.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There are no configuration recorders available to provide the role needed
// to describe your resources. Create a configuration recorder.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoRunningConfigurationRecorderException "NoRunningConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There is no configuration recorder running.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
func ( c * ConfigService ) DeliverConfigSnapshot ( input * DeliverConfigSnapshotInput ) ( * DeliverConfigSnapshotOutput , error ) {
req , out := c . DeliverConfigSnapshotRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
// DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
// client's request for the DescribeComplianceByConfigRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeComplianceByConfigRule for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeComplianceByConfigRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
// req, resp := client.DescribeComplianceByConfigRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
func ( c * ConfigService ) DescribeComplianceByConfigRuleRequest ( input * DescribeComplianceByConfigRuleInput ) ( req * request . Request , output * DescribeComplianceByConfigRuleOutput ) {
op := & request . Operation {
Name : opDescribeComplianceByConfigRule ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeComplianceByConfigRuleInput { }
}
output = & DescribeComplianceByConfigRuleOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeComplianceByConfigRule API operation for AWS Config.
//
// Indicates whether the specified AWS Config rules are compliant. If a rule
// is noncompliant, this action returns the number of AWS resources that do
// not comply with the rule.
//
// A rule is compliant if all of the evaluated resources comply with it, and
// it is noncompliant if any of these resources do not comply.
//
// If AWS Config has no current evaluation results for the rule, it returns
// INSUFFICIENT_DATA. This result might indicate one of the following conditions:
//
// * AWS Config has never invoked an evaluation for the rule. To check whether
// it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
// and LastFailedInvocationTime.
//
// * The rule's AWS Lambda function is failing to send evaluation results
// to AWS Config. Verify that the role that you assigned to your configuration
// recorder includes the config:PutEvaluations permission. If the rule is
// a custom rule, verify that the AWS Lambda execution role includes the
// config:PutEvaluations permission.
//
// * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
// results. This can occur if the resources were deleted or removed from
// the rule's scope.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeComplianceByConfigRule for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
func ( c * ConfigService ) DescribeComplianceByConfigRule ( input * DescribeComplianceByConfigRuleInput ) ( * DescribeComplianceByConfigRuleOutput , error ) {
req , out := c . DescribeComplianceByConfigRuleRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeComplianceByResource = "DescribeComplianceByResource"
// DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
// client's request for the DescribeComplianceByResource operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeComplianceByResource for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeComplianceByResource method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeComplianceByResourceRequest method.
// req, resp := client.DescribeComplianceByResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
func ( c * ConfigService ) DescribeComplianceByResourceRequest ( input * DescribeComplianceByResourceInput ) ( req * request . Request , output * DescribeComplianceByResourceOutput ) {
op := & request . Operation {
Name : opDescribeComplianceByResource ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeComplianceByResourceInput { }
}
output = & DescribeComplianceByResourceOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeComplianceByResource API operation for AWS Config.
//
// Indicates whether the specified AWS resources are compliant. If a resource
// is noncompliant, this action returns the number of AWS Config rules that
// the resource does not comply with.
//
// A resource is compliant if it complies with all the AWS Config rules that
// evaluate it. It is noncompliant if it does not comply with one or more of
// these rules.
//
// If AWS Config has no current evaluation results for the resource, it returns
// INSUFFICIENT_DATA. This result might indicate one of the following conditions
// about the rules that evaluate the resource:
//
// * AWS Config has never invoked an evaluation for the rule. To check whether
// it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
// and LastFailedInvocationTime.
//
// * The rule's AWS Lambda function is failing to send evaluation results
// to AWS Config. Verify that the role that you assigned to your configuration
// recorder includes the config:PutEvaluations permission. If the rule is
// a custom rule, verify that the AWS Lambda execution role includes the
// config:PutEvaluations permission.
//
// * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
// results. This can occur if the resources were deleted or removed from
// the rule's scope.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeComplianceByResource for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
func ( c * ConfigService ) DescribeComplianceByResource ( input * DescribeComplianceByResourceInput ) ( * DescribeComplianceByResourceOutput , error ) {
req , out := c . DescribeComplianceByResourceRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
// DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
// client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeConfigRuleEvaluationStatus for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeConfigRuleEvaluationStatus method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
// req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
func ( c * ConfigService ) DescribeConfigRuleEvaluationStatusRequest ( input * DescribeConfigRuleEvaluationStatusInput ) ( req * request . Request , output * DescribeConfigRuleEvaluationStatusOutput ) {
op := & request . Operation {
Name : opDescribeConfigRuleEvaluationStatus ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeConfigRuleEvaluationStatusInput { }
}
output = & DescribeConfigRuleEvaluationStatusOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeConfigRuleEvaluationStatus API operation for AWS Config.
//
// Returns status information for each of your AWS managed Config rules. The
// status includes information such as the last time AWS Config invoked the
// rule, the last time AWS Config failed to invoke the rule, and the related
// error for the last failure.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeConfigRuleEvaluationStatus for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
func ( c * ConfigService ) DescribeConfigRuleEvaluationStatus ( input * DescribeConfigRuleEvaluationStatusInput ) ( * DescribeConfigRuleEvaluationStatusOutput , error ) {
req , out := c . DescribeConfigRuleEvaluationStatusRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeConfigRules = "DescribeConfigRules"
// DescribeConfigRulesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeConfigRules operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeConfigRules for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeConfigRules method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeConfigRulesRequest method.
// req, resp := client.DescribeConfigRulesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
func ( c * ConfigService ) DescribeConfigRulesRequest ( input * DescribeConfigRulesInput ) ( req * request . Request , output * DescribeConfigRulesOutput ) {
op := & request . Operation {
Name : opDescribeConfigRules ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeConfigRulesInput { }
}
output = & DescribeConfigRulesOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeConfigRules API operation for AWS Config.
//
// Returns details about your AWS Config rules.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeConfigRules for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
func ( c * ConfigService ) DescribeConfigRules ( input * DescribeConfigRulesInput ) ( * DescribeConfigRulesOutput , error ) {
req , out := c . DescribeConfigRulesRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
// DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
// client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeConfigurationRecorderStatus for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeConfigurationRecorderStatus method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
// req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
func ( c * ConfigService ) DescribeConfigurationRecorderStatusRequest ( input * DescribeConfigurationRecorderStatusInput ) ( req * request . Request , output * DescribeConfigurationRecorderStatusOutput ) {
op := & request . Operation {
Name : opDescribeConfigurationRecorderStatus ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeConfigurationRecorderStatusInput { }
}
output = & DescribeConfigurationRecorderStatusOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeConfigurationRecorderStatus API operation for AWS Config.
//
// Returns the current status of the specified configuration recorder. If a
// configuration recorder is not specified, this action returns the status of
// all configuration recorder associated with the account.
//
// Currently, you can specify only one configuration recorder per region in
// your account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeConfigurationRecorderStatus for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigurationRecorderException "NoSuchConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// You have specified a configuration recorder that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
func ( c * ConfigService ) DescribeConfigurationRecorderStatus ( input * DescribeConfigurationRecorderStatusInput ) ( * DescribeConfigurationRecorderStatusOutput , error ) {
req , out := c . DescribeConfigurationRecorderStatusRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
// DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
// client's request for the DescribeConfigurationRecorders operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeConfigurationRecorders for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeConfigurationRecorders method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeConfigurationRecordersRequest method.
// req, resp := client.DescribeConfigurationRecordersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
func ( c * ConfigService ) DescribeConfigurationRecordersRequest ( input * DescribeConfigurationRecordersInput ) ( req * request . Request , output * DescribeConfigurationRecordersOutput ) {
op := & request . Operation {
Name : opDescribeConfigurationRecorders ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeConfigurationRecordersInput { }
}
output = & DescribeConfigurationRecordersOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeConfigurationRecorders API operation for AWS Config.
//
// Returns the details for the specified configuration recorders. If the configuration
// recorder is not specified, this action returns the details for all configuration
// recorders associated with the account.
//
// Currently, you can specify only one configuration recorder per region in
// your account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeConfigurationRecorders for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigurationRecorderException "NoSuchConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// You have specified a configuration recorder that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
func ( c * ConfigService ) DescribeConfigurationRecorders ( input * DescribeConfigurationRecordersInput ) ( * DescribeConfigurationRecordersOutput , error ) {
req , out := c . DescribeConfigurationRecordersRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
// DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
// client's request for the DescribeDeliveryChannelStatus operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeDeliveryChannelStatus for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeDeliveryChannelStatus method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
// req, resp := client.DescribeDeliveryChannelStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
func ( c * ConfigService ) DescribeDeliveryChannelStatusRequest ( input * DescribeDeliveryChannelStatusInput ) ( req * request . Request , output * DescribeDeliveryChannelStatusOutput ) {
op := & request . Operation {
Name : opDescribeDeliveryChannelStatus ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeDeliveryChannelStatusInput { }
}
output = & DescribeDeliveryChannelStatusOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeDeliveryChannelStatus API operation for AWS Config.
//
// Returns the current status of the specified delivery channel. If a delivery
// channel is not specified, this action returns the current status of all delivery
// channels associated with the account.
//
// Currently, you can specify only one delivery channel per region in your account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeDeliveryChannelStatus for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchDeliveryChannelException "NoSuchDeliveryChannelException"
2017-01-25 18:50:26 +01:00
// You have specified a delivery channel that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
func ( c * ConfigService ) DescribeDeliveryChannelStatus ( input * DescribeDeliveryChannelStatusInput ) ( * DescribeDeliveryChannelStatusOutput , error ) {
req , out := c . DescribeDeliveryChannelStatusRequest ( input )
err := req . Send ( )
return out , err
}
const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
// DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeDeliveryChannels operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See DescribeDeliveryChannels for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DescribeDeliveryChannels method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DescribeDeliveryChannelsRequest method.
// req, resp := client.DescribeDeliveryChannelsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
func ( c * ConfigService ) DescribeDeliveryChannelsRequest ( input * DescribeDeliveryChannelsInput ) ( req * request . Request , output * DescribeDeliveryChannelsOutput ) {
op := & request . Operation {
Name : opDescribeDeliveryChannels ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeDeliveryChannelsInput { }
}
output = & DescribeDeliveryChannelsOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeDeliveryChannels API operation for AWS Config.
//
// Returns details about the specified delivery channel. If a delivery channel
// is not specified, this action returns the details of all delivery channels
// associated with the account.
//
// Currently, you can specify only one delivery channel per region in your account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation DescribeDeliveryChannels for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchDeliveryChannelException "NoSuchDeliveryChannelException"
2017-01-25 18:50:26 +01:00
// You have specified a delivery channel that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
func ( c * ConfigService ) DescribeDeliveryChannels ( input * DescribeDeliveryChannelsInput ) ( * DescribeDeliveryChannelsOutput , error ) {
req , out := c . DescribeDeliveryChannelsRequest ( input )
err := req . Send ( )
return out , err
}
const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
// GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
// client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetComplianceDetailsByConfigRule for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetComplianceDetailsByConfigRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
// req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
func ( c * ConfigService ) GetComplianceDetailsByConfigRuleRequest ( input * GetComplianceDetailsByConfigRuleInput ) ( req * request . Request , output * GetComplianceDetailsByConfigRuleOutput ) {
op := & request . Operation {
Name : opGetComplianceDetailsByConfigRule ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetComplianceDetailsByConfigRuleInput { }
}
output = & GetComplianceDetailsByConfigRuleOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetComplianceDetailsByConfigRule API operation for AWS Config.
//
// Returns the evaluation results for the specified AWS Config rule. The results
// indicate which AWS resources were evaluated by the rule, when each resource
// was last evaluated, and whether each resource complies with the rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation GetComplianceDetailsByConfigRule for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
func ( c * ConfigService ) GetComplianceDetailsByConfigRule ( input * GetComplianceDetailsByConfigRuleInput ) ( * GetComplianceDetailsByConfigRuleOutput , error ) {
req , out := c . GetComplianceDetailsByConfigRuleRequest ( input )
err := req . Send ( )
return out , err
}
const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
// GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
// client's request for the GetComplianceDetailsByResource operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetComplianceDetailsByResource for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetComplianceDetailsByResource method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetComplianceDetailsByResourceRequest method.
// req, resp := client.GetComplianceDetailsByResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
func ( c * ConfigService ) GetComplianceDetailsByResourceRequest ( input * GetComplianceDetailsByResourceInput ) ( req * request . Request , output * GetComplianceDetailsByResourceOutput ) {
op := & request . Operation {
Name : opGetComplianceDetailsByResource ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetComplianceDetailsByResourceInput { }
}
output = & GetComplianceDetailsByResourceOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetComplianceDetailsByResource API operation for AWS Config.
//
// Returns the evaluation results for the specified AWS resource. The results
// indicate which AWS Config rules were used to evaluate the resource, when
// each rule was last used, and whether the resource complies with each rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation GetComplianceDetailsByResource for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
func ( c * ConfigService ) GetComplianceDetailsByResource ( input * GetComplianceDetailsByResourceInput ) ( * GetComplianceDetailsByResourceOutput , error ) {
req , out := c . GetComplianceDetailsByResourceRequest ( input )
err := req . Send ( )
return out , err
}
const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
// GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
// client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetComplianceSummaryByConfigRule for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetComplianceSummaryByConfigRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
// req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
func ( c * ConfigService ) GetComplianceSummaryByConfigRuleRequest ( input * GetComplianceSummaryByConfigRuleInput ) ( req * request . Request , output * GetComplianceSummaryByConfigRuleOutput ) {
op := & request . Operation {
Name : opGetComplianceSummaryByConfigRule ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetComplianceSummaryByConfigRuleInput { }
}
output = & GetComplianceSummaryByConfigRuleOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetComplianceSummaryByConfigRule API operation for AWS Config.
//
// Returns the number of AWS Config rules that are compliant and noncompliant,
// up to a maximum of 25 for each.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation GetComplianceSummaryByConfigRule for usage and error information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
func ( c * ConfigService ) GetComplianceSummaryByConfigRule ( input * GetComplianceSummaryByConfigRuleInput ) ( * GetComplianceSummaryByConfigRuleOutput , error ) {
req , out := c . GetComplianceSummaryByConfigRuleRequest ( input )
err := req . Send ( )
return out , err
}
const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
// GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
// client's request for the GetComplianceSummaryByResourceType operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetComplianceSummaryByResourceType for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetComplianceSummaryByResourceType method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
// req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
func ( c * ConfigService ) GetComplianceSummaryByResourceTypeRequest ( input * GetComplianceSummaryByResourceTypeInput ) ( req * request . Request , output * GetComplianceSummaryByResourceTypeOutput ) {
op := & request . Operation {
Name : opGetComplianceSummaryByResourceType ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetComplianceSummaryByResourceTypeInput { }
}
output = & GetComplianceSummaryByResourceTypeOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetComplianceSummaryByResourceType API operation for AWS Config.
//
// Returns the number of resources that are compliant and the number that are
// noncompliant. You can specify one or more resource types to get these numbers
// for each resource type. The maximum number returned is 100.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation GetComplianceSummaryByResourceType for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
func ( c * ConfigService ) GetComplianceSummaryByResourceType ( input * GetComplianceSummaryByResourceTypeInput ) ( * GetComplianceSummaryByResourceTypeOutput , error ) {
req , out := c . GetComplianceSummaryByResourceTypeRequest ( input )
err := req . Send ( )
return out , err
}
const opGetResourceConfigHistory = "GetResourceConfigHistory"
// GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
// client's request for the GetResourceConfigHistory operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See GetResourceConfigHistory for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetResourceConfigHistory method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetResourceConfigHistoryRequest method.
// req, resp := client.GetResourceConfigHistoryRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
func ( c * ConfigService ) GetResourceConfigHistoryRequest ( input * GetResourceConfigHistoryInput ) ( req * request . Request , output * GetResourceConfigHistoryOutput ) {
op := & request . Operation {
Name : opGetResourceConfigHistory ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
Paginator : & request . Paginator {
InputTokens : [ ] string { "nextToken" } ,
OutputTokens : [ ] string { "nextToken" } ,
LimitToken : "limit" ,
TruncationToken : "" ,
} ,
}
if input == nil {
input = & GetResourceConfigHistoryInput { }
}
output = & GetResourceConfigHistoryOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetResourceConfigHistory API operation for AWS Config.
//
// Returns a list of configuration items for the specified resource. The list
// contains details about each state of the resource during the specified time
// interval.
//
// The response is paginated, and by default, AWS Config returns a limit of
// 10 configuration items per page. You can customize this number with the limit
// parameter. The response includes a nextToken string, and to get the next
// page of results, run the request again and enter this string for the nextToken
// parameter.
//
// Each call to the API is limited to span a duration of seven days. It is likely
// that the number of records returned is smaller than the specified limit.
// In such cases, you can make another call, using the nextToken.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation GetResourceConfigHistory for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeValidationException "ValidationException"
2017-01-25 18:50:26 +01:00
// The requested action is not valid.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidTimeRangeException "InvalidTimeRangeException"
2017-01-25 18:50:26 +01:00
// The specified time range is not valid. The earlier time is not chronologically
// before the later time.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidLimitException "InvalidLimitException"
2017-01-25 18:50:26 +01:00
// The specified limit is outside the allowable range.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There are no configuration recorders available to provide the role needed
// to describe your resources. Create a configuration recorder.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeResourceNotDiscoveredException "ResourceNotDiscoveredException"
2017-01-25 18:50:26 +01:00
// You have specified a resource that is either unknown or has not been discovered.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
func ( c * ConfigService ) GetResourceConfigHistory ( input * GetResourceConfigHistoryInput ) ( * GetResourceConfigHistoryOutput , error ) {
req , out := c . GetResourceConfigHistoryRequest ( input )
err := req . Send ( )
return out , err
}
// GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See GetResourceConfigHistory 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 GetResourceConfigHistory operation.
// pageNum := 0
// err := client.GetResourceConfigHistoryPages(params,
// func(page *GetResourceConfigHistoryOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func ( c * ConfigService ) GetResourceConfigHistoryPages ( input * GetResourceConfigHistoryInput , fn func ( p * GetResourceConfigHistoryOutput , lastPage bool ) ( shouldContinue bool ) ) error {
page , _ := c . GetResourceConfigHistoryRequest ( input )
page . Handlers . Build . PushBack ( request . MakeAddToUserAgentFreeFormHandler ( "Paginator" ) )
return page . EachPage ( func ( p interface { } , lastPage bool ) bool {
return fn ( p . ( * GetResourceConfigHistoryOutput ) , lastPage )
} )
}
const opListDiscoveredResources = "ListDiscoveredResources"
// ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
// client's request for the ListDiscoveredResources operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See ListDiscoveredResources for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ListDiscoveredResources method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ListDiscoveredResourcesRequest method.
// req, resp := client.ListDiscoveredResourcesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
func ( c * ConfigService ) ListDiscoveredResourcesRequest ( input * ListDiscoveredResourcesInput ) ( req * request . Request , output * ListDiscoveredResourcesOutput ) {
op := & request . Operation {
Name : opListDiscoveredResources ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & ListDiscoveredResourcesInput { }
}
output = & ListDiscoveredResourcesOutput { }
req = c . newRequest ( op , input , output )
return
}
// ListDiscoveredResources API operation for AWS Config.
//
// Accepts a resource type and returns a list of resource identifiers for the
// resources of that type. A resource identifier includes the resource type,
// ID, and (if available) the custom resource name. The results consist of resources
// that AWS Config has discovered, including those that AWS Config is not currently
// recording. You can narrow the results to include only resources that have
// specific resource IDs or a resource name.
//
// You can specify either resource IDs or a resource name but not both in the
// same request.
//
// The response is paginated, and by default AWS Config lists 100 resource identifiers
// on each page. You can customize this number with the limit parameter. The
// response includes a nextToken string, and to get the next page of results,
// run the request again and enter this string for the nextToken parameter.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation ListDiscoveredResources for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeValidationException "ValidationException"
2017-01-25 18:50:26 +01:00
// The requested action is not valid.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidLimitException "InvalidLimitException"
2017-01-25 18:50:26 +01:00
// The specified limit is outside the allowable range.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
2017-01-25 18:50:26 +01:00
// The specified next token is invalid. Specify the NextToken string that was
// returned in the previous response to get the next page of results.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There are no configuration recorders available to provide the role needed
// to describe your resources. Create a configuration recorder.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
func ( c * ConfigService ) ListDiscoveredResources ( input * ListDiscoveredResourcesInput ) ( * ListDiscoveredResourcesOutput , error ) {
req , out := c . ListDiscoveredResourcesRequest ( input )
err := req . Send ( )
return out , err
}
const opPutConfigRule = "PutConfigRule"
// PutConfigRuleRequest generates a "aws/request.Request" representing the
// client's request for the PutConfigRule operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutConfigRule for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutConfigRule method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutConfigRuleRequest method.
// req, resp := client.PutConfigRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
func ( c * ConfigService ) PutConfigRuleRequest ( input * PutConfigRuleInput ) ( req * request . Request , output * PutConfigRuleOutput ) {
op := & request . Operation {
Name : opPutConfigRule ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & PutConfigRuleInput { }
}
output = & PutConfigRuleOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// PutConfigRule API operation for AWS Config.
//
// Adds or updates an AWS Config rule for evaluating whether your AWS resources
// comply with your desired configurations.
//
// You can use this action for custom Config rules and AWS managed Config rules.
// A custom Config rule is a rule that you develop and maintain. An AWS managed
// Config rule is a customizable, predefined rule that AWS Config provides.
//
// If you are adding a new custom Config rule, you must first create the AWS
// Lambda function that the rule invokes to evaluate your resources. When you
// use the PutConfigRule action to add the rule to AWS Config, you must specify
// the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify
// the ARN for the SourceIdentifier key. This key is part of the Source object,
// which is part of the ConfigRule object.
//
// If you are adding a new AWS managed Config rule, specify the rule's identifier
// for the SourceIdentifier key. To reference AWS managed Config rule identifiers,
// see Using AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
//
// For any new rule that you add, specify the ConfigRuleName in the ConfigRule
// object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
// are generated by AWS Config for new rules.
//
// If you are updating a rule that you added previously, you can specify the
// rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule
// data type that you use in this request.
//
// The maximum number of rules that AWS Config supports is 50.
//
// For more information about requesting a rule limit increase, see AWS Config
// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
// in the AWS General Reference Guide.
//
// For more information about developing and using AWS Config rules, see Evaluating
// AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
// in the AWS Config Developer 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 AWS Config's
// API operation PutConfigRule for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeMaxNumberOfConfigRulesExceededException "MaxNumberOfConfigRulesExceededException"
2017-01-25 18:50:26 +01:00
// Failed to add the AWS Config rule because the account already contains the
// maximum number of 50 rules. Consider deleting any deactivated rules before
// adding new rules.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeResourceInUseException "ResourceInUseException"
2017-01-25 18:50:26 +01:00
// The rule is currently being deleted or the rule is deleting your evaluation
// results. Try your request again later.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInsufficientPermissionsException "InsufficientPermissionsException"
2017-01-25 18:50:26 +01:00
// Indicates one of the following errors:
//
// * The rule cannot be created because the IAM role assigned to AWS Config
// lacks permissions to perform the config:Put* action.
//
// * The AWS Lambda function cannot be invoked. Check the function ARN, and
// check the function's permissions.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There are no configuration recorders available to provide the role needed
// to describe your resources. Create a configuration recorder.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
func ( c * ConfigService ) PutConfigRule ( input * PutConfigRuleInput ) ( * PutConfigRuleOutput , error ) {
req , out := c . PutConfigRuleRequest ( input )
err := req . Send ( )
return out , err
}
const opPutConfigurationRecorder = "PutConfigurationRecorder"
// PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
// client's request for the PutConfigurationRecorder operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutConfigurationRecorder for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutConfigurationRecorder method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutConfigurationRecorderRequest method.
// req, resp := client.PutConfigurationRecorderRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
func ( c * ConfigService ) PutConfigurationRecorderRequest ( input * PutConfigurationRecorderInput ) ( req * request . Request , output * PutConfigurationRecorderOutput ) {
op := & request . Operation {
Name : opPutConfigurationRecorder ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & PutConfigurationRecorderInput { }
}
output = & PutConfigurationRecorderOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// PutConfigurationRecorder API operation for AWS Config.
//
// Creates a new configuration recorder to record the selected resource configurations.
//
// You can use this action to change the role roleARN and/or the recordingGroup
// of an existing recorder. To change the role, call the action on the existing
// configuration recorder and specify a role.
//
// Currently, you can specify only one configuration recorder per region in
// your account.
//
// If ConfigurationRecorder does not have the recordingGroup parameter specified,
// the default is to record all supported resource types.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation PutConfigurationRecorder for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeMaxNumberOfConfigurationRecordersExceededException "MaxNumberOfConfigurationRecordersExceededException"
2017-01-25 18:50:26 +01:00
// You have reached the limit on the number of recorders you can create.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidConfigurationRecorderNameException "InvalidConfigurationRecorderNameException"
2017-01-25 18:50:26 +01:00
// You have provided a configuration recorder name that is not valid.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidRoleException "InvalidRoleException"
2017-01-25 18:50:26 +01:00
// You have provided a null or empty role ARN.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidRecordingGroupException "InvalidRecordingGroupException"
2017-01-25 18:50:26 +01:00
// AWS Config throws an exception if the recording group does not contain a
// valid list of resource types. Invalid values could also be incorrectly formatted.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
func ( c * ConfigService ) PutConfigurationRecorder ( input * PutConfigurationRecorderInput ) ( * PutConfigurationRecorderOutput , error ) {
req , out := c . PutConfigurationRecorderRequest ( input )
err := req . Send ( )
return out , err
}
const opPutDeliveryChannel = "PutDeliveryChannel"
// PutDeliveryChannelRequest generates a "aws/request.Request" representing the
// client's request for the PutDeliveryChannel operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutDeliveryChannel for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutDeliveryChannel method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutDeliveryChannelRequest method.
// req, resp := client.PutDeliveryChannelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
func ( c * ConfigService ) PutDeliveryChannelRequest ( input * PutDeliveryChannelInput ) ( req * request . Request , output * PutDeliveryChannelOutput ) {
op := & request . Operation {
Name : opPutDeliveryChannel ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & PutDeliveryChannelInput { }
}
output = & PutDeliveryChannelOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// PutDeliveryChannel API operation for AWS Config.
//
// Creates a delivery channel object to deliver configuration information to
// an Amazon S3 bucket and Amazon SNS topic.
//
// Before you can create a delivery channel, you must create a configuration
// recorder.
//
// You can use this action to change the Amazon S3 bucket or an Amazon SNS topic
// of the existing delivery channel. To change the Amazon S3 bucket or an Amazon
// SNS topic, call this action and specify the changed values for the S3 bucket
// and the SNS topic. If you specify a different value for either the S3 bucket
// or the SNS topic, this action will keep the existing value for the parameter
// that is not changed.
//
// You can have only one delivery channel per region in your account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation PutDeliveryChannel for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeMaxNumberOfDeliveryChannelsExceededException "MaxNumberOfDeliveryChannelsExceededException"
2017-01-25 18:50:26 +01:00
// You have reached the limit on the number of delivery channels you can create.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// There are no configuration recorders available to provide the role needed
// to describe your resources. Create a configuration recorder.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidDeliveryChannelNameException "InvalidDeliveryChannelNameException"
2017-01-25 18:50:26 +01:00
// The specified delivery channel name is not valid.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchBucketException "NoSuchBucketException"
2017-01-25 18:50:26 +01:00
// The specified Amazon S3 bucket does not exist.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidS3KeyPrefixException "InvalidS3KeyPrefixException"
2017-01-25 18:50:26 +01:00
// The specified Amazon S3 key prefix is not valid.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidSNSTopicARNException "InvalidSNSTopicARNException"
2017-01-25 18:50:26 +01:00
// The specified Amazon SNS topic does not exist.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInsufficientDeliveryPolicyException "InsufficientDeliveryPolicyException"
2017-01-25 18:50:26 +01:00
// Your Amazon S3 bucket policy does not permit AWS Config to write to it.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
func ( c * ConfigService ) PutDeliveryChannel ( input * PutDeliveryChannelInput ) ( * PutDeliveryChannelOutput , error ) {
req , out := c . PutDeliveryChannelRequest ( input )
err := req . Send ( )
return out , err
}
const opPutEvaluations = "PutEvaluations"
// PutEvaluationsRequest generates a "aws/request.Request" representing the
// client's request for the PutEvaluations operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See PutEvaluations for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the PutEvaluations method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the PutEvaluationsRequest method.
// req, resp := client.PutEvaluationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
func ( c * ConfigService ) PutEvaluationsRequest ( input * PutEvaluationsInput ) ( req * request . Request , output * PutEvaluationsOutput ) {
op := & request . Operation {
Name : opPutEvaluations ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & PutEvaluationsInput { }
}
output = & PutEvaluationsOutput { }
req = c . newRequest ( op , input , output )
return
}
// PutEvaluations API operation for AWS Config.
//
// Used by an AWS Lambda function to deliver evaluation results to AWS Config.
// This action is required in every AWS Lambda function that is invoked by an
// AWS Config rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation PutEvaluations for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidResultTokenException "InvalidResultTokenException"
2017-02-20 18:20:36 +01:00
// The specified ResultToken is invalid.
2017-01-25 18:50:26 +01:00
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
func ( c * ConfigService ) PutEvaluations ( input * PutEvaluationsInput ) ( * PutEvaluationsOutput , error ) {
req , out := c . PutEvaluationsRequest ( input )
err := req . Send ( )
return out , err
}
const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
// StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
// client's request for the StartConfigRulesEvaluation operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See StartConfigRulesEvaluation for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the StartConfigRulesEvaluation method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the StartConfigRulesEvaluationRequest method.
// req, resp := client.StartConfigRulesEvaluationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
func ( c * ConfigService ) StartConfigRulesEvaluationRequest ( input * StartConfigRulesEvaluationInput ) ( req * request . Request , output * StartConfigRulesEvaluationOutput ) {
op := & request . Operation {
Name : opStartConfigRulesEvaluation ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & StartConfigRulesEvaluationInput { }
}
output = & StartConfigRulesEvaluationOutput { }
req = c . newRequest ( op , input , output )
return
}
// StartConfigRulesEvaluation API operation for AWS Config.
//
// Runs an on-demand evaluation for the specified Config rules against the last
// known configuration state of the resources. Use StartConfigRulesEvaluation
// when you want to test a rule that you updated is working as expected. StartConfigRulesEvaluation
// does not re-record the latest configuration state for your resources; it
// re-runs an evaluation against the last known state of your resources.
//
// You can specify up to 25 Config rules per request.
//
// An existing StartConfigRulesEvaluation call must complete for the specified
// rules before you can call the API again. If you chose to have AWS Config
// stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted
// notification when the evaluation starts.
//
// You don't need to call the StartConfigRulesEvaluation API to run an evaluation
// for a new rule. When you create a new rule, AWS Config automatically evaluates
// your resources against the rule.
//
// The StartConfigRulesEvaluation API is useful if you want to run on-demand
// evaluations, such as the following example:
//
// You have a custom rule that evaluates your IAM resources every 24 hours.
//
// You update your Lambda function to add additional conditions to your rule.
//
// Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation
// API.
//
// AWS Config invokes your Lambda function and evaluates your IAM resources.
//
// Your custom rule will still run periodic evaluations every 24 hours.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation StartConfigRulesEvaluation for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigRuleException "NoSuchConfigRuleException"
2017-01-25 18:50:26 +01:00
// One or more AWS Config rules in the request are invalid. Verify that the
// rule names are correct and try again.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeLimitExceededException "LimitExceededException"
2017-01-25 18:50:26 +01:00
// This exception is thrown if an evaluation is in progress or if you call the
// StartConfigRulesEvaluation API more than once per minute.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeResourceInUseException "ResourceInUseException"
2017-01-25 18:50:26 +01:00
// The rule is currently being deleted or the rule is deleting your evaluation
// results. Try your request again later.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2017-01-25 18:50:26 +01:00
// One or more of the specified parameters are invalid. Verify that your parameters
// are valid and try again.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
func ( c * ConfigService ) StartConfigRulesEvaluation ( input * StartConfigRulesEvaluationInput ) ( * StartConfigRulesEvaluationOutput , error ) {
req , out := c . StartConfigRulesEvaluationRequest ( input )
err := req . Send ( )
return out , err
}
const opStartConfigurationRecorder = "StartConfigurationRecorder"
// StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
// client's request for the StartConfigurationRecorder operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See StartConfigurationRecorder for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the StartConfigurationRecorder method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the StartConfigurationRecorderRequest method.
// req, resp := client.StartConfigurationRecorderRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
func ( c * ConfigService ) StartConfigurationRecorderRequest ( input * StartConfigurationRecorderInput ) ( req * request . Request , output * StartConfigurationRecorderOutput ) {
op := & request . Operation {
Name : opStartConfigurationRecorder ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & StartConfigurationRecorderInput { }
}
output = & StartConfigurationRecorderOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// StartConfigurationRecorder API operation for AWS Config.
//
// Starts recording configurations of the AWS resources you have selected to
// record in your AWS account.
//
// You must have created at least one delivery channel to successfully start
// the configuration recorder.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation StartConfigurationRecorder for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigurationRecorderException "NoSuchConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// You have specified a configuration recorder that does not exist.
//
2017-02-08 14:02:41 +01:00
// * ErrCodeNoAvailableDeliveryChannelException "NoAvailableDeliveryChannelException"
2017-01-25 18:50:26 +01:00
// There is no delivery channel available to record configurations.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
func ( c * ConfigService ) StartConfigurationRecorder ( input * StartConfigurationRecorderInput ) ( * StartConfigurationRecorderOutput , error ) {
req , out := c . StartConfigurationRecorderRequest ( input )
err := req . Send ( )
return out , err
}
const opStopConfigurationRecorder = "StopConfigurationRecorder"
// StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
// client's request for the StopConfigurationRecorder operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// See StopConfigurationRecorder for usage and error information.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the StopConfigurationRecorder method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the StopConfigurationRecorderRequest method.
// req, resp := client.StopConfigurationRecorderRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
func ( c * ConfigService ) StopConfigurationRecorderRequest ( input * StopConfigurationRecorderInput ) ( req * request . Request , output * StopConfigurationRecorderOutput ) {
op := & request . Operation {
Name : opStopConfigurationRecorder ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & StopConfigurationRecorderInput { }
}
output = & StopConfigurationRecorderOutput { }
req = c . newRequest ( op , input , output )
req . Handlers . Unmarshal . Remove ( jsonrpc . UnmarshalHandler )
req . Handlers . Unmarshal . PushBackNamed ( protocol . UnmarshalDiscardBodyHandler )
return
}
// StopConfigurationRecorder API operation for AWS Config.
//
// Stops recording configurations of the AWS resources you have selected to
// record in your AWS account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Config's
// API operation StopConfigurationRecorder for usage and error information.
//
// Returned Error Codes:
2017-02-08 14:02:41 +01:00
// * ErrCodeNoSuchConfigurationRecorderException "NoSuchConfigurationRecorderException"
2017-01-25 18:50:26 +01:00
// You have specified a configuration recorder that does not exist.
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
func ( c * ConfigService ) StopConfigurationRecorder ( input * StopConfigurationRecorderInput ) ( * StopConfigurationRecorderOutput , error ) {
req , out := c . StopConfigurationRecorderRequest ( input )
err := req . Send ( )
return out , err
}
// Indicates whether an AWS resource or AWS Config rule is compliant and provides
// the number of contributors that affect the compliance.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Compliance
type Compliance struct {
_ struct { } ` type:"structure" `
// The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT,
// up to a maximum number.
ComplianceContributorCount * ComplianceContributorCount ` type:"structure" `
// Indicates whether an AWS resource or AWS Config rule is compliant.
//
// A resource is compliant if it complies with all of the AWS Config rules that
// evaluate it, and it is noncompliant if it does not comply with one or more
// of these rules.
//
// A rule is compliant if all of the resources that the rule evaluates comply
// with it, and it is noncompliant if any of these resources do not comply.
//
// AWS Config returns the INSUFFICIENT_DATA value when no evaluation results
// are available for the AWS resource or Config rule.
//
// For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT,
// and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE
// value for the Compliance data type.
ComplianceType * string ` type:"string" enum:"ComplianceType" `
}
// String returns the string representation
func ( s Compliance ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Compliance ) GoString ( ) string {
return s . String ( )
}
// SetComplianceContributorCount sets the ComplianceContributorCount field's value.
func ( s * Compliance ) SetComplianceContributorCount ( v * ComplianceContributorCount ) * Compliance {
s . ComplianceContributorCount = v
return s
}
// SetComplianceType sets the ComplianceType field's value.
func ( s * Compliance ) SetComplianceType ( v string ) * Compliance {
s . ComplianceType = & v
return s
}
// Indicates whether an AWS Config rule is compliant. A rule is compliant if
// all of the resources that the rule evaluated comply with it, and it is noncompliant
// if any of these resources do not comply.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ComplianceByConfigRule
type ComplianceByConfigRule struct {
_ struct { } ` type:"structure" `
// Indicates whether the AWS Config rule is compliant.
Compliance * Compliance ` type:"structure" `
// The name of the AWS Config rule.
ConfigRuleName * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s ComplianceByConfigRule ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ComplianceByConfigRule ) GoString ( ) string {
return s . String ( )
}
// SetCompliance sets the Compliance field's value.
func ( s * ComplianceByConfigRule ) SetCompliance ( v * Compliance ) * ComplianceByConfigRule {
s . Compliance = v
return s
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * ComplianceByConfigRule ) SetConfigRuleName ( v string ) * ComplianceByConfigRule {
s . ConfigRuleName = & v
return s
}
// Indicates whether an AWS resource that is evaluated according to one or more
// AWS Config rules is compliant. A resource is compliant if it complies with
// all of the rules that evaluate it, and it is noncompliant if it does not
// comply with one or more of these rules.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ComplianceByResource
type ComplianceByResource struct {
_ struct { } ` type:"structure" `
// Indicates whether the AWS resource complies with all of the AWS Config rules
// that evaluated it.
Compliance * Compliance ` type:"structure" `
// The ID of the AWS resource that was evaluated.
ResourceId * string ` min:"1" type:"string" `
// The type of the AWS resource that was evaluated.
ResourceType * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s ComplianceByResource ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ComplianceByResource ) GoString ( ) string {
return s . String ( )
}
// SetCompliance sets the Compliance field's value.
func ( s * ComplianceByResource ) SetCompliance ( v * Compliance ) * ComplianceByResource {
s . Compliance = v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * ComplianceByResource ) SetResourceId ( v string ) * ComplianceByResource {
s . ResourceId = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * ComplianceByResource ) SetResourceType ( v string ) * ComplianceByResource {
s . ResourceType = & v
return s
}
// The number of AWS resources or AWS Config rules responsible for the current
// compliance of the item, up to a maximum number.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ComplianceContributorCount
type ComplianceContributorCount struct {
_ struct { } ` type:"structure" `
// Indicates whether the maximum count is reached.
CapExceeded * bool ` type:"boolean" `
// The number of AWS resources or AWS Config rules responsible for the current
// compliance of the item.
CappedCount * int64 ` type:"integer" `
}
// String returns the string representation
func ( s ComplianceContributorCount ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ComplianceContributorCount ) GoString ( ) string {
return s . String ( )
}
// SetCapExceeded sets the CapExceeded field's value.
func ( s * ComplianceContributorCount ) SetCapExceeded ( v bool ) * ComplianceContributorCount {
s . CapExceeded = & v
return s
}
// SetCappedCount sets the CappedCount field's value.
func ( s * ComplianceContributorCount ) SetCappedCount ( v int64 ) * ComplianceContributorCount {
s . CappedCount = & v
return s
}
// The number of AWS Config rules or AWS resources that are compliant and noncompliant.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ComplianceSummary
type ComplianceSummary struct {
_ struct { } ` type:"structure" `
// The time that AWS Config created the compliance summary.
ComplianceSummaryTimestamp * time . Time ` type:"timestamp" timestampFormat:"unix" `
// The number of AWS Config rules or AWS resources that are compliant, up to
// a maximum of 25 for rules and 100 for resources.
CompliantResourceCount * ComplianceContributorCount ` type:"structure" `
// The number of AWS Config rules or AWS resources that are noncompliant, up
// to a maximum of 25 for rules and 100 for resources.
NonCompliantResourceCount * ComplianceContributorCount ` type:"structure" `
}
// String returns the string representation
func ( s ComplianceSummary ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ComplianceSummary ) GoString ( ) string {
return s . String ( )
}
// SetComplianceSummaryTimestamp sets the ComplianceSummaryTimestamp field's value.
func ( s * ComplianceSummary ) SetComplianceSummaryTimestamp ( v time . Time ) * ComplianceSummary {
s . ComplianceSummaryTimestamp = & v
return s
}
// SetCompliantResourceCount sets the CompliantResourceCount field's value.
func ( s * ComplianceSummary ) SetCompliantResourceCount ( v * ComplianceContributorCount ) * ComplianceSummary {
s . CompliantResourceCount = v
return s
}
// SetNonCompliantResourceCount sets the NonCompliantResourceCount field's value.
func ( s * ComplianceSummary ) SetNonCompliantResourceCount ( v * ComplianceContributorCount ) * ComplianceSummary {
s . NonCompliantResourceCount = v
return s
}
// The number of AWS resources of a specific type that are compliant or noncompliant,
// up to a maximum of 100 for each compliance.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ComplianceSummaryByResourceType
type ComplianceSummaryByResourceType struct {
_ struct { } ` type:"structure" `
// The number of AWS resources that are compliant or noncompliant, up to a maximum
// of 100 for each compliance.
ComplianceSummary * ComplianceSummary ` type:"structure" `
// The type of AWS resource.
ResourceType * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s ComplianceSummaryByResourceType ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ComplianceSummaryByResourceType ) GoString ( ) string {
return s . String ( )
}
// SetComplianceSummary sets the ComplianceSummary field's value.
func ( s * ComplianceSummaryByResourceType ) SetComplianceSummary ( v * ComplianceSummary ) * ComplianceSummaryByResourceType {
s . ComplianceSummary = v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * ComplianceSummaryByResourceType ) SetResourceType ( v string ) * ComplianceSummaryByResourceType {
s . ResourceType = & v
return s
}
// A list that contains the status of the delivery of either the snapshot or
// the configuration history to the specified Amazon S3 bucket.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigExportDeliveryInfo
type ConfigExportDeliveryInfo struct {
_ struct { } ` type:"structure" `
// The time of the last attempted delivery.
LastAttemptTime * time . Time ` locationName:"lastAttemptTime" type:"timestamp" timestampFormat:"unix" `
// The error code from the last attempted delivery.
LastErrorCode * string ` locationName:"lastErrorCode" type:"string" `
// The error message from the last attempted delivery.
LastErrorMessage * string ` locationName:"lastErrorMessage" type:"string" `
// Status of the last attempted delivery.
LastStatus * string ` locationName:"lastStatus" type:"string" enum:"DeliveryStatus" `
// The time of the last successful delivery.
LastSuccessfulTime * time . Time ` locationName:"lastSuccessfulTime" type:"timestamp" timestampFormat:"unix" `
// The time that the next delivery occurs.
NextDeliveryTime * time . Time ` locationName:"nextDeliveryTime" type:"timestamp" timestampFormat:"unix" `
}
// String returns the string representation
func ( s ConfigExportDeliveryInfo ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigExportDeliveryInfo ) GoString ( ) string {
return s . String ( )
}
// SetLastAttemptTime sets the LastAttemptTime field's value.
func ( s * ConfigExportDeliveryInfo ) SetLastAttemptTime ( v time . Time ) * ConfigExportDeliveryInfo {
s . LastAttemptTime = & v
return s
}
// SetLastErrorCode sets the LastErrorCode field's value.
func ( s * ConfigExportDeliveryInfo ) SetLastErrorCode ( v string ) * ConfigExportDeliveryInfo {
s . LastErrorCode = & v
return s
}
// SetLastErrorMessage sets the LastErrorMessage field's value.
func ( s * ConfigExportDeliveryInfo ) SetLastErrorMessage ( v string ) * ConfigExportDeliveryInfo {
s . LastErrorMessage = & v
return s
}
// SetLastStatus sets the LastStatus field's value.
func ( s * ConfigExportDeliveryInfo ) SetLastStatus ( v string ) * ConfigExportDeliveryInfo {
s . LastStatus = & v
return s
}
// SetLastSuccessfulTime sets the LastSuccessfulTime field's value.
func ( s * ConfigExportDeliveryInfo ) SetLastSuccessfulTime ( v time . Time ) * ConfigExportDeliveryInfo {
s . LastSuccessfulTime = & v
return s
}
// SetNextDeliveryTime sets the NextDeliveryTime field's value.
func ( s * ConfigExportDeliveryInfo ) SetNextDeliveryTime ( v time . Time ) * ConfigExportDeliveryInfo {
s . NextDeliveryTime = & v
return s
}
// An AWS Config rule represents an AWS Lambda function that you create for
// a custom rule or a predefined function for an AWS managed rule. The function
// evaluates configuration items to assess whether your AWS resources comply
// with your desired configurations. This function can run when AWS Config detects
// a configuration change to an AWS resource and at a periodic frequency that
// you choose (for example, every 24 hours).
//
// You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
// evaluations for your resources when AWS Config delivers the configuration
// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
//
// For more information about developing and using AWS Config rules, see Evaluating
// AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
// in the AWS Config Developer Guide.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigRule
type ConfigRule struct {
_ struct { } ` type:"structure" `
// The Amazon Resource Name (ARN) of the AWS Config rule.
ConfigRuleArn * string ` type:"string" `
// The ID of the AWS Config rule.
ConfigRuleId * string ` type:"string" `
// The name that you assign to the AWS Config rule. The name is required if
// you are adding a new rule.
ConfigRuleName * string ` min:"1" type:"string" `
// Indicates whether the AWS Config rule is active or is currently being deleted
// by AWS Config. It can also indicate the evaluation status for the Config
// rule.
//
// AWS Config sets the state of the rule to EVALUATING temporarily after you
// use the StartConfigRulesEvaluation request to evaluate your resources against
// the Config rule.
//
// AWS Config sets the state of the rule to DELETING_RESULTS temporarily after
// you use the DeleteEvaluationResults request to delete the current evaluation
// results for the Config rule.
//
// AWS Config sets the state of a rule to DELETING temporarily after you use
// the DeleteConfigRule request to delete the rule. After AWS Config deletes
// the rule, the rule and all of its evaluations are erased and are no longer
// available.
ConfigRuleState * string ` type:"string" enum:"ConfigRuleState" `
// The description that you provide for the AWS Config rule.
Description * string ` type:"string" `
// A string in JSON format that is passed to the AWS Config rule Lambda function.
InputParameters * string ` min:"1" type:"string" `
// The maximum frequency with which AWS Config runs evaluations for a rule.
// You can specify a value for MaximumExecutionFrequency when:
//
// * You are using an AWS managed rule that is triggered at a periodic frequency.
//
// * Your custom rule is triggered when AWS Config delivers the configuration
// snapshot.
//
// For more information, see ConfigSnapshotDeliveryProperties.
MaximumExecutionFrequency * string ` type:"string" enum:"MaximumExecutionFrequency" `
// Defines which resources can trigger an evaluation for the rule. The scope
// can include one or more resource types, a combination of one resource type
// and one resource ID, or a combination of a tag key and value. Specify a scope
// to constrain the resources that can trigger an evaluation for the rule. If
// you do not specify a scope, evaluations are triggered when any resource in
// the recording group changes.
Scope * Scope ` type:"structure" `
// Provides the rule owner (AWS or customer), the rule identifier, and the notifications
// that cause the function to evaluate your AWS resources.
//
// Source is a required field
Source * Source ` type:"structure" required:"true" `
}
// String returns the string representation
func ( s ConfigRule ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigRule ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * ConfigRule ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "ConfigRule" }
if s . ConfigRuleName != nil && len ( * s . ConfigRuleName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigRuleName" , 1 ) )
}
if s . InputParameters != nil && len ( * s . InputParameters ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "InputParameters" , 1 ) )
}
if s . Source == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Source" ) )
}
if s . Scope != nil {
if err := s . Scope . Validate ( ) ; err != nil {
invalidParams . AddNested ( "Scope" , err . ( request . ErrInvalidParams ) )
}
}
if s . Source != nil {
if err := s . Source . Validate ( ) ; err != nil {
invalidParams . AddNested ( "Source" , err . ( request . ErrInvalidParams ) )
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigRuleArn sets the ConfigRuleArn field's value.
func ( s * ConfigRule ) SetConfigRuleArn ( v string ) * ConfigRule {
s . ConfigRuleArn = & v
return s
}
// SetConfigRuleId sets the ConfigRuleId field's value.
func ( s * ConfigRule ) SetConfigRuleId ( v string ) * ConfigRule {
s . ConfigRuleId = & v
return s
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * ConfigRule ) SetConfigRuleName ( v string ) * ConfigRule {
s . ConfigRuleName = & v
return s
}
// SetConfigRuleState sets the ConfigRuleState field's value.
func ( s * ConfigRule ) SetConfigRuleState ( v string ) * ConfigRule {
s . ConfigRuleState = & v
return s
}
// SetDescription sets the Description field's value.
func ( s * ConfigRule ) SetDescription ( v string ) * ConfigRule {
s . Description = & v
return s
}
// SetInputParameters sets the InputParameters field's value.
func ( s * ConfigRule ) SetInputParameters ( v string ) * ConfigRule {
s . InputParameters = & v
return s
}
// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
func ( s * ConfigRule ) SetMaximumExecutionFrequency ( v string ) * ConfigRule {
s . MaximumExecutionFrequency = & v
return s
}
// SetScope sets the Scope field's value.
func ( s * ConfigRule ) SetScope ( v * Scope ) * ConfigRule {
s . Scope = v
return s
}
// SetSource sets the Source field's value.
func ( s * ConfigRule ) SetSource ( v * Source ) * ConfigRule {
s . Source = v
return s
}
// Status information for your AWS managed Config rules. The status includes
// information such as the last time the rule ran, the last time it failed,
// and the related error for the last failure.
//
// This action does not return status information about custom Config rules.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigRuleEvaluationStatus
type ConfigRuleEvaluationStatus struct {
_ struct { } ` type:"structure" `
// The Amazon Resource Name (ARN) of the AWS Config rule.
ConfigRuleArn * string ` type:"string" `
// The ID of the AWS Config rule.
ConfigRuleId * string ` type:"string" `
// The name of the AWS Config rule.
ConfigRuleName * string ` min:"1" type:"string" `
// The time that you first activated the AWS Config rule.
FirstActivatedTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// Indicates whether AWS Config has evaluated your resources against the rule
// at least once.
//
// * true - AWS Config has evaluated your AWS resources against the rule
// at least once.
//
// * false - AWS Config has not once finished evaluating your AWS resources
// against the rule.
FirstEvaluationStarted * bool ` type:"boolean" `
// The error code that AWS Config returned when the rule last failed.
LastErrorCode * string ` type:"string" `
// The error message that AWS Config returned when the rule last failed.
LastErrorMessage * string ` type:"string" `
// The time that AWS Config last failed to evaluate your AWS resources against
// the rule.
LastFailedEvaluationTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// The time that AWS Config last failed to invoke the AWS Config rule to evaluate
// your AWS resources.
LastFailedInvocationTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// The time that AWS Config last successfully evaluated your AWS resources against
// the rule.
LastSuccessfulEvaluationTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// The time that AWS Config last successfully invoked the AWS Config rule to
// evaluate your AWS resources.
LastSuccessfulInvocationTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
}
// String returns the string representation
func ( s ConfigRuleEvaluationStatus ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigRuleEvaluationStatus ) GoString ( ) string {
return s . String ( )
}
// SetConfigRuleArn sets the ConfigRuleArn field's value.
func ( s * ConfigRuleEvaluationStatus ) SetConfigRuleArn ( v string ) * ConfigRuleEvaluationStatus {
s . ConfigRuleArn = & v
return s
}
// SetConfigRuleId sets the ConfigRuleId field's value.
func ( s * ConfigRuleEvaluationStatus ) SetConfigRuleId ( v string ) * ConfigRuleEvaluationStatus {
s . ConfigRuleId = & v
return s
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * ConfigRuleEvaluationStatus ) SetConfigRuleName ( v string ) * ConfigRuleEvaluationStatus {
s . ConfigRuleName = & v
return s
}
// SetFirstActivatedTime sets the FirstActivatedTime field's value.
func ( s * ConfigRuleEvaluationStatus ) SetFirstActivatedTime ( v time . Time ) * ConfigRuleEvaluationStatus {
s . FirstActivatedTime = & v
return s
}
// SetFirstEvaluationStarted sets the FirstEvaluationStarted field's value.
func ( s * ConfigRuleEvaluationStatus ) SetFirstEvaluationStarted ( v bool ) * ConfigRuleEvaluationStatus {
s . FirstEvaluationStarted = & v
return s
}
// SetLastErrorCode sets the LastErrorCode field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastErrorCode ( v string ) * ConfigRuleEvaluationStatus {
s . LastErrorCode = & v
return s
}
// SetLastErrorMessage sets the LastErrorMessage field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastErrorMessage ( v string ) * ConfigRuleEvaluationStatus {
s . LastErrorMessage = & v
return s
}
// SetLastFailedEvaluationTime sets the LastFailedEvaluationTime field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastFailedEvaluationTime ( v time . Time ) * ConfigRuleEvaluationStatus {
s . LastFailedEvaluationTime = & v
return s
}
// SetLastFailedInvocationTime sets the LastFailedInvocationTime field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastFailedInvocationTime ( v time . Time ) * ConfigRuleEvaluationStatus {
s . LastFailedInvocationTime = & v
return s
}
// SetLastSuccessfulEvaluationTime sets the LastSuccessfulEvaluationTime field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastSuccessfulEvaluationTime ( v time . Time ) * ConfigRuleEvaluationStatus {
s . LastSuccessfulEvaluationTime = & v
return s
}
// SetLastSuccessfulInvocationTime sets the LastSuccessfulInvocationTime field's value.
func ( s * ConfigRuleEvaluationStatus ) SetLastSuccessfulInvocationTime ( v time . Time ) * ConfigRuleEvaluationStatus {
s . LastSuccessfulInvocationTime = & v
return s
}
// Provides options for how often AWS Config delivers configuration snapshots
// to the Amazon S3 bucket in your delivery channel.
//
// If you want to create a rule that triggers evaluations for your resources
// when AWS Config delivers the configuration snapshot, see the following:
//
// The frequency for a rule that triggers evaluations for your resources when
// AWS Config delivers the configuration snapshot is set by one of two values,
// depending on which is less frequent:
//
// * The value for the deliveryFrequency parameter within the delivery channel
// configuration, which sets how often AWS Config delivers configuration
// snapshots. This value also sets how often AWS Config invokes evaluations
// for Config rules.
//
// * The value for the MaximumExecutionFrequency parameter, which sets the
// maximum frequency with which AWS Config invokes evaluations for the rule.
// For more information, see ConfigRule.
//
// If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
// value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
// value.
//
// For example, you want your rule to run evaluations when AWS Config delivers
// the configuration snapshot.
//
// You specify the MaximumExecutionFrequency value for Six_Hours.
//
// You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
//
// Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
// AWS Config invokes evaluations for the rule every 24 hours.
//
// You should set the MaximumExecutionFrequency value to be at least as frequent
// as the deliveryFrequency value. You can view the deliveryFrequency value
// by using the DescribeDeliveryChannnels action.
//
// To update the deliveryFrequency with which AWS Config delivers your configuration
// snapshots, use the PutDeliveryChannel action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigSnapshotDeliveryProperties
type ConfigSnapshotDeliveryProperties struct {
_ struct { } ` type:"structure" `
// The frequency with which AWS Config delivers configuration snapshots.
DeliveryFrequency * string ` locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency" `
}
// String returns the string representation
func ( s ConfigSnapshotDeliveryProperties ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigSnapshotDeliveryProperties ) GoString ( ) string {
return s . String ( )
}
// SetDeliveryFrequency sets the DeliveryFrequency field's value.
func ( s * ConfigSnapshotDeliveryProperties ) SetDeliveryFrequency ( v string ) * ConfigSnapshotDeliveryProperties {
s . DeliveryFrequency = & v
return s
}
// A list that contains the status of the delivery of the configuration stream
// notification to the Amazon SNS topic.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigStreamDeliveryInfo
type ConfigStreamDeliveryInfo struct {
_ struct { } ` type:"structure" `
// The error code from the last attempted delivery.
LastErrorCode * string ` locationName:"lastErrorCode" type:"string" `
// The error message from the last attempted delivery.
LastErrorMessage * string ` locationName:"lastErrorMessage" type:"string" `
// Status of the last attempted delivery.
//
// Note Providing an SNS topic on a DeliveryChannel (http://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
// for AWS Config is optional. If the SNS delivery is turned off, the last status
// will be Not_Applicable.
LastStatus * string ` locationName:"lastStatus" type:"string" enum:"DeliveryStatus" `
// The time from the last status change.
LastStatusChangeTime * time . Time ` locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix" `
}
// String returns the string representation
func ( s ConfigStreamDeliveryInfo ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigStreamDeliveryInfo ) GoString ( ) string {
return s . String ( )
}
// SetLastErrorCode sets the LastErrorCode field's value.
func ( s * ConfigStreamDeliveryInfo ) SetLastErrorCode ( v string ) * ConfigStreamDeliveryInfo {
s . LastErrorCode = & v
return s
}
// SetLastErrorMessage sets the LastErrorMessage field's value.
func ( s * ConfigStreamDeliveryInfo ) SetLastErrorMessage ( v string ) * ConfigStreamDeliveryInfo {
s . LastErrorMessage = & v
return s
}
// SetLastStatus sets the LastStatus field's value.
func ( s * ConfigStreamDeliveryInfo ) SetLastStatus ( v string ) * ConfigStreamDeliveryInfo {
s . LastStatus = & v
return s
}
// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
func ( s * ConfigStreamDeliveryInfo ) SetLastStatusChangeTime ( v time . Time ) * ConfigStreamDeliveryInfo {
s . LastStatusChangeTime = & v
return s
}
// A list that contains detailed configurations of a specified resource.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigurationItem
type ConfigurationItem struct {
_ struct { } ` type:"structure" `
// The 12 digit AWS account ID associated with the resource.
AccountId * string ` locationName:"accountId" type:"string" `
// The Amazon Resource Name (ARN) of the resource.
Arn * string ` locationName:"arn" type:"string" `
// The Availability Zone associated with the resource.
AvailabilityZone * string ` locationName:"availabilityZone" type:"string" `
// The region where the resource resides.
AwsRegion * string ` locationName:"awsRegion" type:"string" `
// The description of the resource configuration.
Configuration * string ` locationName:"configuration" type:"string" `
// The time when the configuration recording was initiated.
ConfigurationItemCaptureTime * time . Time ` locationName:"configurationItemCaptureTime" type:"timestamp" timestampFormat:"unix" `
// Unique MD5 hash that represents the configuration item's state.
//
// You can use MD5 hash to compare the states of two or more configuration items
// that are associated with the same resource.
ConfigurationItemMD5Hash * string ` locationName:"configurationItemMD5Hash" type:"string" `
// The configuration item status.
ConfigurationItemStatus * string ` locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus" `
// An identifier that indicates the ordering of the configuration items of a
// resource.
ConfigurationStateId * string ` locationName:"configurationStateId" type:"string" `
// A list of CloudTrail event IDs.
//
// A populated field indicates that the current configuration was initiated
// by the events recorded in the CloudTrail log. For more information about
// CloudTrail, see What is AWS CloudTrail? (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
//
// An empty field indicates that the current configuration was not initiated
// by any event.
RelatedEvents [ ] * string ` locationName:"relatedEvents" type:"list" `
// A list of related AWS resources.
Relationships [ ] * Relationship ` locationName:"relationships" type:"list" `
// The time stamp when the resource was created.
ResourceCreationTime * time . Time ` locationName:"resourceCreationTime" type:"timestamp" timestampFormat:"unix" `
// The ID of the resource (for example., sg-xxxxxx).
ResourceId * string ` locationName:"resourceId" type:"string" `
// The custom name of the resource, if available.
ResourceName * string ` locationName:"resourceName" type:"string" `
// The type of AWS resource.
ResourceType * string ` locationName:"resourceType" type:"string" enum:"ResourceType" `
// Configuration attributes that AWS Config returns for certain resource types
// to supplement the information returned for the configuration parameter.
SupplementaryConfiguration map [ string ] * string ` locationName:"supplementaryConfiguration" type:"map" `
// A mapping of key value tags associated with the resource.
Tags map [ string ] * string ` locationName:"tags" type:"map" `
// The version number of the resource configuration.
Version * string ` locationName:"version" type:"string" `
}
// String returns the string representation
func ( s ConfigurationItem ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigurationItem ) GoString ( ) string {
return s . String ( )
}
// SetAccountId sets the AccountId field's value.
func ( s * ConfigurationItem ) SetAccountId ( v string ) * ConfigurationItem {
s . AccountId = & v
return s
}
// SetArn sets the Arn field's value.
func ( s * ConfigurationItem ) SetArn ( v string ) * ConfigurationItem {
s . Arn = & v
return s
}
// SetAvailabilityZone sets the AvailabilityZone field's value.
func ( s * ConfigurationItem ) SetAvailabilityZone ( v string ) * ConfigurationItem {
s . AvailabilityZone = & v
return s
}
// SetAwsRegion sets the AwsRegion field's value.
func ( s * ConfigurationItem ) SetAwsRegion ( v string ) * ConfigurationItem {
s . AwsRegion = & v
return s
}
// SetConfiguration sets the Configuration field's value.
func ( s * ConfigurationItem ) SetConfiguration ( v string ) * ConfigurationItem {
s . Configuration = & v
return s
}
// SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
func ( s * ConfigurationItem ) SetConfigurationItemCaptureTime ( v time . Time ) * ConfigurationItem {
s . ConfigurationItemCaptureTime = & v
return s
}
// SetConfigurationItemMD5Hash sets the ConfigurationItemMD5Hash field's value.
func ( s * ConfigurationItem ) SetConfigurationItemMD5Hash ( v string ) * ConfigurationItem {
s . ConfigurationItemMD5Hash = & v
return s
}
// SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
func ( s * ConfigurationItem ) SetConfigurationItemStatus ( v string ) * ConfigurationItem {
s . ConfigurationItemStatus = & v
return s
}
// SetConfigurationStateId sets the ConfigurationStateId field's value.
func ( s * ConfigurationItem ) SetConfigurationStateId ( v string ) * ConfigurationItem {
s . ConfigurationStateId = & v
return s
}
// SetRelatedEvents sets the RelatedEvents field's value.
func ( s * ConfigurationItem ) SetRelatedEvents ( v [ ] * string ) * ConfigurationItem {
s . RelatedEvents = v
return s
}
// SetRelationships sets the Relationships field's value.
func ( s * ConfigurationItem ) SetRelationships ( v [ ] * Relationship ) * ConfigurationItem {
s . Relationships = v
return s
}
// SetResourceCreationTime sets the ResourceCreationTime field's value.
func ( s * ConfigurationItem ) SetResourceCreationTime ( v time . Time ) * ConfigurationItem {
s . ResourceCreationTime = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * ConfigurationItem ) SetResourceId ( v string ) * ConfigurationItem {
s . ResourceId = & v
return s
}
// SetResourceName sets the ResourceName field's value.
func ( s * ConfigurationItem ) SetResourceName ( v string ) * ConfigurationItem {
s . ResourceName = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * ConfigurationItem ) SetResourceType ( v string ) * ConfigurationItem {
s . ResourceType = & v
return s
}
// SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
func ( s * ConfigurationItem ) SetSupplementaryConfiguration ( v map [ string ] * string ) * ConfigurationItem {
s . SupplementaryConfiguration = v
return s
}
// SetTags sets the Tags field's value.
func ( s * ConfigurationItem ) SetTags ( v map [ string ] * string ) * ConfigurationItem {
s . Tags = v
return s
}
// SetVersion sets the Version field's value.
func ( s * ConfigurationItem ) SetVersion ( v string ) * ConfigurationItem {
s . Version = & v
return s
}
// An object that represents the recording of configuration changes of an AWS
// resource.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigurationRecorder
type ConfigurationRecorder struct {
_ struct { } ` type:"structure" `
// The name of the recorder. By default, AWS Config automatically assigns the
// name "default" when creating the configuration recorder. You cannot change
// the assigned name.
Name * string ` locationName:"name" min:"1" type:"string" `
// Specifies the types of AWS resource for which AWS Config records configuration
// changes.
RecordingGroup * RecordingGroup ` locationName:"recordingGroup" type:"structure" `
// Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources
// associated with the account.
RoleARN * string ` locationName:"roleARN" type:"string" `
}
// String returns the string representation
func ( s ConfigurationRecorder ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigurationRecorder ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * ConfigurationRecorder ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "ConfigurationRecorder" }
if s . Name != nil && len ( * s . Name ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "Name" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func ( s * ConfigurationRecorder ) SetName ( v string ) * ConfigurationRecorder {
s . Name = & v
return s
}
// SetRecordingGroup sets the RecordingGroup field's value.
func ( s * ConfigurationRecorder ) SetRecordingGroup ( v * RecordingGroup ) * ConfigurationRecorder {
s . RecordingGroup = v
return s
}
// SetRoleARN sets the RoleARN field's value.
func ( s * ConfigurationRecorder ) SetRoleARN ( v string ) * ConfigurationRecorder {
s . RoleARN = & v
return s
}
// The current status of the configuration recorder.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigurationRecorderStatus
type ConfigurationRecorderStatus struct {
_ struct { } ` type:"structure" `
// The error code indicating that the recording failed.
LastErrorCode * string ` locationName:"lastErrorCode" type:"string" `
// The message indicating that the recording failed due to an error.
LastErrorMessage * string ` locationName:"lastErrorMessage" type:"string" `
// The time the recorder was last started.
LastStartTime * time . Time ` locationName:"lastStartTime" type:"timestamp" timestampFormat:"unix" `
// The last (previous) status of the recorder.
LastStatus * string ` locationName:"lastStatus" type:"string" enum:"RecorderStatus" `
// The time when the status was last changed.
LastStatusChangeTime * time . Time ` locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix" `
// The time the recorder was last stopped.
LastStopTime * time . Time ` locationName:"lastStopTime" type:"timestamp" timestampFormat:"unix" `
// The name of the configuration recorder.
Name * string ` locationName:"name" type:"string" `
// Specifies whether the recorder is currently recording or not.
Recording * bool ` locationName:"recording" type:"boolean" `
}
// String returns the string representation
func ( s ConfigurationRecorderStatus ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ConfigurationRecorderStatus ) GoString ( ) string {
return s . String ( )
}
// SetLastErrorCode sets the LastErrorCode field's value.
func ( s * ConfigurationRecorderStatus ) SetLastErrorCode ( v string ) * ConfigurationRecorderStatus {
s . LastErrorCode = & v
return s
}
// SetLastErrorMessage sets the LastErrorMessage field's value.
func ( s * ConfigurationRecorderStatus ) SetLastErrorMessage ( v string ) * ConfigurationRecorderStatus {
s . LastErrorMessage = & v
return s
}
// SetLastStartTime sets the LastStartTime field's value.
func ( s * ConfigurationRecorderStatus ) SetLastStartTime ( v time . Time ) * ConfigurationRecorderStatus {
s . LastStartTime = & v
return s
}
// SetLastStatus sets the LastStatus field's value.
func ( s * ConfigurationRecorderStatus ) SetLastStatus ( v string ) * ConfigurationRecorderStatus {
s . LastStatus = & v
return s
}
// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
func ( s * ConfigurationRecorderStatus ) SetLastStatusChangeTime ( v time . Time ) * ConfigurationRecorderStatus {
s . LastStatusChangeTime = & v
return s
}
// SetLastStopTime sets the LastStopTime field's value.
func ( s * ConfigurationRecorderStatus ) SetLastStopTime ( v time . Time ) * ConfigurationRecorderStatus {
s . LastStopTime = & v
return s
}
// SetName sets the Name field's value.
func ( s * ConfigurationRecorderStatus ) SetName ( v string ) * ConfigurationRecorderStatus {
s . Name = & v
return s
}
// SetRecording sets the Recording field's value.
func ( s * ConfigurationRecorderStatus ) SetRecording ( v bool ) * ConfigurationRecorderStatus {
s . Recording = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRuleRequest
type DeleteConfigRuleInput struct {
_ struct { } ` type:"structure" `
// The name of the AWS Config rule that you want to delete.
//
// ConfigRuleName is a required field
ConfigRuleName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s DeleteConfigRuleInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteConfigRuleInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeleteConfigRuleInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeleteConfigRuleInput" }
if s . ConfigRuleName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigRuleName" ) )
}
if s . ConfigRuleName != nil && len ( * s . ConfigRuleName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigRuleName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * DeleteConfigRuleInput ) SetConfigRuleName ( v string ) * DeleteConfigRuleInput {
s . ConfigRuleName = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRuleOutput
type DeleteConfigRuleOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s DeleteConfigRuleOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteConfigRuleOutput ) GoString ( ) string {
return s . String ( )
}
// The request object for the DeleteConfigurationRecorder action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorderRequest
type DeleteConfigurationRecorderInput struct {
_ struct { } ` type:"structure" `
// The name of the configuration recorder to be deleted. You can retrieve the
// name of your configuration recorder by using the DescribeConfigurationRecorders
// action.
//
// ConfigurationRecorderName is a required field
ConfigurationRecorderName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s DeleteConfigurationRecorderInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteConfigurationRecorderInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeleteConfigurationRecorderInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeleteConfigurationRecorderInput" }
if s . ConfigurationRecorderName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigurationRecorderName" ) )
}
if s . ConfigurationRecorderName != nil && len ( * s . ConfigurationRecorderName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigurationRecorderName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
func ( s * DeleteConfigurationRecorderInput ) SetConfigurationRecorderName ( v string ) * DeleteConfigurationRecorderInput {
s . ConfigurationRecorderName = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorderOutput
type DeleteConfigurationRecorderOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s DeleteConfigurationRecorderOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteConfigurationRecorderOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the DeleteDeliveryChannel action. The action accepts the following
// data in JSON format.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannelRequest
type DeleteDeliveryChannelInput struct {
_ struct { } ` type:"structure" `
// The name of the delivery channel to delete.
//
// DeliveryChannelName is a required field
DeliveryChannelName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s DeleteDeliveryChannelInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteDeliveryChannelInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeleteDeliveryChannelInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeleteDeliveryChannelInput" }
if s . DeliveryChannelName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "DeliveryChannelName" ) )
}
if s . DeliveryChannelName != nil && len ( * s . DeliveryChannelName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "DeliveryChannelName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetDeliveryChannelName sets the DeliveryChannelName field's value.
func ( s * DeleteDeliveryChannelInput ) SetDeliveryChannelName ( v string ) * DeleteDeliveryChannelInput {
s . DeliveryChannelName = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannelOutput
type DeleteDeliveryChannelOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s DeleteDeliveryChannelOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteDeliveryChannelOutput ) GoString ( ) string {
return s . String ( )
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResultsRequest
type DeleteEvaluationResultsInput struct {
_ struct { } ` type:"structure" `
// The name of the Config rule for which you want to delete the evaluation results.
//
// ConfigRuleName is a required field
ConfigRuleName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s DeleteEvaluationResultsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteEvaluationResultsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeleteEvaluationResultsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeleteEvaluationResultsInput" }
if s . ConfigRuleName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigRuleName" ) )
}
if s . ConfigRuleName != nil && len ( * s . ConfigRuleName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigRuleName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * DeleteEvaluationResultsInput ) SetConfigRuleName ( v string ) * DeleteEvaluationResultsInput {
s . ConfigRuleName = & v
return s
}
// The output when you delete the evaluation results for the specified Config
// rule.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResultsResponse
type DeleteEvaluationResultsOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s DeleteEvaluationResultsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteEvaluationResultsOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the DeliverConfigSnapshot action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshotRequest
type DeliverConfigSnapshotInput struct {
_ struct { } ` type:"structure" `
// The name of the delivery channel through which the snapshot is delivered.
//
// DeliveryChannelName is a required field
DeliveryChannelName * string ` locationName:"deliveryChannelName" min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s DeliverConfigSnapshotInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeliverConfigSnapshotInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeliverConfigSnapshotInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeliverConfigSnapshotInput" }
if s . DeliveryChannelName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "DeliveryChannelName" ) )
}
if s . DeliveryChannelName != nil && len ( * s . DeliveryChannelName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "DeliveryChannelName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetDeliveryChannelName sets the DeliveryChannelName field's value.
func ( s * DeliverConfigSnapshotInput ) SetDeliveryChannelName ( v string ) * DeliverConfigSnapshotInput {
s . DeliveryChannelName = & v
return s
}
// The output for the DeliverConfigSnapshot action in JSON format.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshotResponse
type DeliverConfigSnapshotOutput struct {
_ struct { } ` type:"structure" `
// The ID of the snapshot that is being created.
ConfigSnapshotId * string ` locationName:"configSnapshotId" type:"string" `
}
// String returns the string representation
func ( s DeliverConfigSnapshotOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeliverConfigSnapshotOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigSnapshotId sets the ConfigSnapshotId field's value.
func ( s * DeliverConfigSnapshotOutput ) SetConfigSnapshotId ( v string ) * DeliverConfigSnapshotOutput {
s . ConfigSnapshotId = & v
return s
}
// The channel through which AWS Config delivers notifications and updated configuration
// states.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliveryChannel
type DeliveryChannel struct {
_ struct { } ` type:"structure" `
// Provides options for how often AWS Config delivers configuration snapshots
// to the Amazon S3 bucket in your delivery channel.
//
// If you want to create a rule that triggers evaluations for your resources
// when AWS Config delivers the configuration snapshot, see the following:
//
// The frequency for a rule that triggers evaluations for your resources when
// AWS Config delivers the configuration snapshot is set by one of two values,
// depending on which is less frequent:
//
// * The value for the deliveryFrequency parameter within the delivery channel
// configuration, which sets how often AWS Config delivers configuration
// snapshots. This value also sets how often AWS Config invokes evaluations
// for Config rules.
//
// * The value for the MaximumExecutionFrequency parameter, which sets the
// maximum frequency with which AWS Config invokes evaluations for the rule.
// For more information, see ConfigRule.
//
// If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
// value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
// value.
//
// For example, you want your rule to run evaluations when AWS Config delivers
// the configuration snapshot.
//
// You specify the MaximumExecutionFrequency value for Six_Hours.
//
// You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
//
// Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
// AWS Config invokes evaluations for the rule every 24 hours.
//
// You should set the MaximumExecutionFrequency value to be at least as frequent
// as the deliveryFrequency value. You can view the deliveryFrequency value
// by using the DescribeDeliveryChannnels action.
//
// To update the deliveryFrequency with which AWS Config delivers your configuration
// snapshots, use the PutDeliveryChannel action.
ConfigSnapshotDeliveryProperties * ConfigSnapshotDeliveryProperties ` locationName:"configSnapshotDeliveryProperties" type:"structure" `
// The name of the delivery channel. By default, AWS Config assigns the name
// "default" when creating the delivery channel. To change the delivery channel
// name, you must use the DeleteDeliveryChannel action to delete your current
// delivery channel, and then you must use the PutDeliveryChannel command to
// create a delivery channel that has the desired name.
Name * string ` locationName:"name" min:"1" type:"string" `
// The name of the Amazon S3 bucket to which AWS Config delivers configuration
// snapshots and configuration history files.
//
// If you specify a bucket that belongs to another AWS account, that bucket
// must have policies that grant access permissions to AWS Config. For more
// information, see Permissions for the Amazon S3 Bucket (http://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
// in the AWS Config Developer Guide.
S3BucketName * string ` locationName:"s3BucketName" type:"string" `
// The prefix for the specified Amazon S3 bucket.
S3KeyPrefix * string ` locationName:"s3KeyPrefix" type:"string" `
// The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config
// sends notifications about configuration changes.
//
// If you choose a topic from another account, the topic must have policies
// that grant access permissions to AWS Config. For more information, see Permissions
// for the Amazon SNS Topic (http://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
// in the AWS Config Developer Guide.
SnsTopicARN * string ` locationName:"snsTopicARN" type:"string" `
}
// String returns the string representation
func ( s DeliveryChannel ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeliveryChannel ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeliveryChannel ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeliveryChannel" }
if s . Name != nil && len ( * s . Name ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "Name" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigSnapshotDeliveryProperties sets the ConfigSnapshotDeliveryProperties field's value.
func ( s * DeliveryChannel ) SetConfigSnapshotDeliveryProperties ( v * ConfigSnapshotDeliveryProperties ) * DeliveryChannel {
s . ConfigSnapshotDeliveryProperties = v
return s
}
// SetName sets the Name field's value.
func ( s * DeliveryChannel ) SetName ( v string ) * DeliveryChannel {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * DeliveryChannel ) SetS3BucketName ( v string ) * DeliveryChannel {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * DeliveryChannel ) SetS3KeyPrefix ( v string ) * DeliveryChannel {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicARN sets the SnsTopicARN field's value.
func ( s * DeliveryChannel ) SetSnsTopicARN ( v string ) * DeliveryChannel {
s . SnsTopicARN = & v
return s
}
// The status of a specified delivery channel.
//
// Valid values: Success | Failure
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliveryChannelStatus
type DeliveryChannelStatus struct {
_ struct { } ` type:"structure" `
// A list that contains the status of the delivery of the configuration history
// to the specified Amazon S3 bucket.
ConfigHistoryDeliveryInfo * ConfigExportDeliveryInfo ` locationName:"configHistoryDeliveryInfo" type:"structure" `
// A list containing the status of the delivery of the snapshot to the specified
// Amazon S3 bucket.
ConfigSnapshotDeliveryInfo * ConfigExportDeliveryInfo ` locationName:"configSnapshotDeliveryInfo" type:"structure" `
// A list containing the status of the delivery of the configuration stream
// notification to the specified Amazon SNS topic.
ConfigStreamDeliveryInfo * ConfigStreamDeliveryInfo ` locationName:"configStreamDeliveryInfo" type:"structure" `
// The name of the delivery channel.
Name * string ` locationName:"name" type:"string" `
}
// String returns the string representation
func ( s DeliveryChannelStatus ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeliveryChannelStatus ) GoString ( ) string {
return s . String ( )
}
// SetConfigHistoryDeliveryInfo sets the ConfigHistoryDeliveryInfo field's value.
func ( s * DeliveryChannelStatus ) SetConfigHistoryDeliveryInfo ( v * ConfigExportDeliveryInfo ) * DeliveryChannelStatus {
s . ConfigHistoryDeliveryInfo = v
return s
}
// SetConfigSnapshotDeliveryInfo sets the ConfigSnapshotDeliveryInfo field's value.
func ( s * DeliveryChannelStatus ) SetConfigSnapshotDeliveryInfo ( v * ConfigExportDeliveryInfo ) * DeliveryChannelStatus {
s . ConfigSnapshotDeliveryInfo = v
return s
}
// SetConfigStreamDeliveryInfo sets the ConfigStreamDeliveryInfo field's value.
func ( s * DeliveryChannelStatus ) SetConfigStreamDeliveryInfo ( v * ConfigStreamDeliveryInfo ) * DeliveryChannelStatus {
s . ConfigStreamDeliveryInfo = v
return s
}
// SetName sets the Name field's value.
func ( s * DeliveryChannelStatus ) SetName ( v string ) * DeliveryChannelStatus {
s . Name = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRuleRequest
type DescribeComplianceByConfigRuleInput struct {
_ struct { } ` type:"structure" `
// Filters the results by compliance.
//
// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
ComplianceTypes [ ] * string ` type:"list" `
// Specify one or more AWS Config rule names to filter the results by rule.
ConfigRuleNames [ ] * string ` type:"list" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeComplianceByConfigRuleInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeComplianceByConfigRuleInput ) GoString ( ) string {
return s . String ( )
}
// SetComplianceTypes sets the ComplianceTypes field's value.
func ( s * DescribeComplianceByConfigRuleInput ) SetComplianceTypes ( v [ ] * string ) * DescribeComplianceByConfigRuleInput {
s . ComplianceTypes = v
return s
}
// SetConfigRuleNames sets the ConfigRuleNames field's value.
func ( s * DescribeComplianceByConfigRuleInput ) SetConfigRuleNames ( v [ ] * string ) * DescribeComplianceByConfigRuleInput {
s . ConfigRuleNames = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeComplianceByConfigRuleInput ) SetNextToken ( v string ) * DescribeComplianceByConfigRuleInput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRuleResponse
type DescribeComplianceByConfigRuleOutput struct {
_ struct { } ` type:"structure" `
// Indicates whether each of the specified AWS Config rules is compliant.
ComplianceByConfigRules [ ] * ComplianceByConfigRule ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeComplianceByConfigRuleOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeComplianceByConfigRuleOutput ) GoString ( ) string {
return s . String ( )
}
// SetComplianceByConfigRules sets the ComplianceByConfigRules field's value.
func ( s * DescribeComplianceByConfigRuleOutput ) SetComplianceByConfigRules ( v [ ] * ComplianceByConfigRule ) * DescribeComplianceByConfigRuleOutput {
s . ComplianceByConfigRules = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeComplianceByConfigRuleOutput ) SetNextToken ( v string ) * DescribeComplianceByConfigRuleOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResourceRequest
type DescribeComplianceByResourceInput struct {
_ struct { } ` type:"structure" `
// Filters the results by compliance.
//
// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
ComplianceTypes [ ] * string ` type:"list" `
// The maximum number of evaluation results returned on each page. The default
// is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
// Config uses the default.
Limit * int64 ` type:"integer" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
// The ID of the AWS resource for which you want compliance information. You
// can specify only one resource ID. If you specify a resource ID, you must
// also specify a type for ResourceType.
ResourceId * string ` min:"1" type:"string" `
// The types of AWS resources for which you want compliance information; for
// example, AWS::EC2::Instance. For this action, you can specify that the resource
// type is an AWS account by specifying AWS::::Account.
ResourceType * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s DescribeComplianceByResourceInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeComplianceByResourceInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DescribeComplianceByResourceInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DescribeComplianceByResourceInput" }
if s . ResourceId != nil && len ( * s . ResourceId ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ResourceId" , 1 ) )
}
if s . ResourceType != nil && len ( * s . ResourceType ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ResourceType" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetComplianceTypes sets the ComplianceTypes field's value.
func ( s * DescribeComplianceByResourceInput ) SetComplianceTypes ( v [ ] * string ) * DescribeComplianceByResourceInput {
s . ComplianceTypes = v
return s
}
// SetLimit sets the Limit field's value.
func ( s * DescribeComplianceByResourceInput ) SetLimit ( v int64 ) * DescribeComplianceByResourceInput {
s . Limit = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeComplianceByResourceInput ) SetNextToken ( v string ) * DescribeComplianceByResourceInput {
s . NextToken = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * DescribeComplianceByResourceInput ) SetResourceId ( v string ) * DescribeComplianceByResourceInput {
s . ResourceId = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * DescribeComplianceByResourceInput ) SetResourceType ( v string ) * DescribeComplianceByResourceInput {
s . ResourceType = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResourceResponse
type DescribeComplianceByResourceOutput struct {
_ struct { } ` type:"structure" `
// Indicates whether the specified AWS resource complies with all of the AWS
// Config rules that evaluate it.
ComplianceByResources [ ] * ComplianceByResource ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeComplianceByResourceOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeComplianceByResourceOutput ) GoString ( ) string {
return s . String ( )
}
// SetComplianceByResources sets the ComplianceByResources field's value.
func ( s * DescribeComplianceByResourceOutput ) SetComplianceByResources ( v [ ] * ComplianceByResource ) * DescribeComplianceByResourceOutput {
s . ComplianceByResources = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeComplianceByResourceOutput ) SetNextToken ( v string ) * DescribeComplianceByResourceOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatusRequest
type DescribeConfigRuleEvaluationStatusInput struct {
_ struct { } ` type:"structure" `
// The name of the AWS managed Config rules for which you want status information.
// If you do not specify any names, AWS Config returns status information for
// all AWS managed Config rules that you use.
ConfigRuleNames [ ] * string ` type:"list" `
// The number of rule evaluation results that you want returned.
//
// This parameter is required if the rule limit for your account is more than
// the default of 50 rules.
//
// For more information about requesting a rule limit increase, see AWS Config
// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
// in the AWS General Reference Guide.
Limit * int64 ` type:"integer" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeConfigRuleEvaluationStatusInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigRuleEvaluationStatusInput ) GoString ( ) string {
return s . String ( )
}
// SetConfigRuleNames sets the ConfigRuleNames field's value.
func ( s * DescribeConfigRuleEvaluationStatusInput ) SetConfigRuleNames ( v [ ] * string ) * DescribeConfigRuleEvaluationStatusInput {
s . ConfigRuleNames = v
return s
}
// SetLimit sets the Limit field's value.
func ( s * DescribeConfigRuleEvaluationStatusInput ) SetLimit ( v int64 ) * DescribeConfigRuleEvaluationStatusInput {
s . Limit = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeConfigRuleEvaluationStatusInput ) SetNextToken ( v string ) * DescribeConfigRuleEvaluationStatusInput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatusResponse
type DescribeConfigRuleEvaluationStatusOutput struct {
_ struct { } ` type:"structure" `
// Status information about your AWS managed Config rules.
ConfigRulesEvaluationStatus [ ] * ConfigRuleEvaluationStatus ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeConfigRuleEvaluationStatusOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigRuleEvaluationStatusOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigRulesEvaluationStatus sets the ConfigRulesEvaluationStatus field's value.
func ( s * DescribeConfigRuleEvaluationStatusOutput ) SetConfigRulesEvaluationStatus ( v [ ] * ConfigRuleEvaluationStatus ) * DescribeConfigRuleEvaluationStatusOutput {
s . ConfigRulesEvaluationStatus = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeConfigRuleEvaluationStatusOutput ) SetNextToken ( v string ) * DescribeConfigRuleEvaluationStatusOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRulesRequest
type DescribeConfigRulesInput struct {
_ struct { } ` type:"structure" `
// The names of the AWS Config rules for which you want details. If you do not
// specify any names, AWS Config returns details for all your rules.
ConfigRuleNames [ ] * string ` type:"list" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeConfigRulesInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigRulesInput ) GoString ( ) string {
return s . String ( )
}
// SetConfigRuleNames sets the ConfigRuleNames field's value.
func ( s * DescribeConfigRulesInput ) SetConfigRuleNames ( v [ ] * string ) * DescribeConfigRulesInput {
s . ConfigRuleNames = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeConfigRulesInput ) SetNextToken ( v string ) * DescribeConfigRulesInput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRulesResponse
type DescribeConfigRulesOutput struct {
_ struct { } ` type:"structure" `
// The details about your AWS Config rules.
ConfigRules [ ] * ConfigRule ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s DescribeConfigRulesOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigRulesOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigRules sets the ConfigRules field's value.
func ( s * DescribeConfigRulesOutput ) SetConfigRules ( v [ ] * ConfigRule ) * DescribeConfigRulesOutput {
s . ConfigRules = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * DescribeConfigRulesOutput ) SetNextToken ( v string ) * DescribeConfigRulesOutput {
s . NextToken = & v
return s
}
// The input for the DescribeConfigurationRecorderStatus action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatusRequest
type DescribeConfigurationRecorderStatusInput struct {
_ struct { } ` type:"structure" `
// The name(s) of the configuration recorder. If the name is not specified,
// the action returns the current status of all the configuration recorders
// associated with the account.
ConfigurationRecorderNames [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s DescribeConfigurationRecorderStatusInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigurationRecorderStatusInput ) GoString ( ) string {
return s . String ( )
}
// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
func ( s * DescribeConfigurationRecorderStatusInput ) SetConfigurationRecorderNames ( v [ ] * string ) * DescribeConfigurationRecorderStatusInput {
s . ConfigurationRecorderNames = v
return s
}
// The output for the DescribeConfigurationRecorderStatus action in JSON format.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatusResponse
type DescribeConfigurationRecorderStatusOutput struct {
_ struct { } ` type:"structure" `
// A list that contains status of the specified recorders.
ConfigurationRecordersStatus [ ] * ConfigurationRecorderStatus ` type:"list" `
}
// String returns the string representation
func ( s DescribeConfigurationRecorderStatusOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigurationRecorderStatusOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigurationRecordersStatus sets the ConfigurationRecordersStatus field's value.
func ( s * DescribeConfigurationRecorderStatusOutput ) SetConfigurationRecordersStatus ( v [ ] * ConfigurationRecorderStatus ) * DescribeConfigurationRecorderStatusOutput {
s . ConfigurationRecordersStatus = v
return s
}
// The input for the DescribeConfigurationRecorders action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecordersRequest
type DescribeConfigurationRecordersInput struct {
_ struct { } ` type:"structure" `
// A list of configuration recorder names.
ConfigurationRecorderNames [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s DescribeConfigurationRecordersInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigurationRecordersInput ) GoString ( ) string {
return s . String ( )
}
// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
func ( s * DescribeConfigurationRecordersInput ) SetConfigurationRecorderNames ( v [ ] * string ) * DescribeConfigurationRecordersInput {
s . ConfigurationRecorderNames = v
return s
}
// The output for the DescribeConfigurationRecorders action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecordersResponse
type DescribeConfigurationRecordersOutput struct {
_ struct { } ` type:"structure" `
// A list that contains the descriptions of the specified configuration recorders.
ConfigurationRecorders [ ] * ConfigurationRecorder ` type:"list" `
}
// String returns the string representation
func ( s DescribeConfigurationRecordersOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeConfigurationRecordersOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigurationRecorders sets the ConfigurationRecorders field's value.
func ( s * DescribeConfigurationRecordersOutput ) SetConfigurationRecorders ( v [ ] * ConfigurationRecorder ) * DescribeConfigurationRecordersOutput {
s . ConfigurationRecorders = v
return s
}
// The input for the DeliveryChannelStatus action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatusRequest
type DescribeDeliveryChannelStatusInput struct {
_ struct { } ` type:"structure" `
// A list of delivery channel names.
DeliveryChannelNames [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s DescribeDeliveryChannelStatusInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeDeliveryChannelStatusInput ) GoString ( ) string {
return s . String ( )
}
// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
func ( s * DescribeDeliveryChannelStatusInput ) SetDeliveryChannelNames ( v [ ] * string ) * DescribeDeliveryChannelStatusInput {
s . DeliveryChannelNames = v
return s
}
// The output for the DescribeDeliveryChannelStatus action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatusResponse
type DescribeDeliveryChannelStatusOutput struct {
_ struct { } ` type:"structure" `
// A list that contains the status of a specified delivery channel.
DeliveryChannelsStatus [ ] * DeliveryChannelStatus ` type:"list" `
}
// String returns the string representation
func ( s DescribeDeliveryChannelStatusOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeDeliveryChannelStatusOutput ) GoString ( ) string {
return s . String ( )
}
// SetDeliveryChannelsStatus sets the DeliveryChannelsStatus field's value.
func ( s * DescribeDeliveryChannelStatusOutput ) SetDeliveryChannelsStatus ( v [ ] * DeliveryChannelStatus ) * DescribeDeliveryChannelStatusOutput {
s . DeliveryChannelsStatus = v
return s
}
// The input for the DescribeDeliveryChannels action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelsRequest
type DescribeDeliveryChannelsInput struct {
_ struct { } ` type:"structure" `
// A list of delivery channel names.
DeliveryChannelNames [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s DescribeDeliveryChannelsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeDeliveryChannelsInput ) GoString ( ) string {
return s . String ( )
}
// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
func ( s * DescribeDeliveryChannelsInput ) SetDeliveryChannelNames ( v [ ] * string ) * DescribeDeliveryChannelsInput {
s . DeliveryChannelNames = v
return s
}
// The output for the DescribeDeliveryChannels action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelsResponse
type DescribeDeliveryChannelsOutput struct {
_ struct { } ` type:"structure" `
// A list that contains the descriptions of the specified delivery channel.
DeliveryChannels [ ] * DeliveryChannel ` type:"list" `
}
// String returns the string representation
func ( s DescribeDeliveryChannelsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeDeliveryChannelsOutput ) GoString ( ) string {
return s . String ( )
}
// SetDeliveryChannels sets the DeliveryChannels field's value.
func ( s * DescribeDeliveryChannelsOutput ) SetDeliveryChannels ( v [ ] * DeliveryChannel ) * DescribeDeliveryChannelsOutput {
s . DeliveryChannels = v
return s
}
// Identifies an AWS resource and indicates whether it complies with the AWS
// Config rule that it was evaluated against.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Evaluation
type Evaluation struct {
_ struct { } ` type:"structure" `
// Supplementary information about how the evaluation determined the compliance.
Annotation * string ` min:"1" type:"string" `
// The ID of the AWS resource that was evaluated.
//
// ComplianceResourceId is a required field
ComplianceResourceId * string ` min:"1" type:"string" required:"true" `
// The type of AWS resource that was evaluated.
//
// ComplianceResourceType is a required field
ComplianceResourceType * string ` min:"1" type:"string" required:"true" `
// Indicates whether the AWS resource complies with the AWS Config rule that
// it was evaluated against.
//
// For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT,
// and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA
// value for this data type.
//
// Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for
// ComplianceType from a PutEvaluations request. For example, an AWS Lambda
// function for a custom Config rule cannot pass an INSUFFICIENT_DATA value
// to AWS Config.
//
// ComplianceType is a required field
ComplianceType * string ` type:"string" required:"true" enum:"ComplianceType" `
// The time of the event in AWS Config that triggered the evaluation. For event-based
// evaluations, the time indicates when AWS Config created the configuration
// item that triggered the evaluation. For periodic evaluations, the time indicates
// when AWS Config triggered the evaluation at the frequency that you specified
// (for example, every 24 hours).
//
// OrderingTimestamp is a required field
OrderingTimestamp * time . Time ` type:"timestamp" timestampFormat:"unix" required:"true" `
}
// String returns the string representation
func ( s Evaluation ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Evaluation ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * Evaluation ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "Evaluation" }
if s . Annotation != nil && len ( * s . Annotation ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "Annotation" , 1 ) )
}
if s . ComplianceResourceId == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ComplianceResourceId" ) )
}
if s . ComplianceResourceId != nil && len ( * s . ComplianceResourceId ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ComplianceResourceId" , 1 ) )
}
if s . ComplianceResourceType == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ComplianceResourceType" ) )
}
if s . ComplianceResourceType != nil && len ( * s . ComplianceResourceType ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ComplianceResourceType" , 1 ) )
}
if s . ComplianceType == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ComplianceType" ) )
}
if s . OrderingTimestamp == nil {
invalidParams . Add ( request . NewErrParamRequired ( "OrderingTimestamp" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetAnnotation sets the Annotation field's value.
func ( s * Evaluation ) SetAnnotation ( v string ) * Evaluation {
s . Annotation = & v
return s
}
// SetComplianceResourceId sets the ComplianceResourceId field's value.
func ( s * Evaluation ) SetComplianceResourceId ( v string ) * Evaluation {
s . ComplianceResourceId = & v
return s
}
// SetComplianceResourceType sets the ComplianceResourceType field's value.
func ( s * Evaluation ) SetComplianceResourceType ( v string ) * Evaluation {
s . ComplianceResourceType = & v
return s
}
// SetComplianceType sets the ComplianceType field's value.
func ( s * Evaluation ) SetComplianceType ( v string ) * Evaluation {
s . ComplianceType = & v
return s
}
// SetOrderingTimestamp sets the OrderingTimestamp field's value.
func ( s * Evaluation ) SetOrderingTimestamp ( v time . Time ) * Evaluation {
s . OrderingTimestamp = & v
return s
}
// The details of an AWS Config evaluation. Provides the AWS resource that was
// evaluated, the compliance of the resource, related timestamps, and supplementary
// information.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/EvaluationResult
type EvaluationResult struct {
_ struct { } ` type:"structure" `
// Supplementary information about how the evaluation determined the compliance.
Annotation * string ` min:"1" type:"string" `
// Indicates whether the AWS resource complies with the AWS Config rule that
// evaluated it.
//
// For the EvaluationResult data type, AWS Config supports only the COMPLIANT,
// NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the
// INSUFFICIENT_DATA value for the EvaluationResult data type.
ComplianceType * string ` type:"string" enum:"ComplianceType" `
// The time when the AWS Config rule evaluated the AWS resource.
ConfigRuleInvokedTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// Uniquely identifies the evaluation result.
EvaluationResultIdentifier * EvaluationResultIdentifier ` type:"structure" `
// The time when AWS Config recorded the evaluation result.
ResultRecordedTime * time . Time ` type:"timestamp" timestampFormat:"unix" `
// An encrypted token that associates an evaluation with an AWS Config rule.
// The token identifies the rule, the AWS resource being evaluated, and the
// event that triggered the evaluation.
ResultToken * string ` type:"string" `
}
// String returns the string representation
func ( s EvaluationResult ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s EvaluationResult ) GoString ( ) string {
return s . String ( )
}
// SetAnnotation sets the Annotation field's value.
func ( s * EvaluationResult ) SetAnnotation ( v string ) * EvaluationResult {
s . Annotation = & v
return s
}
// SetComplianceType sets the ComplianceType field's value.
func ( s * EvaluationResult ) SetComplianceType ( v string ) * EvaluationResult {
s . ComplianceType = & v
return s
}
// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
func ( s * EvaluationResult ) SetConfigRuleInvokedTime ( v time . Time ) * EvaluationResult {
s . ConfigRuleInvokedTime = & v
return s
}
// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
func ( s * EvaluationResult ) SetEvaluationResultIdentifier ( v * EvaluationResultIdentifier ) * EvaluationResult {
s . EvaluationResultIdentifier = v
return s
}
// SetResultRecordedTime sets the ResultRecordedTime field's value.
func ( s * EvaluationResult ) SetResultRecordedTime ( v time . Time ) * EvaluationResult {
s . ResultRecordedTime = & v
return s
}
// SetResultToken sets the ResultToken field's value.
func ( s * EvaluationResult ) SetResultToken ( v string ) * EvaluationResult {
s . ResultToken = & v
return s
}
// Uniquely identifies an evaluation result.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/EvaluationResultIdentifier
type EvaluationResultIdentifier struct {
_ struct { } ` type:"structure" `
// Identifies an AWS Config rule used to evaluate an AWS resource, and provides
// the type and ID of the evaluated resource.
EvaluationResultQualifier * EvaluationResultQualifier ` type:"structure" `
// The time of the event that triggered the evaluation of your AWS resources.
// The time can indicate when AWS Config delivered a configuration item change
// notification, or it can indicate when AWS Config delivered the configuration
// snapshot, depending on which event triggered the evaluation.
OrderingTimestamp * time . Time ` type:"timestamp" timestampFormat:"unix" `
}
// String returns the string representation
func ( s EvaluationResultIdentifier ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s EvaluationResultIdentifier ) GoString ( ) string {
return s . String ( )
}
// SetEvaluationResultQualifier sets the EvaluationResultQualifier field's value.
func ( s * EvaluationResultIdentifier ) SetEvaluationResultQualifier ( v * EvaluationResultQualifier ) * EvaluationResultIdentifier {
s . EvaluationResultQualifier = v
return s
}
// SetOrderingTimestamp sets the OrderingTimestamp field's value.
func ( s * EvaluationResultIdentifier ) SetOrderingTimestamp ( v time . Time ) * EvaluationResultIdentifier {
s . OrderingTimestamp = & v
return s
}
// Identifies an AWS Config rule that evaluated an AWS resource, and provides
// the type and ID of the resource that the rule evaluated.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/EvaluationResultQualifier
type EvaluationResultQualifier struct {
_ struct { } ` type:"structure" `
// The name of the AWS Config rule that was used in the evaluation.
ConfigRuleName * string ` min:"1" type:"string" `
// The ID of the evaluated AWS resource.
ResourceId * string ` min:"1" type:"string" `
// The type of AWS resource that was evaluated.
ResourceType * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s EvaluationResultQualifier ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s EvaluationResultQualifier ) GoString ( ) string {
return s . String ( )
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * EvaluationResultQualifier ) SetConfigRuleName ( v string ) * EvaluationResultQualifier {
s . ConfigRuleName = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * EvaluationResultQualifier ) SetResourceId ( v string ) * EvaluationResultQualifier {
s . ResourceId = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * EvaluationResultQualifier ) SetResourceType ( v string ) * EvaluationResultQualifier {
s . ResourceType = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRuleRequest
type GetComplianceDetailsByConfigRuleInput struct {
_ struct { } ` type:"structure" `
// Filters the results by compliance.
//
// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
ComplianceTypes [ ] * string ` type:"list" `
// The name of the AWS Config rule for which you want compliance information.
//
// ConfigRuleName is a required field
ConfigRuleName * string ` min:"1" type:"string" required:"true" `
// The maximum number of evaluation results returned on each page. The default
// is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
// Config uses the default.
Limit * int64 ` type:"integer" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s GetComplianceDetailsByConfigRuleInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceDetailsByConfigRuleInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * GetComplianceDetailsByConfigRuleInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "GetComplianceDetailsByConfigRuleInput" }
if s . ConfigRuleName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigRuleName" ) )
}
if s . ConfigRuleName != nil && len ( * s . ConfigRuleName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigRuleName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetComplianceTypes sets the ComplianceTypes field's value.
func ( s * GetComplianceDetailsByConfigRuleInput ) SetComplianceTypes ( v [ ] * string ) * GetComplianceDetailsByConfigRuleInput {
s . ComplianceTypes = v
return s
}
// SetConfigRuleName sets the ConfigRuleName field's value.
func ( s * GetComplianceDetailsByConfigRuleInput ) SetConfigRuleName ( v string ) * GetComplianceDetailsByConfigRuleInput {
s . ConfigRuleName = & v
return s
}
// SetLimit sets the Limit field's value.
func ( s * GetComplianceDetailsByConfigRuleInput ) SetLimit ( v int64 ) * GetComplianceDetailsByConfigRuleInput {
s . Limit = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetComplianceDetailsByConfigRuleInput ) SetNextToken ( v string ) * GetComplianceDetailsByConfigRuleInput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRuleResponse
type GetComplianceDetailsByConfigRuleOutput struct {
_ struct { } ` type:"structure" `
// Indicates whether the AWS resource complies with the specified AWS Config
// rule.
EvaluationResults [ ] * EvaluationResult ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s GetComplianceDetailsByConfigRuleOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceDetailsByConfigRuleOutput ) GoString ( ) string {
return s . String ( )
}
// SetEvaluationResults sets the EvaluationResults field's value.
func ( s * GetComplianceDetailsByConfigRuleOutput ) SetEvaluationResults ( v [ ] * EvaluationResult ) * GetComplianceDetailsByConfigRuleOutput {
s . EvaluationResults = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetComplianceDetailsByConfigRuleOutput ) SetNextToken ( v string ) * GetComplianceDetailsByConfigRuleOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResourceRequest
type GetComplianceDetailsByResourceInput struct {
_ struct { } ` type:"structure" `
// Filters the results by compliance.
//
// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
ComplianceTypes [ ] * string ` type:"list" `
// The NextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` type:"string" `
// The ID of the AWS resource for which you want compliance information.
//
// ResourceId is a required field
ResourceId * string ` min:"1" type:"string" required:"true" `
// The type of the AWS resource for which you want compliance information.
//
// ResourceType is a required field
ResourceType * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s GetComplianceDetailsByResourceInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceDetailsByResourceInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * GetComplianceDetailsByResourceInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "GetComplianceDetailsByResourceInput" }
if s . ResourceId == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceId" ) )
}
if s . ResourceId != nil && len ( * s . ResourceId ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ResourceId" , 1 ) )
}
if s . ResourceType == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceType" ) )
}
if s . ResourceType != nil && len ( * s . ResourceType ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ResourceType" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetComplianceTypes sets the ComplianceTypes field's value.
func ( s * GetComplianceDetailsByResourceInput ) SetComplianceTypes ( v [ ] * string ) * GetComplianceDetailsByResourceInput {
s . ComplianceTypes = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetComplianceDetailsByResourceInput ) SetNextToken ( v string ) * GetComplianceDetailsByResourceInput {
s . NextToken = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * GetComplianceDetailsByResourceInput ) SetResourceId ( v string ) * GetComplianceDetailsByResourceInput {
s . ResourceId = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * GetComplianceDetailsByResourceInput ) SetResourceType ( v string ) * GetComplianceDetailsByResourceInput {
s . ResourceType = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResourceResponse
type GetComplianceDetailsByResourceOutput struct {
_ struct { } ` type:"structure" `
// Indicates whether the specified AWS resource complies each AWS Config rule.
EvaluationResults [ ] * EvaluationResult ` type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s GetComplianceDetailsByResourceOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceDetailsByResourceOutput ) GoString ( ) string {
return s . String ( )
}
// SetEvaluationResults sets the EvaluationResults field's value.
func ( s * GetComplianceDetailsByResourceOutput ) SetEvaluationResults ( v [ ] * EvaluationResult ) * GetComplianceDetailsByResourceOutput {
s . EvaluationResults = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetComplianceDetailsByResourceOutput ) SetNextToken ( v string ) * GetComplianceDetailsByResourceOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRuleInput
type GetComplianceSummaryByConfigRuleInput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s GetComplianceSummaryByConfigRuleInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceSummaryByConfigRuleInput ) GoString ( ) string {
return s . String ( )
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRuleResponse
type GetComplianceSummaryByConfigRuleOutput struct {
_ struct { } ` type:"structure" `
// The number of AWS Config rules that are compliant and the number that are
// noncompliant, up to a maximum of 25 for each.
ComplianceSummary * ComplianceSummary ` type:"structure" `
}
// String returns the string representation
func ( s GetComplianceSummaryByConfigRuleOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceSummaryByConfigRuleOutput ) GoString ( ) string {
return s . String ( )
}
// SetComplianceSummary sets the ComplianceSummary field's value.
func ( s * GetComplianceSummaryByConfigRuleOutput ) SetComplianceSummary ( v * ComplianceSummary ) * GetComplianceSummaryByConfigRuleOutput {
s . ComplianceSummary = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceTypeRequest
type GetComplianceSummaryByResourceTypeInput struct {
_ struct { } ` type:"structure" `
// Specify one or more resource types to get the number of resources that are
// compliant and the number that are noncompliant for each resource type.
//
// For this request, you can specify an AWS resource type such as AWS::EC2::Instance,
// and you can specify that the resource type is an AWS account by specifying
// AWS::::Account.
ResourceTypes [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s GetComplianceSummaryByResourceTypeInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceSummaryByResourceTypeInput ) GoString ( ) string {
return s . String ( )
}
// SetResourceTypes sets the ResourceTypes field's value.
func ( s * GetComplianceSummaryByResourceTypeInput ) SetResourceTypes ( v [ ] * string ) * GetComplianceSummaryByResourceTypeInput {
s . ResourceTypes = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceTypeResponse
type GetComplianceSummaryByResourceTypeOutput struct {
_ struct { } ` type:"structure" `
// The number of resources that are compliant and the number that are noncompliant.
// If one or more resource types were provided with the request, the numbers
// are returned for each resource type. The maximum number returned is 100.
ComplianceSummariesByResourceType [ ] * ComplianceSummaryByResourceType ` type:"list" `
}
// String returns the string representation
func ( s GetComplianceSummaryByResourceTypeOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetComplianceSummaryByResourceTypeOutput ) GoString ( ) string {
return s . String ( )
}
// SetComplianceSummariesByResourceType sets the ComplianceSummariesByResourceType field's value.
func ( s * GetComplianceSummaryByResourceTypeOutput ) SetComplianceSummariesByResourceType ( v [ ] * ComplianceSummaryByResourceType ) * GetComplianceSummaryByResourceTypeOutput {
s . ComplianceSummariesByResourceType = v
return s
}
// The input for the GetResourceConfigHistory action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistoryRequest
type GetResourceConfigHistoryInput struct {
_ struct { } ` type:"structure" `
// The chronological order for configuration items listed. By default the results
// are listed in reverse chronological order.
ChronologicalOrder * string ` locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder" `
// The time stamp that indicates an earlier time. If not specified, the action
// returns paginated results that contain configuration items that start from
// when the first configuration item was recorded.
EarlierTime * time . Time ` locationName:"earlierTime" type:"timestamp" timestampFormat:"unix" `
// The time stamp that indicates a later time. If not specified, current time
// is taken.
LaterTime * time . Time ` locationName:"laterTime" type:"timestamp" timestampFormat:"unix" `
// The maximum number of configuration items returned on each page. The default
// is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
// Config uses the default.
Limit * int64 ` locationName:"limit" type:"integer" `
// The nextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` locationName:"nextToken" type:"string" `
// The ID of the resource (for example., sg-xxxxxx).
//
// ResourceId is a required field
ResourceId * string ` locationName:"resourceId" type:"string" required:"true" `
// The resource type.
//
// ResourceType is a required field
ResourceType * string ` locationName:"resourceType" type:"string" required:"true" enum:"ResourceType" `
}
// String returns the string representation
func ( s GetResourceConfigHistoryInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetResourceConfigHistoryInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * GetResourceConfigHistoryInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "GetResourceConfigHistoryInput" }
if s . ResourceId == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceId" ) )
}
if s . ResourceType == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceType" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetChronologicalOrder sets the ChronologicalOrder field's value.
func ( s * GetResourceConfigHistoryInput ) SetChronologicalOrder ( v string ) * GetResourceConfigHistoryInput {
s . ChronologicalOrder = & v
return s
}
// SetEarlierTime sets the EarlierTime field's value.
func ( s * GetResourceConfigHistoryInput ) SetEarlierTime ( v time . Time ) * GetResourceConfigHistoryInput {
s . EarlierTime = & v
return s
}
// SetLaterTime sets the LaterTime field's value.
func ( s * GetResourceConfigHistoryInput ) SetLaterTime ( v time . Time ) * GetResourceConfigHistoryInput {
s . LaterTime = & v
return s
}
// SetLimit sets the Limit field's value.
func ( s * GetResourceConfigHistoryInput ) SetLimit ( v int64 ) * GetResourceConfigHistoryInput {
s . Limit = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetResourceConfigHistoryInput ) SetNextToken ( v string ) * GetResourceConfigHistoryInput {
s . NextToken = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * GetResourceConfigHistoryInput ) SetResourceId ( v string ) * GetResourceConfigHistoryInput {
s . ResourceId = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * GetResourceConfigHistoryInput ) SetResourceType ( v string ) * GetResourceConfigHistoryInput {
s . ResourceType = & v
return s
}
// The output for the GetResourceConfigHistory action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistoryResponse
type GetResourceConfigHistoryOutput struct {
_ struct { } ` type:"structure" `
// A list that contains the configuration history of one or more resources.
ConfigurationItems [ ] * ConfigurationItem ` locationName:"configurationItems" type:"list" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` locationName:"nextToken" type:"string" `
}
// String returns the string representation
func ( s GetResourceConfigHistoryOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetResourceConfigHistoryOutput ) GoString ( ) string {
return s . String ( )
}
// SetConfigurationItems sets the ConfigurationItems field's value.
func ( s * GetResourceConfigHistoryOutput ) SetConfigurationItems ( v [ ] * ConfigurationItem ) * GetResourceConfigHistoryOutput {
s . ConfigurationItems = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * GetResourceConfigHistoryOutput ) SetNextToken ( v string ) * GetResourceConfigHistoryOutput {
s . NextToken = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResourcesRequest
type ListDiscoveredResourcesInput struct {
_ struct { } ` type:"structure" `
// Specifies whether AWS Config includes deleted resources in the results. By
// default, deleted resources are not included.
IncludeDeletedResources * bool ` locationName:"includeDeletedResources" type:"boolean" `
// The maximum number of resource identifiers returned on each page. The default
// is 100. You cannot specify a limit greater than 100. If you specify 0, AWS
// Config uses the default.
Limit * int64 ` locationName:"limit" type:"integer" `
// The nextToken string returned on a previous page that you use to get the
// next page of results in a paginated response.
NextToken * string ` locationName:"nextToken" type:"string" `
// The IDs of only those resources that you want AWS Config to list in the response.
// If you do not specify this parameter, AWS Config lists all resources of the
// specified type that it has discovered.
ResourceIds [ ] * string ` locationName:"resourceIds" type:"list" `
// The custom name of only those resources that you want AWS Config to list
// in the response. If you do not specify this parameter, AWS Config lists all
// resources of the specified type that it has discovered.
ResourceName * string ` locationName:"resourceName" type:"string" `
// The type of resources that you want AWS Config to list in the response.
//
// ResourceType is a required field
ResourceType * string ` locationName:"resourceType" type:"string" required:"true" enum:"ResourceType" `
}
// String returns the string representation
func ( s ListDiscoveredResourcesInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListDiscoveredResourcesInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * ListDiscoveredResourcesInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "ListDiscoveredResourcesInput" }
if s . ResourceType == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceType" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetIncludeDeletedResources sets the IncludeDeletedResources field's value.
func ( s * ListDiscoveredResourcesInput ) SetIncludeDeletedResources ( v bool ) * ListDiscoveredResourcesInput {
s . IncludeDeletedResources = & v
return s
}
// SetLimit sets the Limit field's value.
func ( s * ListDiscoveredResourcesInput ) SetLimit ( v int64 ) * ListDiscoveredResourcesInput {
s . Limit = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * ListDiscoveredResourcesInput ) SetNextToken ( v string ) * ListDiscoveredResourcesInput {
s . NextToken = & v
return s
}
// SetResourceIds sets the ResourceIds field's value.
func ( s * ListDiscoveredResourcesInput ) SetResourceIds ( v [ ] * string ) * ListDiscoveredResourcesInput {
s . ResourceIds = v
return s
}
// SetResourceName sets the ResourceName field's value.
func ( s * ListDiscoveredResourcesInput ) SetResourceName ( v string ) * ListDiscoveredResourcesInput {
s . ResourceName = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * ListDiscoveredResourcesInput ) SetResourceType ( v string ) * ListDiscoveredResourcesInput {
s . ResourceType = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResourcesResponse
type ListDiscoveredResourcesOutput struct {
_ struct { } ` type:"structure" `
// The string that you use in a subsequent request to get the next page of results
// in a paginated response.
NextToken * string ` locationName:"nextToken" type:"string" `
// The details that identify a resource that is discovered by AWS Config, including
// the resource type, ID, and (if available) the custom resource name.
ResourceIdentifiers [ ] * ResourceIdentifier ` locationName:"resourceIdentifiers" type:"list" `
}
// String returns the string representation
func ( s ListDiscoveredResourcesOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListDiscoveredResourcesOutput ) GoString ( ) string {
return s . String ( )
}
// SetNextToken sets the NextToken field's value.
func ( s * ListDiscoveredResourcesOutput ) SetNextToken ( v string ) * ListDiscoveredResourcesOutput {
s . NextToken = & v
return s
}
// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
func ( s * ListDiscoveredResourcesOutput ) SetResourceIdentifiers ( v [ ] * ResourceIdentifier ) * ListDiscoveredResourcesOutput {
s . ResourceIdentifiers = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRuleRequest
type PutConfigRuleInput struct {
_ struct { } ` type:"structure" `
// An AWS Config rule represents an AWS Lambda function that you create for
// a custom rule or a predefined function for an AWS managed rule. The function
// evaluates configuration items to assess whether your AWS resources comply
// with your desired configurations. This function can run when AWS Config detects
// a configuration change to an AWS resource and at a periodic frequency that
// you choose (for example, every 24 hours).
//
// You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
// evaluations for your resources when AWS Config delivers the configuration
// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
//
// For more information about developing and using AWS Config rules, see Evaluating
// AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
// in the AWS Config Developer Guide.
//
// ConfigRule is a required field
ConfigRule * ConfigRule ` type:"structure" required:"true" `
}
// String returns the string representation
func ( s PutConfigRuleInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutConfigRuleInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * PutConfigRuleInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "PutConfigRuleInput" }
if s . ConfigRule == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigRule" ) )
}
if s . ConfigRule != nil {
if err := s . ConfigRule . Validate ( ) ; err != nil {
invalidParams . AddNested ( "ConfigRule" , err . ( request . ErrInvalidParams ) )
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigRule sets the ConfigRule field's value.
func ( s * PutConfigRuleInput ) SetConfigRule ( v * ConfigRule ) * PutConfigRuleInput {
s . ConfigRule = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRuleOutput
type PutConfigRuleOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s PutConfigRuleOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutConfigRuleOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the PutConfigurationRecorder action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorderRequest
type PutConfigurationRecorderInput struct {
_ struct { } ` type:"structure" `
// The configuration recorder object that records each configuration change
// made to the resources.
//
// ConfigurationRecorder is a required field
ConfigurationRecorder * ConfigurationRecorder ` type:"structure" required:"true" `
}
// String returns the string representation
func ( s PutConfigurationRecorderInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutConfigurationRecorderInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * PutConfigurationRecorderInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "PutConfigurationRecorderInput" }
if s . ConfigurationRecorder == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigurationRecorder" ) )
}
if s . ConfigurationRecorder != nil {
if err := s . ConfigurationRecorder . Validate ( ) ; err != nil {
invalidParams . AddNested ( "ConfigurationRecorder" , err . ( request . ErrInvalidParams ) )
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigurationRecorder sets the ConfigurationRecorder field's value.
func ( s * PutConfigurationRecorderInput ) SetConfigurationRecorder ( v * ConfigurationRecorder ) * PutConfigurationRecorderInput {
s . ConfigurationRecorder = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorderOutput
type PutConfigurationRecorderOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s PutConfigurationRecorderOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutConfigurationRecorderOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the PutDeliveryChannel action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannelRequest
type PutDeliveryChannelInput struct {
_ struct { } ` type:"structure" `
// The configuration delivery channel object that delivers the configuration
// information to an Amazon S3 bucket, and to an Amazon SNS topic.
//
// DeliveryChannel is a required field
DeliveryChannel * DeliveryChannel ` type:"structure" required:"true" `
}
// String returns the string representation
func ( s PutDeliveryChannelInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutDeliveryChannelInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * PutDeliveryChannelInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "PutDeliveryChannelInput" }
if s . DeliveryChannel == nil {
invalidParams . Add ( request . NewErrParamRequired ( "DeliveryChannel" ) )
}
if s . DeliveryChannel != nil {
if err := s . DeliveryChannel . Validate ( ) ; err != nil {
invalidParams . AddNested ( "DeliveryChannel" , err . ( request . ErrInvalidParams ) )
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetDeliveryChannel sets the DeliveryChannel field's value.
func ( s * PutDeliveryChannelInput ) SetDeliveryChannel ( v * DeliveryChannel ) * PutDeliveryChannelInput {
s . DeliveryChannel = v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannelOutput
type PutDeliveryChannelOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s PutDeliveryChannelOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutDeliveryChannelOutput ) GoString ( ) string {
return s . String ( )
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluationsRequest
type PutEvaluationsInput struct {
_ struct { } ` type:"structure" `
// The assessments that the AWS Lambda function performs. Each evaluation identifies
// an AWS resource and indicates whether it complies with the AWS Config rule
// that invokes the AWS Lambda function.
Evaluations [ ] * Evaluation ` type:"list" `
// An encrypted token that associates an evaluation with an AWS Config rule.
// Identifies the rule and the event that triggered the evaluation
//
// ResultToken is a required field
ResultToken * string ` type:"string" required:"true" `
2017-02-20 18:20:36 +01:00
// Use this parameter to specify a test run for PutEvaluations. You can verify
// whether your AWS Lambda function will deliver evaluation results to AWS Config.
// No updates occur to your existing evaluations, and evaluation results are
// not sent to AWS Config.
//
// When TestMode is true, PutEvaluations doesn't require a valid value for the
// ResultToken parameter, but the value cannot be null.
TestMode * bool ` type:"boolean" `
2017-01-25 18:50:26 +01:00
}
// String returns the string representation
func ( s PutEvaluationsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutEvaluationsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * PutEvaluationsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "PutEvaluationsInput" }
if s . ResultToken == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResultToken" ) )
}
if s . Evaluations != nil {
for i , v := range s . Evaluations {
if v == nil {
continue
}
if err := v . Validate ( ) ; err != nil {
invalidParams . AddNested ( fmt . Sprintf ( "%s[%v]" , "Evaluations" , i ) , err . ( request . ErrInvalidParams ) )
}
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetEvaluations sets the Evaluations field's value.
func ( s * PutEvaluationsInput ) SetEvaluations ( v [ ] * Evaluation ) * PutEvaluationsInput {
s . Evaluations = v
return s
}
// SetResultToken sets the ResultToken field's value.
func ( s * PutEvaluationsInput ) SetResultToken ( v string ) * PutEvaluationsInput {
s . ResultToken = & v
return s
}
2017-02-20 18:20:36 +01:00
// SetTestMode sets the TestMode field's value.
func ( s * PutEvaluationsInput ) SetTestMode ( v bool ) * PutEvaluationsInput {
s . TestMode = & v
return s
}
2017-01-25 18:50:26 +01:00
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluationsResponse
type PutEvaluationsOutput struct {
_ struct { } ` type:"structure" `
// Requests that failed because of a client or server error.
FailedEvaluations [ ] * Evaluation ` type:"list" `
}
// String returns the string representation
func ( s PutEvaluationsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutEvaluationsOutput ) GoString ( ) string {
return s . String ( )
}
// SetFailedEvaluations sets the FailedEvaluations field's value.
func ( s * PutEvaluationsOutput ) SetFailedEvaluations ( v [ ] * Evaluation ) * PutEvaluationsOutput {
s . FailedEvaluations = v
return s
}
// Specifies the types of AWS resource for which AWS Config records configuration
// changes.
//
// In the recording group, you specify whether all supported types or specific
// types of resources are recorded.
//
// By default, AWS Config records configuration changes for all supported types
// of regional resources that AWS Config discovers in the region in which it
// is running. Regional resources are tied to a region and can be used only
// in that region. Examples of regional resources are EC2 instances and EBS
// volumes.
//
// You can also have AWS Config record configuration changes for supported types
// of global resources (for example, IAM resources). Global resources are not
// tied to an individual region and can be used in all regions.
//
// The configuration details for any global resource are the same in all regions.
// If you customize AWS Config in multiple regions to record global resources,
// it will create multiple configuration items each time a global resource changes:
// one configuration item for each region. These configuration items will contain
// identical data. To prevent duplicate configuration items, you should consider
// customizing AWS Config in only one region to record global resources, unless
// you want the configuration items to be available in multiple regions.
//
// If you don't want AWS Config to record all resources, you can specify which
// types of resources it will record with the resourceTypes parameter.
//
// For a list of supported resource types, see Supported resource types (http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
//
// For more information, see Selecting Which Resources AWS Config Records (http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/RecordingGroup
type RecordingGroup struct {
_ struct { } ` type:"structure" `
// Specifies whether AWS Config records configuration changes for every supported
// type of regional resource.
//
// If you set this option to true, when AWS Config adds support for a new type
// of regional resource, it automatically starts recording resources of that
// type.
//
// If you set this option to true, you cannot enumerate a list of resourceTypes.
AllSupported * bool ` locationName:"allSupported" type:"boolean" `
// Specifies whether AWS Config includes all supported types of global resources
// (for example, IAM resources) with the resources that it records.
//
// Before you can set this option to true, you must set the allSupported option
// to true.
//
// If you set this option to true, when AWS Config adds support for a new type
// of global resource, it automatically starts recording resources of that type.
//
// The configuration details for any global resource are the same in all regions.
// To prevent duplicate configuration items, you should consider customizing
// AWS Config in only one region to record global resources.
IncludeGlobalResourceTypes * bool ` locationName:"includeGlobalResourceTypes" type:"boolean" `
// A comma-separated list that specifies the types of AWS resources for which
// AWS Config records configuration changes (for example, AWS::EC2::Instance
// or AWS::CloudTrail::Trail).
//
// Before you can set this option to true, you must set the allSupported option
// to false.
//
// If you set this option to true, when AWS Config adds support for a new type
// of resource, it will not record resources of that type unless you manually
// add that type to your recording group.
//
// For a list of valid resourceTypes values, see the resourceType Value column
// in Supported AWS Resource Types (http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
ResourceTypes [ ] * string ` locationName:"resourceTypes" type:"list" `
}
// String returns the string representation
func ( s RecordingGroup ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s RecordingGroup ) GoString ( ) string {
return s . String ( )
}
// SetAllSupported sets the AllSupported field's value.
func ( s * RecordingGroup ) SetAllSupported ( v bool ) * RecordingGroup {
s . AllSupported = & v
return s
}
// SetIncludeGlobalResourceTypes sets the IncludeGlobalResourceTypes field's value.
func ( s * RecordingGroup ) SetIncludeGlobalResourceTypes ( v bool ) * RecordingGroup {
s . IncludeGlobalResourceTypes = & v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func ( s * RecordingGroup ) SetResourceTypes ( v [ ] * string ) * RecordingGroup {
s . ResourceTypes = v
return s
}
// The relationship of the related resource to the main resource.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Relationship
type Relationship struct {
_ struct { } ` type:"structure" `
// The type of relationship with the related resource.
RelationshipName * string ` locationName:"relationshipName" type:"string" `
// The ID of the related resource (for example, sg-xxxxxx).
ResourceId * string ` locationName:"resourceId" type:"string" `
// The custom name of the related resource, if available.
ResourceName * string ` locationName:"resourceName" type:"string" `
// The resource type of the related resource.
ResourceType * string ` locationName:"resourceType" type:"string" enum:"ResourceType" `
}
// String returns the string representation
func ( s Relationship ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Relationship ) GoString ( ) string {
return s . String ( )
}
// SetRelationshipName sets the RelationshipName field's value.
func ( s * Relationship ) SetRelationshipName ( v string ) * Relationship {
s . RelationshipName = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * Relationship ) SetResourceId ( v string ) * Relationship {
s . ResourceId = & v
return s
}
// SetResourceName sets the ResourceName field's value.
func ( s * Relationship ) SetResourceName ( v string ) * Relationship {
s . ResourceName = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * Relationship ) SetResourceType ( v string ) * Relationship {
s . ResourceType = & v
return s
}
// The details that identify a resource that is discovered by AWS Config, including
// the resource type, ID, and (if available) the custom resource name.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceIdentifier
type ResourceIdentifier struct {
_ struct { } ` type:"structure" `
// The time that the resource was deleted.
ResourceDeletionTime * time . Time ` locationName:"resourceDeletionTime" type:"timestamp" timestampFormat:"unix" `
// The ID of the resource (for example., sg-xxxxxx).
ResourceId * string ` locationName:"resourceId" type:"string" `
// The custom name of the resource (if available).
ResourceName * string ` locationName:"resourceName" type:"string" `
// The type of resource.
ResourceType * string ` locationName:"resourceType" type:"string" enum:"ResourceType" `
}
// String returns the string representation
func ( s ResourceIdentifier ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ResourceIdentifier ) GoString ( ) string {
return s . String ( )
}
// SetResourceDeletionTime sets the ResourceDeletionTime field's value.
func ( s * ResourceIdentifier ) SetResourceDeletionTime ( v time . Time ) * ResourceIdentifier {
s . ResourceDeletionTime = & v
return s
}
// SetResourceId sets the ResourceId field's value.
func ( s * ResourceIdentifier ) SetResourceId ( v string ) * ResourceIdentifier {
s . ResourceId = & v
return s
}
// SetResourceName sets the ResourceName field's value.
func ( s * ResourceIdentifier ) SetResourceName ( v string ) * ResourceIdentifier {
s . ResourceName = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * ResourceIdentifier ) SetResourceType ( v string ) * ResourceIdentifier {
s . ResourceType = & v
return s
}
// Defines which resources trigger an evaluation for an AWS Config rule. The
// scope can include one or more resource types, a combination of a tag key
// and value, or a combination of one resource type and one resource ID. Specify
// a scope to constrain which resources trigger an evaluation for a rule. Otherwise,
// evaluations for the rule are triggered when any resource in your recording
// group changes in configuration.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Scope
type Scope struct {
_ struct { } ` type:"structure" `
// The IDs of the only AWS resource that you want to trigger an evaluation for
// the rule. If you specify a resource ID, you must specify one resource type
// for ComplianceResourceTypes.
ComplianceResourceId * string ` min:"1" type:"string" `
// The resource types of only those AWS resources that you want to trigger an
// evaluation for the rule. You can only specify one type if you also specify
// a resource ID for ComplianceResourceId.
ComplianceResourceTypes [ ] * string ` type:"list" `
// The tag key that is applied to only those AWS resources that you want you
// want to trigger an evaluation for the rule.
TagKey * string ` min:"1" type:"string" `
// The tag value applied to only those AWS resources that you want to trigger
// an evaluation for the rule. If you specify a value for TagValue, you must
// also specify a value for TagKey.
TagValue * string ` min:"1" type:"string" `
}
// String returns the string representation
func ( s Scope ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Scope ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * Scope ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "Scope" }
if s . ComplianceResourceId != nil && len ( * s . ComplianceResourceId ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ComplianceResourceId" , 1 ) )
}
if s . TagKey != nil && len ( * s . TagKey ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "TagKey" , 1 ) )
}
if s . TagValue != nil && len ( * s . TagValue ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "TagValue" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetComplianceResourceId sets the ComplianceResourceId field's value.
func ( s * Scope ) SetComplianceResourceId ( v string ) * Scope {
s . ComplianceResourceId = & v
return s
}
// SetComplianceResourceTypes sets the ComplianceResourceTypes field's value.
func ( s * Scope ) SetComplianceResourceTypes ( v [ ] * string ) * Scope {
s . ComplianceResourceTypes = v
return s
}
// SetTagKey sets the TagKey field's value.
func ( s * Scope ) SetTagKey ( v string ) * Scope {
s . TagKey = & v
return s
}
// SetTagValue sets the TagValue field's value.
func ( s * Scope ) SetTagValue ( v string ) * Scope {
s . TagValue = & v
return s
}
// Provides the AWS Config rule owner (AWS or customer), the rule identifier,
// and the events that trigger the evaluation of your AWS resources.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Source
type Source struct {
_ struct { } ` type:"structure" `
// Indicates whether AWS or the customer owns and manages the AWS Config rule.
//
// Owner is a required field
Owner * string ` type:"string" required:"true" enum:"Owner" `
// Provides the source and type of the event that causes AWS Config to evaluate
// your AWS resources.
SourceDetails [ ] * SourceDetail ` type:"list" `
// For AWS Config managed rules, a predefined identifier from a list. For example,
// IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using
// AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
//
// For custom rules, the identifier is the Amazon Resource Name (ARN) of the
// rule's AWS Lambda function, such as arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name.
//
// SourceIdentifier is a required field
SourceIdentifier * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s Source ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Source ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * Source ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "Source" }
if s . Owner == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Owner" ) )
}
if s . SourceIdentifier == nil {
invalidParams . Add ( request . NewErrParamRequired ( "SourceIdentifier" ) )
}
if s . SourceIdentifier != nil && len ( * s . SourceIdentifier ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "SourceIdentifier" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetOwner sets the Owner field's value.
func ( s * Source ) SetOwner ( v string ) * Source {
s . Owner = & v
return s
}
// SetSourceDetails sets the SourceDetails field's value.
func ( s * Source ) SetSourceDetails ( v [ ] * SourceDetail ) * Source {
s . SourceDetails = v
return s
}
// SetSourceIdentifier sets the SourceIdentifier field's value.
func ( s * Source ) SetSourceIdentifier ( v string ) * Source {
s . SourceIdentifier = & v
return s
}
// Provides the source and the message types that trigger AWS Config to evaluate
// your AWS resources against a rule. It also provides the frequency with which
// you want AWS Config to run evaluations for the rule if the trigger type is
// periodic. You can specify the parameter values for SourceDetail only for
// custom rules.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SourceDetail
type SourceDetail struct {
_ struct { } ` type:"structure" `
// The source of the event, such as an AWS service, that triggers AWS Config
// to evaluate your AWS resources.
EventSource * string ` type:"string" enum:"EventSource" `
// The frequency that you want AWS Config to run evaluations for a rule that
// is triggered periodically. If you specify a value for MaximumExecutionFrequency,
// then MessageType must use the ScheduledNotification value.
MaximumExecutionFrequency * string ` type:"string" enum:"MaximumExecutionFrequency" `
// The type of notification that triggers AWS Config to run an evaluation for
// a rule. You can specify the following notification types:
//
// * ConfigurationItemChangeNotification - Triggers an evaluation when AWS
// Config delivers a configuration item as a result of a resource change.
//
// * OversizedConfigurationItemChangeNotification - Triggers an evaluation
// when AWS Config delivers an oversized configuration item. AWS Config may
// generate this notification type when a resource changes and the notification
// exceeds the maximum size allowed by Amazon SNS.
//
// * ScheduledNotification - Triggers a periodic evaluation at the frequency
// specified for MaximumExecutionFrequency.
//
// * ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation
// when AWS Config delivers a configuration snapshot.
//
// If you want your custom rule to be triggered by configuration changes, specify
// both ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification.
MessageType * string ` type:"string" enum:"MessageType" `
}
// String returns the string representation
func ( s SourceDetail ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s SourceDetail ) GoString ( ) string {
return s . String ( )
}
// SetEventSource sets the EventSource field's value.
func ( s * SourceDetail ) SetEventSource ( v string ) * SourceDetail {
s . EventSource = & v
return s
}
// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
func ( s * SourceDetail ) SetMaximumExecutionFrequency ( v string ) * SourceDetail {
s . MaximumExecutionFrequency = & v
return s
}
// SetMessageType sets the MessageType field's value.
func ( s * SourceDetail ) SetMessageType ( v string ) * SourceDetail {
s . MessageType = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluationRequest
type StartConfigRulesEvaluationInput struct {
_ struct { } ` type:"structure" `
// The list of names of Config rules that you want to run evaluations for.
ConfigRuleNames [ ] * string ` min:"1" type:"list" `
}
// String returns the string representation
func ( s StartConfigRulesEvaluationInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartConfigRulesEvaluationInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * StartConfigRulesEvaluationInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "StartConfigRulesEvaluationInput" }
if s . ConfigRuleNames != nil && len ( s . ConfigRuleNames ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigRuleNames" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigRuleNames sets the ConfigRuleNames field's value.
func ( s * StartConfigRulesEvaluationInput ) SetConfigRuleNames ( v [ ] * string ) * StartConfigRulesEvaluationInput {
s . ConfigRuleNames = v
return s
}
// The output when you start the evaluation for the specified Config rule.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluationResponse
type StartConfigRulesEvaluationOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s StartConfigRulesEvaluationOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartConfigRulesEvaluationOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the StartConfigurationRecorder action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorderRequest
type StartConfigurationRecorderInput struct {
_ struct { } ` type:"structure" `
// The name of the recorder object that records each configuration change made
// to the resources.
//
// ConfigurationRecorderName is a required field
ConfigurationRecorderName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s StartConfigurationRecorderInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartConfigurationRecorderInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * StartConfigurationRecorderInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "StartConfigurationRecorderInput" }
if s . ConfigurationRecorderName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigurationRecorderName" ) )
}
if s . ConfigurationRecorderName != nil && len ( * s . ConfigurationRecorderName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigurationRecorderName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
func ( s * StartConfigurationRecorderInput ) SetConfigurationRecorderName ( v string ) * StartConfigurationRecorderInput {
s . ConfigurationRecorderName = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorderOutput
type StartConfigurationRecorderOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s StartConfigurationRecorderOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartConfigurationRecorderOutput ) GoString ( ) string {
return s . String ( )
}
// The input for the StopConfigurationRecorder action.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorderRequest
type StopConfigurationRecorderInput struct {
_ struct { } ` type:"structure" `
// The name of the recorder object that records each configuration change made
// to the resources.
//
// ConfigurationRecorderName is a required field
ConfigurationRecorderName * string ` min:"1" type:"string" required:"true" `
}
// String returns the string representation
func ( s StopConfigurationRecorderInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StopConfigurationRecorderInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * StopConfigurationRecorderInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "StopConfigurationRecorderInput" }
if s . ConfigurationRecorderName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ConfigurationRecorderName" ) )
}
if s . ConfigurationRecorderName != nil && len ( * s . ConfigurationRecorderName ) < 1 {
invalidParams . Add ( request . NewErrParamMinLen ( "ConfigurationRecorderName" , 1 ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
func ( s * StopConfigurationRecorderInput ) SetConfigurationRecorderName ( v string ) * StopConfigurationRecorderInput {
s . ConfigurationRecorderName = & v
return s
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorderOutput
type StopConfigurationRecorderOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s StopConfigurationRecorderOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StopConfigurationRecorderOutput ) GoString ( ) string {
return s . String ( )
}
const (
// ChronologicalOrderReverse is a ChronologicalOrder enum value
ChronologicalOrderReverse = "Reverse"
// ChronologicalOrderForward is a ChronologicalOrder enum value
ChronologicalOrderForward = "Forward"
)
const (
// ComplianceTypeCompliant is a ComplianceType enum value
ComplianceTypeCompliant = "COMPLIANT"
// ComplianceTypeNonCompliant is a ComplianceType enum value
ComplianceTypeNonCompliant = "NON_COMPLIANT"
// ComplianceTypeNotApplicable is a ComplianceType enum value
ComplianceTypeNotApplicable = "NOT_APPLICABLE"
// ComplianceTypeInsufficientData is a ComplianceType enum value
ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
)
const (
// ConfigRuleStateActive is a ConfigRuleState enum value
ConfigRuleStateActive = "ACTIVE"
// ConfigRuleStateDeleting is a ConfigRuleState enum value
ConfigRuleStateDeleting = "DELETING"
// ConfigRuleStateDeletingResults is a ConfigRuleState enum value
ConfigRuleStateDeletingResults = "DELETING_RESULTS"
// ConfigRuleStateEvaluating is a ConfigRuleState enum value
ConfigRuleStateEvaluating = "EVALUATING"
)
const (
// ConfigurationItemStatusOk is a ConfigurationItemStatus enum value
ConfigurationItemStatusOk = "Ok"
// ConfigurationItemStatusFailed is a ConfigurationItemStatus enum value
ConfigurationItemStatusFailed = "Failed"
// ConfigurationItemStatusDiscovered is a ConfigurationItemStatus enum value
ConfigurationItemStatusDiscovered = "Discovered"
// ConfigurationItemStatusDeleted is a ConfigurationItemStatus enum value
ConfigurationItemStatusDeleted = "Deleted"
)
const (
// DeliveryStatusSuccess is a DeliveryStatus enum value
DeliveryStatusSuccess = "Success"
// DeliveryStatusFailure is a DeliveryStatus enum value
DeliveryStatusFailure = "Failure"
// DeliveryStatusNotApplicable is a DeliveryStatus enum value
DeliveryStatusNotApplicable = "Not_Applicable"
)
const (
// EventSourceAwsConfig is a EventSource enum value
EventSourceAwsConfig = "aws.config"
)
const (
// MaximumExecutionFrequencyOneHour is a MaximumExecutionFrequency enum value
MaximumExecutionFrequencyOneHour = "One_Hour"
// MaximumExecutionFrequencyThreeHours is a MaximumExecutionFrequency enum value
MaximumExecutionFrequencyThreeHours = "Three_Hours"
// MaximumExecutionFrequencySixHours is a MaximumExecutionFrequency enum value
MaximumExecutionFrequencySixHours = "Six_Hours"
// MaximumExecutionFrequencyTwelveHours is a MaximumExecutionFrequency enum value
MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
// MaximumExecutionFrequencyTwentyFourHours is a MaximumExecutionFrequency enum value
MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
)
const (
// MessageTypeConfigurationItemChangeNotification is a MessageType enum value
MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
// MessageTypeConfigurationSnapshotDeliveryCompleted is a MessageType enum value
MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
// MessageTypeScheduledNotification is a MessageType enum value
MessageTypeScheduledNotification = "ScheduledNotification"
// MessageTypeOversizedConfigurationItemChangeNotification is a MessageType enum value
MessageTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
)
const (
// OwnerCustomLambda is a Owner enum value
OwnerCustomLambda = "CUSTOM_LAMBDA"
// OwnerAws is a Owner enum value
OwnerAws = "AWS"
)
const (
// RecorderStatusPending is a RecorderStatus enum value
RecorderStatusPending = "Pending"
// RecorderStatusSuccess is a RecorderStatus enum value
RecorderStatusSuccess = "Success"
// RecorderStatusFailure is a RecorderStatus enum value
RecorderStatusFailure = "Failure"
)
const (
// ResourceTypeAwsEc2CustomerGateway is a ResourceType enum value
ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
// ResourceTypeAwsEc2Eip is a ResourceType enum value
ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
// ResourceTypeAwsEc2Host is a ResourceType enum value
ResourceTypeAwsEc2Host = "AWS::EC2::Host"
// ResourceTypeAwsEc2Instance is a ResourceType enum value
ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
// ResourceTypeAwsEc2InternetGateway is a ResourceType enum value
ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
// ResourceTypeAwsEc2NetworkAcl is a ResourceType enum value
ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
// ResourceTypeAwsEc2NetworkInterface is a ResourceType enum value
ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
// ResourceTypeAwsEc2RouteTable is a ResourceType enum value
ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
// ResourceTypeAwsEc2SecurityGroup is a ResourceType enum value
ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
// ResourceTypeAwsEc2Subnet is a ResourceType enum value
ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
// ResourceTypeAwsCloudTrailTrail is a ResourceType enum value
ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
// ResourceTypeAwsEc2Volume is a ResourceType enum value
ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
// ResourceTypeAwsEc2Vpc is a ResourceType enum value
ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
// ResourceTypeAwsEc2Vpnconnection is a ResourceType enum value
ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
// ResourceTypeAwsEc2Vpngateway is a ResourceType enum value
ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
// ResourceTypeAwsIamGroup is a ResourceType enum value
ResourceTypeAwsIamGroup = "AWS::IAM::Group"
// ResourceTypeAwsIamPolicy is a ResourceType enum value
ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
// ResourceTypeAwsIamRole is a ResourceType enum value
ResourceTypeAwsIamRole = "AWS::IAM::Role"
// ResourceTypeAwsIamUser is a ResourceType enum value
ResourceTypeAwsIamUser = "AWS::IAM::User"
// ResourceTypeAwsAcmCertificate is a ResourceType enum value
ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
// ResourceTypeAwsRdsDbinstance is a ResourceType enum value
ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
// ResourceTypeAwsRdsDbsubnetGroup is a ResourceType enum value
ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
// ResourceTypeAwsRdsDbsecurityGroup is a ResourceType enum value
ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
// ResourceTypeAwsRdsDbsnapshot is a ResourceType enum value
ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
// ResourceTypeAwsRdsEventSubscription is a ResourceType enum value
ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
// ResourceTypeAwsElasticLoadBalancingV2LoadBalancer is a ResourceType enum value
ResourceTypeAwsElasticLoadBalancingV2LoadBalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer"
// ResourceTypeAwsS3Bucket is a ResourceType enum value
ResourceTypeAwsS3Bucket = "AWS::S3::Bucket"
// ResourceTypeAwsSsmManagedInstanceInventory is a ResourceType enum value
ResourceTypeAwsSsmManagedInstanceInventory = "AWS::SSM::ManagedInstanceInventory"
// ResourceTypeAwsRedshiftCluster is a ResourceType enum value
ResourceTypeAwsRedshiftCluster = "AWS::Redshift::Cluster"
// ResourceTypeAwsRedshiftClusterSnapshot is a ResourceType enum value
ResourceTypeAwsRedshiftClusterSnapshot = "AWS::Redshift::ClusterSnapshot"
// ResourceTypeAwsRedshiftClusterParameterGroup is a ResourceType enum value
ResourceTypeAwsRedshiftClusterParameterGroup = "AWS::Redshift::ClusterParameterGroup"
// ResourceTypeAwsRedshiftClusterSecurityGroup is a ResourceType enum value
ResourceTypeAwsRedshiftClusterSecurityGroup = "AWS::Redshift::ClusterSecurityGroup"
// ResourceTypeAwsRedshiftClusterSubnetGroup is a ResourceType enum value
ResourceTypeAwsRedshiftClusterSubnetGroup = "AWS::Redshift::ClusterSubnetGroup"
// ResourceTypeAwsRedshiftEventSubscription is a ResourceType enum value
ResourceTypeAwsRedshiftEventSubscription = "AWS::Redshift::EventSubscription"
)