2017-10-06 00:08:03 +03:00
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package cloudtrail
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
2019-03-11 19:18:55 +03:00
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
2017-10-06 00:08:03 +03:00
)
const opAddTags = "AddTags"
// AddTagsRequest generates a "aws/request.Request" representing the
// client's request for the AddTags operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See AddTags for more information on using the AddTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the AddTagsRequest method.
// req, resp := client.AddTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/AddTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) AddTagsRequest ( input * AddTagsInput ) ( req * request . Request , output * AddTagsOutput ) {
op := & request . Operation {
Name : opAddTags ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & AddTagsInput { }
}
output = & AddTagsOutput { }
req = c . newRequest ( op , input , output )
2019-03-11 19:18:55 +03:00
req . Handlers . Unmarshal . Swap ( jsonrpc . UnmarshalHandler . Name , protocol . UnmarshalDiscardBodyHandler )
2017-10-06 00:08:03 +03:00
return
}
// AddTags API operation for AWS CloudTrail.
//
// Adds one or more tags to a trail, up to a limit of 50. Tags must be unique
// per trail. Overwrites an existing tag's value when a new value is specified
// for an existing tag key. If you specify a key without a value, the tag will
// be created with the specified key and a value of null. You can tag a trail
// that applies to all regions only from the region in which the trail was created
// (that is, from its home region).
//
// 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 CloudTrail's
// API operation AddTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// This exception is thrown when the specified resource is not found.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeARNInvalidException "CloudTrailARNInvalidException"
2017-10-06 00:08:03 +03:00
// This exception is thrown when an operation is called with an invalid trail
// ARN. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
// This exception is thrown when the specified resource type is not supported
// by CloudTrail.
//
// * ErrCodeTagsLimitExceededException "TagsLimitExceededException"
// The number of tags per trail has exceeded the permitted amount. Currently,
// the limit is 50.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidTagParameterException "InvalidTagParameterException"
// This exception is thrown when the key or value specified for the tag does
// not match the regular expression ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/AddTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) AddTags ( input * AddTagsInput ) ( * AddTagsOutput , error ) {
req , out := c . AddTagsRequest ( input )
return out , req . Send ( )
}
// AddTagsWithContext is the same as AddTags with the addition of
// the ability to pass a context and additional request options.
//
// See AddTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) AddTagsWithContext ( ctx aws . Context , input * AddTagsInput , opts ... request . Option ) ( * AddTagsOutput , error ) {
req , out := c . AddTagsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opCreateTrail = "CreateTrail"
// CreateTrailRequest generates a "aws/request.Request" representing the
// client's request for the CreateTrail operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateTrail for more information on using the CreateTrail
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the CreateTrailRequest method.
// req, resp := client.CreateTrailRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) CreateTrailRequest ( input * CreateTrailInput ) ( req * request . Request , output * CreateTrailOutput ) {
op := & request . Operation {
Name : opCreateTrail ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & CreateTrailInput { }
}
output = & CreateTrailOutput { }
req = c . newRequest ( op , input , output )
return
}
// CreateTrail API operation for AWS CloudTrail.
//
// Creates a trail that specifies the settings for delivery of log data to an
// Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective
// of the region in which they were created.
//
// 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 CloudTrail's
// API operation CreateTrail for usage and error information.
//
// Returned Error Codes:
// * ErrCodeMaximumNumberOfTrailsExceededException "MaximumNumberOfTrailsExceededException"
// This exception is thrown when the maximum number of trails is reached.
//
// * ErrCodeTrailAlreadyExistsException "TrailAlreadyExistsException"
// This exception is thrown when the specified trail already exists.
//
// * ErrCodeS3BucketDoesNotExistException "S3BucketDoesNotExistException"
// This exception is thrown when the specified S3 bucket does not exist.
//
// * ErrCodeInsufficientS3BucketPolicyException "InsufficientS3BucketPolicyException"
// This exception is thrown when the policy on the S3 bucket is not sufficient.
//
// * ErrCodeInsufficientSnsTopicPolicyException "InsufficientSnsTopicPolicyException"
// This exception is thrown when the policy on the SNS topic is not sufficient.
//
// * ErrCodeInsufficientEncryptionPolicyException "InsufficientEncryptionPolicyException"
// This exception is thrown when the policy on the S3 bucket or KMS key is not
// sufficient.
//
// * ErrCodeInvalidS3BucketNameException "InvalidS3BucketNameException"
// This exception is thrown when the provided S3 bucket name is not valid.
//
// * ErrCodeInvalidS3PrefixException "InvalidS3PrefixException"
// This exception is thrown when the provided S3 prefix is not valid.
//
// * ErrCodeInvalidSnsTopicNameException "InvalidSnsTopicNameException"
// This exception is thrown when the provided SNS topic name is not valid.
//
// * ErrCodeInvalidKmsKeyIdException "InvalidKmsKeyIdException"
// This exception is thrown when the KMS key ARN is invalid.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeTrailNotProvidedException "TrailNotProvidedException"
// This exception is deprecated.
//
// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException"
// This exception is thrown when the combination of parameters provided is not
// valid.
//
// * ErrCodeKmsKeyNotFoundException "KmsKeyNotFoundException"
// This exception is thrown when the KMS key does not exist, or when the S3
// bucket and the KMS key are not in the same region.
//
// * ErrCodeKmsKeyDisabledException "KmsKeyDisabledException"
// This exception is deprecated.
//
// * ErrCodeKmsException "KmsException"
// This exception is thrown when there is an issue with the specified KMS key
// and the trail can’ t be updated.
//
// * ErrCodeInvalidCloudWatchLogsLogGroupArnException "InvalidCloudWatchLogsLogGroupArnException"
// This exception is thrown when the provided CloudWatch log group is not valid.
//
// * ErrCodeInvalidCloudWatchLogsRoleArnException "InvalidCloudWatchLogsRoleArnException"
// This exception is thrown when the provided role is not valid.
//
// * ErrCodeCloudWatchLogsDeliveryUnavailableException "CloudWatchLogsDeliveryUnavailableException"
// Cannot set a CloudWatch Logs delivery for this region.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeAccessNotEnabledException "CloudTrailAccessNotEnabledException"
// This exception is thrown when trusted access has not been enabled between
// AWS CloudTrail and AWS Organizations. For more information, see Enabling
// Trusted Access with Other AWS Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
// and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeOrganizationsNotInUseException "OrganizationsNotInUseException"
// This exception is thrown when the request is made from an AWS account that
// is not a member of an organization. To make this request, sign in using the
// credentials of an account that belongs to an organization.
//
// * ErrCodeOrganizationNotInAllFeaturesModeException "OrganizationNotInAllFeaturesModeException"
// This exception is thrown when AWS Organizations is not configured to support
// all features. All features must be enabled in AWS Organization to support
// creating an organization trail. For more information, see Prepare For Creating
// a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) CreateTrail ( input * CreateTrailInput ) ( * CreateTrailOutput , error ) {
req , out := c . CreateTrailRequest ( input )
return out , req . Send ( )
}
// CreateTrailWithContext is the same as CreateTrail with the addition of
// the ability to pass a context and additional request options.
//
// See CreateTrail for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) CreateTrailWithContext ( ctx aws . Context , input * CreateTrailInput , opts ... request . Option ) ( * CreateTrailOutput , error ) {
req , out := c . CreateTrailRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opDeleteTrail = "DeleteTrail"
// DeleteTrailRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTrail operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteTrail for more information on using the DeleteTrail
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DeleteTrailRequest method.
// req, resp := client.DeleteTrailRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DeleteTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) DeleteTrailRequest ( input * DeleteTrailInput ) ( req * request . Request , output * DeleteTrailOutput ) {
op := & request . Operation {
Name : opDeleteTrail ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DeleteTrailInput { }
}
output = & DeleteTrailOutput { }
req = c . newRequest ( op , input , output )
2019-03-11 19:18:55 +03:00
req . Handlers . Unmarshal . Swap ( jsonrpc . UnmarshalHandler . Name , protocol . UnmarshalDiscardBodyHandler )
2017-10-06 00:08:03 +03:00
return
}
// DeleteTrail API operation for AWS CloudTrail.
//
// Deletes a trail. This operation must be called from the region in which the
// trail was created. DeleteTrail cannot be called on the shadow trails (replicated
// trails in other regions) of a trail that is enabled in all regions.
//
// 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 CloudTrail's
// API operation DeleteTrail for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException"
// This exception is thrown when an operation is called on a trail from a region
// other than the region in which the trail was created.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DeleteTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) DeleteTrail ( input * DeleteTrailInput ) ( * DeleteTrailOutput , error ) {
req , out := c . DeleteTrailRequest ( input )
return out , req . Send ( )
}
// DeleteTrailWithContext is the same as DeleteTrail with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteTrail for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) DeleteTrailWithContext ( ctx aws . Context , input * DeleteTrailInput , opts ... request . Option ) ( * DeleteTrailOutput , error ) {
req , out := c . DeleteTrailRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opDescribeTrails = "DescribeTrails"
// DescribeTrailsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTrails operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeTrails for more information on using the DescribeTrails
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DescribeTrailsRequest method.
// req, resp := client.DescribeTrailsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrails
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) DescribeTrailsRequest ( input * DescribeTrailsInput ) ( req * request . Request , output * DescribeTrailsOutput ) {
op := & request . Operation {
Name : opDescribeTrails ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & DescribeTrailsInput { }
}
output = & DescribeTrailsOutput { }
req = c . newRequest ( op , input , output )
return
}
// DescribeTrails API operation for AWS CloudTrail.
//
// Retrieves settings for the trail associated with the current region for 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 CloudTrail's
// API operation DescribeTrails for usage and error information.
//
// Returned Error Codes:
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrails
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) DescribeTrails ( input * DescribeTrailsInput ) ( * DescribeTrailsOutput , error ) {
req , out := c . DescribeTrailsRequest ( input )
return out , req . Send ( )
}
// DescribeTrailsWithContext is the same as DescribeTrails with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeTrails for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) DescribeTrailsWithContext ( ctx aws . Context , input * DescribeTrailsInput , opts ... request . Option ) ( * DescribeTrailsOutput , error ) {
req , out := c . DescribeTrailsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opGetEventSelectors = "GetEventSelectors"
// GetEventSelectorsRequest generates a "aws/request.Request" representing the
// client's request for the GetEventSelectors operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetEventSelectors for more information on using the GetEventSelectors
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetEventSelectorsRequest method.
// req, resp := client.GetEventSelectorsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventSelectors
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) GetEventSelectorsRequest ( input * GetEventSelectorsInput ) ( req * request . Request , output * GetEventSelectorsOutput ) {
op := & request . Operation {
Name : opGetEventSelectors ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetEventSelectorsInput { }
}
output = & GetEventSelectorsOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetEventSelectors API operation for AWS CloudTrail.
//
// Describes the settings for the event selectors that you configured for your
// trail. The information returned for your event selectors includes the following:
//
2019-03-11 19:18:55 +03:00
// * If your event selector includes read-only events, write-only events,
// or all events. This applies to both management events and data events.
2017-10-06 00:08:03 +03:00
//
// * If your event selector includes management events.
//
2019-03-11 19:18:55 +03:00
// * If your event selector includes data events, the Amazon S3 objects or
// AWS Lambda functions that you are logging for data events.
2017-10-06 00:08:03 +03:00
//
// For more information, see Logging Data and Management Events for Trails
// (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html)
// in the AWS CloudTrail User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS CloudTrail's
// API operation GetEventSelectors for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventSelectors
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) GetEventSelectors ( input * GetEventSelectorsInput ) ( * GetEventSelectorsOutput , error ) {
req , out := c . GetEventSelectorsRequest ( input )
return out , req . Send ( )
}
// GetEventSelectorsWithContext is the same as GetEventSelectors with the addition of
// the ability to pass a context and additional request options.
//
// See GetEventSelectors for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) GetEventSelectorsWithContext ( ctx aws . Context , input * GetEventSelectorsInput , opts ... request . Option ) ( * GetEventSelectorsOutput , error ) {
req , out := c . GetEventSelectorsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opGetTrailStatus = "GetTrailStatus"
// GetTrailStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetTrailStatus operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetTrailStatus for more information on using the GetTrailStatus
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetTrailStatusRequest method.
// req, resp := client.GetTrailStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrailStatus
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) GetTrailStatusRequest ( input * GetTrailStatusInput ) ( req * request . Request , output * GetTrailStatusOutput ) {
op := & request . Operation {
Name : opGetTrailStatus ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & GetTrailStatusInput { }
}
output = & GetTrailStatusOutput { }
req = c . newRequest ( op , input , output )
return
}
// GetTrailStatus API operation for AWS CloudTrail.
//
// Returns a JSON-formatted list of information about the specified trail. Fields
// include information on delivery errors, Amazon SNS and Amazon S3 errors,
// and start and stop logging times for each trail. This operation returns trail
// status from a single region. To return trail status from all regions, you
// must call the operation on each region.
//
// 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 CloudTrail's
// API operation GetTrailStatus for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrailStatus
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) GetTrailStatus ( input * GetTrailStatusInput ) ( * GetTrailStatusOutput , error ) {
req , out := c . GetTrailStatusRequest ( input )
return out , req . Send ( )
}
// GetTrailStatusWithContext is the same as GetTrailStatus with the addition of
// the ability to pass a context and additional request options.
//
// See GetTrailStatus for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) GetTrailStatusWithContext ( ctx aws . Context , input * GetTrailStatusInput , opts ... request . Option ) ( * GetTrailStatusOutput , error ) {
req , out := c . GetTrailStatusRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opListPublicKeys = "ListPublicKeys"
// ListPublicKeysRequest generates a "aws/request.Request" representing the
// client's request for the ListPublicKeys operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListPublicKeys for more information on using the ListPublicKeys
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the ListPublicKeysRequest method.
// req, resp := client.ListPublicKeysRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListPublicKeys
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) ListPublicKeysRequest ( input * ListPublicKeysInput ) ( req * request . Request , output * ListPublicKeysOutput ) {
op := & request . Operation {
Name : opListPublicKeys ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & ListPublicKeysInput { }
}
output = & ListPublicKeysOutput { }
req = c . newRequest ( op , input , output )
return
}
// ListPublicKeys API operation for AWS CloudTrail.
//
// Returns all public keys whose private keys were used to sign the digest files
// within the specified time range. The public key is needed to validate digest
// files that were signed with its corresponding private key.
//
// CloudTrail uses different private/public key pairs per region. Each digest
// file is signed with a private key unique to its region. Therefore, when you
// validate a digest file from a particular region, you must look in the same
// region for its corresponding public key.
//
// 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 CloudTrail's
// API operation ListPublicKeys for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidTimeRangeException "InvalidTimeRangeException"
// Occurs if the timestamp values are invalid. Either the start time occurs
// after the end time or the time range is outside the range of possible values.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
// * ErrCodeInvalidTokenException "InvalidTokenException"
// Reserved for future use.
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListPublicKeys
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) ListPublicKeys ( input * ListPublicKeysInput ) ( * ListPublicKeysOutput , error ) {
req , out := c . ListPublicKeysRequest ( input )
return out , req . Send ( )
}
// ListPublicKeysWithContext is the same as ListPublicKeys with the addition of
// the ability to pass a context and additional request options.
//
// See ListPublicKeys for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) ListPublicKeysWithContext ( ctx aws . Context , input * ListPublicKeysInput , opts ... request . Option ) ( * ListPublicKeysOutput , error ) {
req , out := c . ListPublicKeysRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opListTags = "ListTags"
// ListTagsRequest generates a "aws/request.Request" representing the
// client's request for the ListTags operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListTags for more information on using the ListTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the ListTagsRequest method.
// req, resp := client.ListTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) ListTagsRequest ( input * ListTagsInput ) ( req * request . Request , output * ListTagsOutput ) {
op := & request . Operation {
Name : opListTags ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & ListTagsInput { }
}
output = & ListTagsOutput { }
req = c . newRequest ( op , input , output )
return
}
// ListTags API operation for AWS CloudTrail.
//
// Lists the tags for the trail in the current region.
//
// 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 CloudTrail's
// API operation ListTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// This exception is thrown when the specified resource is not found.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeARNInvalidException "CloudTrailARNInvalidException"
2017-10-06 00:08:03 +03:00
// This exception is thrown when an operation is called with an invalid trail
// ARN. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
// This exception is thrown when the specified resource type is not supported
// by CloudTrail.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
// * ErrCodeInvalidTokenException "InvalidTokenException"
// Reserved for future use.
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) ListTags ( input * ListTagsInput ) ( * ListTagsOutput , error ) {
req , out := c . ListTagsRequest ( input )
return out , req . Send ( )
}
// ListTagsWithContext is the same as ListTags with the addition of
// the ability to pass a context and additional request options.
//
// See ListTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) ListTagsWithContext ( ctx aws . Context , input * ListTagsInput , opts ... request . Option ) ( * ListTagsOutput , error ) {
req , out := c . ListTagsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opLookupEvents = "LookupEvents"
// LookupEventsRequest generates a "aws/request.Request" representing the
// client's request for the LookupEvents operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See LookupEvents for more information on using the LookupEvents
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the LookupEventsRequest method.
// req, resp := client.LookupEventsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/LookupEvents
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) LookupEventsRequest ( input * LookupEventsInput ) ( req * request . Request , output * LookupEventsOutput ) {
op := & request . Operation {
Name : opLookupEvents ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
Paginator : & request . Paginator {
InputTokens : [ ] string { "NextToken" } ,
OutputTokens : [ ] string { "NextToken" } ,
LimitToken : "MaxResults" ,
TruncationToken : "" ,
} ,
}
if input == nil {
input = & LookupEventsInput { }
}
output = & LookupEventsOutput { }
req = c . newRequest ( op , input , output )
return
}
// LookupEvents API operation for AWS CloudTrail.
//
2019-03-11 19:18:55 +03:00
// Looks up management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events)
// captured by CloudTrail. Events for a region can be looked up in that region
// during the last 90 days. Lookup supports the following attributes:
//
// * AWS access key
2017-10-06 00:08:03 +03:00
//
// * Event ID
//
// * Event name
//
// * Event source
//
2019-03-11 19:18:55 +03:00
// * Read only
//
2017-10-06 00:08:03 +03:00
// * Resource name
//
// * Resource type
//
// * User name
//
2019-03-11 19:18:55 +03:00
// All attributes are optional. The default number of results returned is 50,
2017-10-06 00:08:03 +03:00
// with a maximum of 50 possible. The response includes a token that you can
// use to get the next page of results.
//
// The rate of lookup requests is limited to one per second per account. If
// this limit is exceeded, a throttling error occurs.
//
// Events that occurred during the selected time range will not be available
// for lookup if CloudTrail logging was not enabled when the events occurred.
//
// 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 CloudTrail's
// API operation LookupEvents for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidLookupAttributesException "InvalidLookupAttributesException"
// Occurs when an invalid lookup attribute is specified.
//
// * ErrCodeInvalidTimeRangeException "InvalidTimeRangeException"
// Occurs if the timestamp values are invalid. Either the start time occurs
// after the end time or the time range is outside the range of possible values.
//
// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
// This exception is thrown if the limit specified is invalid.
//
// * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
// Invalid token or token that was previously used in a request with different
// parameters. This exception is thrown if the token is invalid.
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/LookupEvents
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) LookupEvents ( input * LookupEventsInput ) ( * LookupEventsOutput , error ) {
req , out := c . LookupEventsRequest ( input )
return out , req . Send ( )
}
// LookupEventsWithContext is the same as LookupEvents with the addition of
// the ability to pass a context and additional request options.
//
// See LookupEvents for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) LookupEventsWithContext ( ctx aws . Context , input * LookupEventsInput , opts ... request . Option ) ( * LookupEventsOutput , error ) {
req , out := c . LookupEventsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
// LookupEventsPages iterates over the pages of a LookupEvents operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See LookupEvents 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 LookupEvents operation.
// pageNum := 0
// err := client.LookupEventsPages(params,
// func(page *LookupEventsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
func ( c * CloudTrail ) LookupEventsPages ( input * LookupEventsInput , fn func ( * LookupEventsOutput , bool ) bool ) error {
return c . LookupEventsPagesWithContext ( aws . BackgroundContext ( ) , input , fn )
}
// LookupEventsPagesWithContext same as LookupEventsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) LookupEventsPagesWithContext ( ctx aws . Context , input * LookupEventsInput , fn func ( * LookupEventsOutput , bool ) bool , opts ... request . Option ) error {
p := request . Pagination {
NewRequest : func ( ) ( * request . Request , error ) {
var inCpy * LookupEventsInput
if input != nil {
tmp := * input
inCpy = & tmp
}
req , _ := c . LookupEventsRequest ( inCpy )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return req , nil
} ,
}
cont := true
for p . Next ( ) && cont {
cont = fn ( p . Page ( ) . ( * LookupEventsOutput ) , ! p . HasNextPage ( ) )
}
return p . Err ( )
}
const opPutEventSelectors = "PutEventSelectors"
// PutEventSelectorsRequest generates a "aws/request.Request" representing the
// client's request for the PutEventSelectors operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See PutEventSelectors for more information on using the PutEventSelectors
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the PutEventSelectorsRequest method.
// req, resp := client.PutEventSelectorsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutEventSelectors
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) PutEventSelectorsRequest ( input * PutEventSelectorsInput ) ( req * request . Request , output * PutEventSelectorsOutput ) {
op := & request . Operation {
Name : opPutEventSelectors ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & PutEventSelectorsInput { }
}
output = & PutEventSelectorsOutput { }
req = c . newRequest ( op , input , output )
return
}
// PutEventSelectors API operation for AWS CloudTrail.
//
2019-03-11 19:18:55 +03:00
// Configures an event selector for your trail. Use event selectors to further
// specify the management and data event settings for your trail. By default,
// trails created without specific event selectors will be configured to log
// all read and write management events, and no data events.
//
// When an event occurs in your account, CloudTrail evaluates the event selectors
// in all trails. For each trail, if the event matches any event selector, the
2017-10-06 00:08:03 +03:00
// trail processes and logs the event. If the event doesn't match any event
// selector, the trail doesn't log the event.
//
// Example
//
// You create an event selector for a trail and specify that you want write-only
// events.
//
// The EC2 GetConsoleOutput and RunInstances API operations occur in your account.
//
// CloudTrail evaluates whether the events match your event selectors.
//
// The RunInstances is a write-only event and it matches your event selector.
// The trail logs the event.
//
// The GetConsoleOutput is a read-only event but it doesn't match your event
// selector. The trail doesn't log the event.
//
// The PutEventSelectors operation must be called from the region in which the
// trail was created; otherwise, an InvalidHomeRegionException is thrown.
//
// You can configure up to five event selectors for each trail. For more information,
// see Logging Data and Management Events for Trails (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html)
2019-03-11 19:18:55 +03:00
// and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html)
2017-10-06 00:08:03 +03:00
// in the AWS CloudTrail User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS CloudTrail's
// API operation PutEventSelectors for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException"
// This exception is thrown when an operation is called on a trail from a region
// other than the region in which the trail was created.
//
// * ErrCodeInvalidEventSelectorsException "InvalidEventSelectorsException"
// This exception is thrown when the PutEventSelectors operation is called with
2019-03-11 19:18:55 +03:00
// a number of event selectors or data resources that is not valid. The combination
// of event selectors and data resources is not valid. A trail can have up to
// 5 event selectors. A trail is limited to 250 data resources. These data resources
// can be distributed across event selectors, but the overall total cannot exceed
// 250.
//
// You can:
2017-10-06 00:08:03 +03:00
//
// * Specify a valid number of event selectors (1 to 5) for a trail.
//
// * Specify a valid number of data resources (1 to 250) for an event selector.
2019-03-11 19:18:55 +03:00
// The limit of number of resources on an individual event selector is configurable
// up to 250. However, this upper limit is allowed only if the total number
// of data resources does not exceed 250 across all event selectors for a
// trail.
2017-10-06 00:08:03 +03:00
//
// * Specify a valid value for a parameter. For example, specifying the ReadWriteType
// parameter with a value of read-only is invalid.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutEventSelectors
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) PutEventSelectors ( input * PutEventSelectorsInput ) ( * PutEventSelectorsOutput , error ) {
req , out := c . PutEventSelectorsRequest ( input )
return out , req . Send ( )
}
// PutEventSelectorsWithContext is the same as PutEventSelectors with the addition of
// the ability to pass a context and additional request options.
//
// See PutEventSelectors for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) PutEventSelectorsWithContext ( ctx aws . Context , input * PutEventSelectorsInput , opts ... request . Option ) ( * PutEventSelectorsOutput , error ) {
req , out := c . PutEventSelectorsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opRemoveTags = "RemoveTags"
// RemoveTagsRequest generates a "aws/request.Request" representing the
// client's request for the RemoveTags operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RemoveTags for more information on using the RemoveTags
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the RemoveTagsRequest method.
// req, resp := client.RemoveTagsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RemoveTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) RemoveTagsRequest ( input * RemoveTagsInput ) ( req * request . Request , output * RemoveTagsOutput ) {
op := & request . Operation {
Name : opRemoveTags ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & RemoveTagsInput { }
}
output = & RemoveTagsOutput { }
req = c . newRequest ( op , input , output )
2019-03-11 19:18:55 +03:00
req . Handlers . Unmarshal . Swap ( jsonrpc . UnmarshalHandler . Name , protocol . UnmarshalDiscardBodyHandler )
2017-10-06 00:08:03 +03:00
return
}
// RemoveTags API operation for AWS CloudTrail.
//
// Removes the specified tags from a trail.
//
// 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 CloudTrail's
// API operation RemoveTags for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// This exception is thrown when the specified resource is not found.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeARNInvalidException "CloudTrailARNInvalidException"
2017-10-06 00:08:03 +03:00
// This exception is thrown when an operation is called with an invalid trail
// ARN. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
// This exception is thrown when the specified resource type is not supported
// by CloudTrail.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidTagParameterException "InvalidTagParameterException"
// This exception is thrown when the key or value specified for the tag does
// not match the regular expression ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RemoveTags
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) RemoveTags ( input * RemoveTagsInput ) ( * RemoveTagsOutput , error ) {
req , out := c . RemoveTagsRequest ( input )
return out , req . Send ( )
}
// RemoveTagsWithContext is the same as RemoveTags with the addition of
// the ability to pass a context and additional request options.
//
// See RemoveTags for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) RemoveTagsWithContext ( ctx aws . Context , input * RemoveTagsInput , opts ... request . Option ) ( * RemoveTagsOutput , error ) {
req , out := c . RemoveTagsRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opStartLogging = "StartLogging"
// StartLoggingRequest generates a "aws/request.Request" representing the
// client's request for the StartLogging operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartLogging for more information on using the StartLogging
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the StartLoggingRequest method.
// req, resp := client.StartLoggingRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StartLogging
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) StartLoggingRequest ( input * StartLoggingInput ) ( req * request . Request , output * StartLoggingOutput ) {
op := & request . Operation {
Name : opStartLogging ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & StartLoggingInput { }
}
output = & StartLoggingOutput { }
req = c . newRequest ( op , input , output )
2019-03-11 19:18:55 +03:00
req . Handlers . Unmarshal . Swap ( jsonrpc . UnmarshalHandler . Name , protocol . UnmarshalDiscardBodyHandler )
2017-10-06 00:08:03 +03:00
return
}
// StartLogging API operation for AWS CloudTrail.
//
// Starts the recording of AWS API calls and log file delivery for a trail.
// For a trail that is enabled in all regions, this operation must be called
// from the region in which the trail was created. This operation cannot be
// called on the shadow trails (replicated trails in other regions) of a trail
// that is enabled in all regions.
//
// 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 CloudTrail's
// API operation StartLogging for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException"
// This exception is thrown when an operation is called on a trail from a region
// other than the region in which the trail was created.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StartLogging
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) StartLogging ( input * StartLoggingInput ) ( * StartLoggingOutput , error ) {
req , out := c . StartLoggingRequest ( input )
return out , req . Send ( )
}
// StartLoggingWithContext is the same as StartLogging with the addition of
// the ability to pass a context and additional request options.
//
// See StartLogging for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) StartLoggingWithContext ( ctx aws . Context , input * StartLoggingInput , opts ... request . Option ) ( * StartLoggingOutput , error ) {
req , out := c . StartLoggingRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opStopLogging = "StopLogging"
// StopLoggingRequest generates a "aws/request.Request" representing the
// client's request for the StopLogging operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StopLogging for more information on using the StopLogging
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the StopLoggingRequest method.
// req, resp := client.StopLoggingRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StopLogging
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) StopLoggingRequest ( input * StopLoggingInput ) ( req * request . Request , output * StopLoggingOutput ) {
op := & request . Operation {
Name : opStopLogging ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & StopLoggingInput { }
}
output = & StopLoggingOutput { }
req = c . newRequest ( op , input , output )
2019-03-11 19:18:55 +03:00
req . Handlers . Unmarshal . Swap ( jsonrpc . UnmarshalHandler . Name , protocol . UnmarshalDiscardBodyHandler )
2017-10-06 00:08:03 +03:00
return
}
// StopLogging API operation for AWS CloudTrail.
//
// Suspends the recording of AWS API calls and log file delivery for the specified
// trail. Under most circumstances, there is no need to use this action. You
// can update a trail without stopping it first. This action is the only way
// to stop recording. For a trail enabled in all regions, this operation must
// be called from the region in which the trail was created, or an InvalidHomeRegionException
// will occur. This operation cannot be called on the shadow trails (replicated
// trails in other regions) of a trail enabled in all regions.
//
// 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 CloudTrail's
// API operation StopLogging for usage and error information.
//
// Returned Error Codes:
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException"
// This exception is thrown when an operation is called on a trail from a region
// other than the region in which the trail was created.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StopLogging
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) StopLogging ( input * StopLoggingInput ) ( * StopLoggingOutput , error ) {
req , out := c . StopLoggingRequest ( input )
return out , req . Send ( )
}
// StopLoggingWithContext is the same as StopLogging with the addition of
// the ability to pass a context and additional request options.
//
// See StopLogging for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) StopLoggingWithContext ( ctx aws . Context , input * StopLoggingInput , opts ... request . Option ) ( * StopLoggingOutput , error ) {
req , out := c . StopLoggingRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
const opUpdateTrail = "UpdateTrail"
// UpdateTrailRequest generates a "aws/request.Request" representing the
// client's request for the UpdateTrail operation. The "output" return
2019-03-11 19:18:55 +03:00
// value will be populated with the request's response once the request completes
// successfully.
2017-10-06 00:08:03 +03:00
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateTrail for more information on using the UpdateTrail
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the UpdateTrailRequest method.
// req, resp := client.UpdateTrailRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
2019-03-11 19:18:55 +03:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/UpdateTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) UpdateTrailRequest ( input * UpdateTrailInput ) ( req * request . Request , output * UpdateTrailOutput ) {
op := & request . Operation {
Name : opUpdateTrail ,
HTTPMethod : "POST" ,
HTTPPath : "/" ,
}
if input == nil {
input = & UpdateTrailInput { }
}
output = & UpdateTrailOutput { }
req = c . newRequest ( op , input , output )
return
}
// UpdateTrail API operation for AWS CloudTrail.
//
// Updates the settings that specify delivery of log files. Changes to a trail
// do not require stopping the CloudTrail service. Use this action to designate
// an existing bucket for log delivery. If the existing bucket has previously
// been a target for CloudTrail log files, an IAM policy exists for the bucket.
// UpdateTrail must be called from the region in which the trail was created;
// otherwise, an InvalidHomeRegionException is thrown.
//
// 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 CloudTrail's
// API operation UpdateTrail for usage and error information.
//
// Returned Error Codes:
// * ErrCodeS3BucketDoesNotExistException "S3BucketDoesNotExistException"
// This exception is thrown when the specified S3 bucket does not exist.
//
// * ErrCodeInsufficientS3BucketPolicyException "InsufficientS3BucketPolicyException"
// This exception is thrown when the policy on the S3 bucket is not sufficient.
//
// * ErrCodeInsufficientSnsTopicPolicyException "InsufficientSnsTopicPolicyException"
// This exception is thrown when the policy on the SNS topic is not sufficient.
//
// * ErrCodeInsufficientEncryptionPolicyException "InsufficientEncryptionPolicyException"
// This exception is thrown when the policy on the S3 bucket or KMS key is not
// sufficient.
//
// * ErrCodeTrailNotFoundException "TrailNotFoundException"
// This exception is thrown when the trail with the given name is not found.
//
// * ErrCodeInvalidS3BucketNameException "InvalidS3BucketNameException"
// This exception is thrown when the provided S3 bucket name is not valid.
//
// * ErrCodeInvalidS3PrefixException "InvalidS3PrefixException"
// This exception is thrown when the provided S3 prefix is not valid.
//
// * ErrCodeInvalidSnsTopicNameException "InvalidSnsTopicNameException"
// This exception is thrown when the provided SNS topic name is not valid.
//
// * ErrCodeInvalidKmsKeyIdException "InvalidKmsKeyIdException"
// This exception is thrown when the KMS key ARN is invalid.
//
// * ErrCodeInvalidTrailNameException "InvalidTrailNameException"
// This exception is thrown when the provided trail name is not valid. Trail
// names must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// * ErrCodeTrailNotProvidedException "TrailNotProvidedException"
// This exception is deprecated.
//
// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException"
// This exception is thrown when the combination of parameters provided is not
// valid.
//
// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException"
// This exception is thrown when an operation is called on a trail from a region
// other than the region in which the trail was created.
//
// * ErrCodeKmsKeyNotFoundException "KmsKeyNotFoundException"
// This exception is thrown when the KMS key does not exist, or when the S3
// bucket and the KMS key are not in the same region.
//
// * ErrCodeKmsKeyDisabledException "KmsKeyDisabledException"
// This exception is deprecated.
//
// * ErrCodeKmsException "KmsException"
// This exception is thrown when there is an issue with the specified KMS key
// and the trail can’ t be updated.
//
// * ErrCodeInvalidCloudWatchLogsLogGroupArnException "InvalidCloudWatchLogsLogGroupArnException"
// This exception is thrown when the provided CloudWatch log group is not valid.
//
// * ErrCodeInvalidCloudWatchLogsRoleArnException "InvalidCloudWatchLogsRoleArnException"
// This exception is thrown when the provided role is not valid.
//
// * ErrCodeCloudWatchLogsDeliveryUnavailableException "CloudWatchLogsDeliveryUnavailableException"
// Cannot set a CloudWatch Logs delivery for this region.
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// This exception is thrown when the requested operation is not supported.
//
// * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
// This exception is thrown when the requested operation is not permitted.
//
2019-03-11 19:18:55 +03:00
// * ErrCodeAccessNotEnabledException "CloudTrailAccessNotEnabledException"
// This exception is thrown when trusted access has not been enabled between
// AWS CloudTrail and AWS Organizations. For more information, see Enabling
// Trusted Access with Other AWS Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
// and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeInsufficientDependencyServiceAccessPermissionException "InsufficientDependencyServiceAccessPermissionException"
// This exception is thrown when the IAM user or role that is used to create
// the organization trail is lacking one or more required permissions for creating
// an organization trail in a required service. For more information, see Prepare
// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeOrganizationsNotInUseException "OrganizationsNotInUseException"
// This exception is thrown when the request is made from an AWS account that
// is not a member of an organization. To make this request, sign in using the
// credentials of an account that belongs to an organization.
//
// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException"
// This exception is thrown when the AWS account making the request to create
// or update an organization trail is not the master account for an organization
// in AWS Organizations. For more information, see Prepare For Creating a Trail
// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// * ErrCodeOrganizationNotInAllFeaturesModeException "OrganizationNotInAllFeaturesModeException"
// This exception is thrown when AWS Organizations is not configured to support
// all features. All features must be enabled in AWS Organization to support
// creating an organization trail. For more information, see Prepare For Creating
// a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/UpdateTrail
2017-10-06 00:08:03 +03:00
func ( c * CloudTrail ) UpdateTrail ( input * UpdateTrailInput ) ( * UpdateTrailOutput , error ) {
req , out := c . UpdateTrailRequest ( input )
return out , req . Send ( )
}
// UpdateTrailWithContext is the same as UpdateTrail with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateTrail for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func ( c * CloudTrail ) UpdateTrailWithContext ( ctx aws . Context , input * UpdateTrailInput , opts ... request . Option ) ( * UpdateTrailOutput , error ) {
req , out := c . UpdateTrailRequest ( input )
req . SetContext ( ctx )
req . ApplyOptions ( opts ... )
return out , req . Send ( )
}
// Specifies the tags to add to a trail.
type AddTagsInput struct {
_ struct { } ` type:"structure" `
// Specifies the ARN of the trail to which one or more tags will be added. The
// format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// ResourceId is a required field
ResourceId * string ` type:"string" required:"true" `
// Contains a list of CloudTrail tags, up to a limit of 50
TagsList [ ] * Tag ` type:"list" `
}
// String returns the string representation
func ( s AddTagsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s AddTagsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * AddTagsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "AddTagsInput" }
if s . ResourceId == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceId" ) )
}
if s . TagsList != nil {
for i , v := range s . TagsList {
if v == nil {
continue
}
if err := v . Validate ( ) ; err != nil {
invalidParams . AddNested ( fmt . Sprintf ( "%s[%v]" , "TagsList" , i ) , err . ( request . ErrInvalidParams ) )
}
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetResourceId sets the ResourceId field's value.
func ( s * AddTagsInput ) SetResourceId ( v string ) * AddTagsInput {
s . ResourceId = & v
return s
}
// SetTagsList sets the TagsList field's value.
func ( s * AddTagsInput ) SetTagsList ( v [ ] * Tag ) * AddTagsInput {
s . TagsList = v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type AddTagsOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s AddTagsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s AddTagsOutput ) GoString ( ) string {
return s . String ( )
}
// Specifies the settings for each trail.
type CreateTrailInput struct {
_ struct { } ` type:"structure" `
// Specifies a log group name using an Amazon Resource Name (ARN), a unique
// identifier that represents the log group to which CloudTrail logs will be
// delivered. Not required unless you specify CloudWatchLogsRoleArn.
CloudWatchLogsLogGroupArn * string ` type:"string" `
// Specifies the role for the CloudWatch Logs endpoint to assume to write to
// a user's log group.
CloudWatchLogsRoleArn * string ` type:"string" `
// Specifies whether log file integrity validation is enabled. The default is
// false.
//
// When you disable log file integrity validation, the chain of digest files
// is broken after one hour. CloudTrail will not create digest files for log
// files that were delivered during a period in which log file integrity validation
// was disabled. For example, if you enable log file integrity validation at
// noon on January 1, disable it at noon on January 2, and re-enable it at noon
// on January 10, digest files will not be created for the log files delivered
// from noon on January 2 to noon on January 10. The same applies whenever you
// stop CloudTrail logging or delete a trail.
EnableLogFileValidation * bool ` type:"boolean" `
// Specifies whether the trail is publishing events from global services such
// as IAM to the log files.
IncludeGlobalServiceEvents * bool ` type:"boolean" `
// Specifies whether the trail is created in the current region or in all regions.
// The default is false.
IsMultiRegionTrail * bool ` type:"boolean" `
2019-03-11 19:18:55 +03:00
// Specifies whether the trail is created for all accounts in an organization
// in AWS Organizations, or only for the current AWS account. The default is
// false, and cannot be true unless the call is made on behalf of an AWS account
// that is the master account for an organization in AWS Organizations.
IsOrganizationTrail * bool ` type:"boolean" `
2017-10-06 00:08:03 +03:00
// Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail.
// The value can be an alias name prefixed by "alias/", a fully specified ARN
// to an alias, a fully specified ARN to a key, or a globally unique identifier.
//
// Examples:
//
// * alias/MyAliasName
//
2019-03-11 19:18:55 +03:00
// * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
2017-10-06 00:08:03 +03:00
//
// * 12345678-1234-1234-1234-123456789012
KmsKeyId * string ` type:"string" `
// Specifies the name of the trail. The name must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// Name is a required field
Name * string ` type:"string" required:"true" `
// Specifies the name of the Amazon S3 bucket designated for publishing log
// files. See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html).
//
// S3BucketName is a required field
S3BucketName * string ` type:"string" required:"true" `
// Specifies the Amazon S3 key prefix that comes after the name of the bucket
// you have designated for log file delivery. For more information, see Finding
// Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
// The maximum length is 200 characters.
S3KeyPrefix * string ` type:"string" `
// Specifies the name of the Amazon SNS topic defined for notification of log
// file delivery. The maximum length is 256 characters.
SnsTopicName * string ` type:"string" `
}
// String returns the string representation
func ( s CreateTrailInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s CreateTrailInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * CreateTrailInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "CreateTrailInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if s . S3BucketName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "S3BucketName" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
func ( s * CreateTrailInput ) SetCloudWatchLogsLogGroupArn ( v string ) * CreateTrailInput {
s . CloudWatchLogsLogGroupArn = & v
return s
}
// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
func ( s * CreateTrailInput ) SetCloudWatchLogsRoleArn ( v string ) * CreateTrailInput {
s . CloudWatchLogsRoleArn = & v
return s
}
// SetEnableLogFileValidation sets the EnableLogFileValidation field's value.
func ( s * CreateTrailInput ) SetEnableLogFileValidation ( v bool ) * CreateTrailInput {
s . EnableLogFileValidation = & v
return s
}
// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
func ( s * CreateTrailInput ) SetIncludeGlobalServiceEvents ( v bool ) * CreateTrailInput {
s . IncludeGlobalServiceEvents = & v
return s
}
// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
func ( s * CreateTrailInput ) SetIsMultiRegionTrail ( v bool ) * CreateTrailInput {
s . IsMultiRegionTrail = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
func ( s * CreateTrailInput ) SetIsOrganizationTrail ( v bool ) * CreateTrailInput {
s . IsOrganizationTrail = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetKmsKeyId sets the KmsKeyId field's value.
func ( s * CreateTrailInput ) SetKmsKeyId ( v string ) * CreateTrailInput {
s . KmsKeyId = & v
return s
}
// SetName sets the Name field's value.
func ( s * CreateTrailInput ) SetName ( v string ) * CreateTrailInput {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * CreateTrailInput ) SetS3BucketName ( v string ) * CreateTrailInput {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * CreateTrailInput ) SetS3KeyPrefix ( v string ) * CreateTrailInput {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicName sets the SnsTopicName field's value.
func ( s * CreateTrailInput ) SetSnsTopicName ( v string ) * CreateTrailInput {
s . SnsTopicName = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type CreateTrailOutput struct {
_ struct { } ` type:"structure" `
// Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
// logs will be delivered.
CloudWatchLogsLogGroupArn * string ` type:"string" `
// Specifies the role for the CloudWatch Logs endpoint to assume to write to
// a user's log group.
CloudWatchLogsRoleArn * string ` type:"string" `
// Specifies whether the trail is publishing events from global services such
// as IAM to the log files.
IncludeGlobalServiceEvents * bool ` type:"boolean" `
// Specifies whether the trail exists in one region or in all regions.
IsMultiRegionTrail * bool ` type:"boolean" `
2019-03-11 19:18:55 +03:00
// Specifies whether the trail is an organization trail.
IsOrganizationTrail * bool ` type:"boolean" `
2017-10-06 00:08:03 +03:00
// Specifies the KMS key ID that encrypts the logs delivered by CloudTrail.
// The value is a fully specified ARN to a KMS key in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
2017-10-06 00:08:03 +03:00
KmsKeyId * string ` type:"string" `
// Specifies whether log file integrity validation is enabled.
LogFileValidationEnabled * bool ` type:"boolean" `
// Specifies the name of the trail.
Name * string ` type:"string" `
// Specifies the name of the Amazon S3 bucket designated for publishing log
// files.
S3BucketName * string ` type:"string" `
// Specifies the Amazon S3 key prefix that comes after the name of the bucket
// you have designated for log file delivery. For more information, see Finding
// Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
S3KeyPrefix * string ` type:"string" `
// Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications
// when log files are delivered. The format of a topic ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:sns:us-east-2:123456789012:MyTopic
2017-10-06 00:08:03 +03:00
SnsTopicARN * string ` type:"string" `
// This field is deprecated. Use SnsTopicARN.
2019-03-11 19:18:55 +03:00
//
// Deprecated: SnsTopicName has been deprecated
2017-10-06 00:08:03 +03:00
SnsTopicName * string ` deprecated:"true" type:"string" `
// Specifies the ARN of the trail that was created. The format of a trail ARN
// is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
TrailARN * string ` type:"string" `
}
// String returns the string representation
func ( s CreateTrailOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s CreateTrailOutput ) GoString ( ) string {
return s . String ( )
}
// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
func ( s * CreateTrailOutput ) SetCloudWatchLogsLogGroupArn ( v string ) * CreateTrailOutput {
s . CloudWatchLogsLogGroupArn = & v
return s
}
// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
func ( s * CreateTrailOutput ) SetCloudWatchLogsRoleArn ( v string ) * CreateTrailOutput {
s . CloudWatchLogsRoleArn = & v
return s
}
// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
func ( s * CreateTrailOutput ) SetIncludeGlobalServiceEvents ( v bool ) * CreateTrailOutput {
s . IncludeGlobalServiceEvents = & v
return s
}
// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
func ( s * CreateTrailOutput ) SetIsMultiRegionTrail ( v bool ) * CreateTrailOutput {
s . IsMultiRegionTrail = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
func ( s * CreateTrailOutput ) SetIsOrganizationTrail ( v bool ) * CreateTrailOutput {
s . IsOrganizationTrail = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetKmsKeyId sets the KmsKeyId field's value.
func ( s * CreateTrailOutput ) SetKmsKeyId ( v string ) * CreateTrailOutput {
s . KmsKeyId = & v
return s
}
// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
func ( s * CreateTrailOutput ) SetLogFileValidationEnabled ( v bool ) * CreateTrailOutput {
s . LogFileValidationEnabled = & v
return s
}
// SetName sets the Name field's value.
func ( s * CreateTrailOutput ) SetName ( v string ) * CreateTrailOutput {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * CreateTrailOutput ) SetS3BucketName ( v string ) * CreateTrailOutput {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * CreateTrailOutput ) SetS3KeyPrefix ( v string ) * CreateTrailOutput {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicARN sets the SnsTopicARN field's value.
func ( s * CreateTrailOutput ) SetSnsTopicARN ( v string ) * CreateTrailOutput {
s . SnsTopicARN = & v
return s
}
// SetSnsTopicName sets the SnsTopicName field's value.
func ( s * CreateTrailOutput ) SetSnsTopicName ( v string ) * CreateTrailOutput {
s . SnsTopicName = & v
return s
}
// SetTrailARN sets the TrailARN field's value.
func ( s * CreateTrailOutput ) SetTrailARN ( v string ) * CreateTrailOutput {
s . TrailARN = & v
return s
}
2019-03-11 19:18:55 +03:00
// The Amazon S3 buckets or AWS Lambda functions that you specify in your event
// selectors for your trail to log data events. Data events provide insight
// into the resource operations performed on or within a resource itself. These
// are also known as data plane operations. You can specify up to 250 data resources
// for a trail.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// The total number of allowed data resources is 250. This number can be distributed
// between 1 and 5 event selectors, but the total cannot exceed 250 across all
// selectors.
//
// The following example demonstrates how logging works when you configure logging
// of all data events for an S3 bucket named bucket-1. In this example, the
// CloudTrail user spcified an empty prefix, and the option to log both Read
// and Write data events.
//
// A user uploads an image file to bucket-1.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// The PutObject API operation is an Amazon S3 object-level API. It is recorded
// as a data event in CloudTrail. Because the CloudTrail user specified an S3
// bucket with an empty prefix, events that occur on any object in that bucket
// are logged. The trail processes and logs the event.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// The PutObject API operation occurred for an object in an S3 bucket that the
// CloudTrail user didn't specify for the trail. The trail doesn’ t log the event.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// The following example demonstrates how logging works when you configure logging
// of AWS Lambda data events for a Lambda function named MyLambdaFunction, but
// not for all AWS Lambda functions.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// A user runs a script that includes a call to the MyLambdaFunction function
// and the MyOtherLambdaFunction function.
//
// The Invoke API operation on MyLambdaFunction is an AWS Lambda API. It is
// recorded as a data event in CloudTrail. Because the CloudTrail user specified
// logging data events for MyLambdaFunction, any invocations of that function
// are logged. The trail processes and logs the event.
//
// The Invoke API operation on MyOtherLambdaFunction is an AWS Lambda API. Because
// the CloudTrail user did not specify logging data events for all Lambda functions,
// the Invoke operation for MyOtherLambdaFunction does not match the function
// specified for the trail. The trail doesn’ t log the event.
2017-10-06 00:08:03 +03:00
type DataResource struct {
_ struct { } ` type:"structure" `
2019-03-11 19:18:55 +03:00
// The resource type in which you want to log data events. You can specify AWS::S3::Object
// or AWS::Lambda::Function resources.
2017-10-06 00:08:03 +03:00
Type * string ` type:"string" `
2019-03-11 19:18:55 +03:00
// An array of Amazon Resource Name (ARN) strings or partial ARN strings for
// the specified objects.
//
// * To log data events for all objects in all S3 buckets in your AWS account,
// specify the prefix as arn:aws:s3:::.
//
// This will also enable logging of data event activity performed by any user
// or role in your AWS account, even if that activity is performed on a bucket
// that belongs to another AWS account.
//
// * To log data events for all objects in all S3 buckets that include my-bucket
// in their names, specify the prefix as aws:s3:::my-bucket. The trail logs
// data events for all objects in all buckets whose name contains a match
// for my-bucket.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// * To log data events for all objects in an S3 bucket, specify the bucket
// and an empty object prefix such as arn:aws:s3:::bucket-1/. The trail logs
// data events for all objects in this S3 bucket.
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// * To log data events for specific objects, specify the S3 bucket and object
// prefix such as arn:aws:s3:::bucket-1/example-images. The trail logs data
// events for objects in this S3 bucket that match the prefix.
//
// * To log data events for all functions in your AWS account, specify the
// prefix as arn:aws:lambda.
//
// This will also enable logging of Invoke activity performed by any user or
// role in your AWS account, even if that activity is performed on a function
// that belongs to another AWS account.
//
// * To log data eents for a specific Lambda function, specify the function
// ARN.
//
// Lambda function ARNs are exact. Unlike S3, you cannot use matching. For example,
// if you specify a function ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld,
// data events will only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld.
// They will not be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld2.
2017-10-06 00:08:03 +03:00
Values [ ] * string ` type:"list" `
}
// String returns the string representation
func ( s DataResource ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DataResource ) GoString ( ) string {
return s . String ( )
}
// SetType sets the Type field's value.
func ( s * DataResource ) SetType ( v string ) * DataResource {
s . Type = & v
return s
}
// SetValues sets the Values field's value.
func ( s * DataResource ) SetValues ( v [ ] * string ) * DataResource {
s . Values = v
return s
}
// The request that specifies the name of a trail to delete.
type DeleteTrailInput struct {
_ struct { } ` type:"structure" `
// Specifies the name or the CloudTrail ARN of the trail to be deleted. The
2019-03-11 19:18:55 +03:00
// format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// Name is a required field
Name * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s DeleteTrailInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteTrailInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * DeleteTrailInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "DeleteTrailInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func ( s * DeleteTrailInput ) SetName ( v string ) * DeleteTrailInput {
s . Name = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type DeleteTrailOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s DeleteTrailOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DeleteTrailOutput ) GoString ( ) string {
return s . String ( )
}
// Returns information about the trail.
type DescribeTrailsInput struct {
_ struct { } ` type:"structure" `
// Specifies whether to include shadow trails in the response. A shadow trail
// is the replication in a region of a trail that was created in a different
2019-03-11 19:18:55 +03:00
// region, or in the case of an organization trail, the replication of an organization
// trail in member accounts. If you do not include shadow trails, organization
// trails in a member account and region replication trails will not be returned.
// The default is true.
2017-10-06 00:08:03 +03:00
IncludeShadowTrails * bool ` locationName:"includeShadowTrails" type:"boolean" `
// Specifies a list of trail names, trail ARNs, or both, of the trails to describe.
// The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// If an empty list is specified, information for the trail in the current region
// is returned.
//
// * If an empty list is specified and IncludeShadowTrails is false, then
// information for all trails in the current region is returned.
//
// * If an empty list is specified and IncludeShadowTrails is null or true,
// then information for all trails in the current region and any associated
// shadow trails in other regions is returned.
//
// If one or more trail names are specified, information is returned only if
// the names match the names of trails belonging only to the current region.
// To return information about a trail in another region, you must specify its
// trail ARN.
TrailNameList [ ] * string ` locationName:"trailNameList" type:"list" `
}
// String returns the string representation
func ( s DescribeTrailsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeTrailsInput ) GoString ( ) string {
return s . String ( )
}
// SetIncludeShadowTrails sets the IncludeShadowTrails field's value.
func ( s * DescribeTrailsInput ) SetIncludeShadowTrails ( v bool ) * DescribeTrailsInput {
s . IncludeShadowTrails = & v
return s
}
// SetTrailNameList sets the TrailNameList field's value.
func ( s * DescribeTrailsInput ) SetTrailNameList ( v [ ] * string ) * DescribeTrailsInput {
s . TrailNameList = v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type DescribeTrailsOutput struct {
_ struct { } ` type:"structure" `
// The list of trail objects.
TrailList [ ] * Trail ` locationName:"trailList" type:"list" `
}
// String returns the string representation
func ( s DescribeTrailsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s DescribeTrailsOutput ) GoString ( ) string {
return s . String ( )
}
// SetTrailList sets the TrailList field's value.
func ( s * DescribeTrailsOutput ) SetTrailList ( v [ ] * Trail ) * DescribeTrailsOutput {
s . TrailList = v
return s
}
// Contains information about an event that was returned by a lookup request.
// The result includes a representation of a CloudTrail event.
type Event struct {
_ struct { } ` type:"structure" `
2019-03-11 19:18:55 +03:00
// The AWS access key ID that was used to sign the request. If the request was
// made with temporary security credentials, this is the access key ID of the
// temporary credentials.
AccessKeyId * string ` type:"string" `
2017-10-06 00:08:03 +03:00
// A JSON string that contains a representation of the event returned.
CloudTrailEvent * string ` type:"string" `
// The CloudTrail ID of the event returned.
EventId * string ` type:"string" `
// The name of the event returned.
EventName * string ` type:"string" `
// The AWS service that the request was made to.
EventSource * string ` type:"string" `
// The date and time of the event returned.
2019-03-11 19:18:55 +03:00
EventTime * time . Time ` type:"timestamp" `
// Information about whether the event is a write event or a read event.
ReadOnly * string ` type:"string" `
2017-10-06 00:08:03 +03:00
// A list of resources referenced by the event returned.
Resources [ ] * Resource ` type:"list" `
// A user name or role name of the requester that called the API in the event
// returned.
Username * string ` type:"string" `
}
// String returns the string representation
func ( s Event ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Event ) GoString ( ) string {
return s . String ( )
}
2019-03-11 19:18:55 +03:00
// SetAccessKeyId sets the AccessKeyId field's value.
func ( s * Event ) SetAccessKeyId ( v string ) * Event {
s . AccessKeyId = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetCloudTrailEvent sets the CloudTrailEvent field's value.
func ( s * Event ) SetCloudTrailEvent ( v string ) * Event {
s . CloudTrailEvent = & v
return s
}
// SetEventId sets the EventId field's value.
func ( s * Event ) SetEventId ( v string ) * Event {
s . EventId = & v
return s
}
// SetEventName sets the EventName field's value.
func ( s * Event ) SetEventName ( v string ) * Event {
s . EventName = & v
return s
}
// SetEventSource sets the EventSource field's value.
func ( s * Event ) SetEventSource ( v string ) * Event {
s . EventSource = & v
return s
}
// SetEventTime sets the EventTime field's value.
func ( s * Event ) SetEventTime ( v time . Time ) * Event {
s . EventTime = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetReadOnly sets the ReadOnly field's value.
func ( s * Event ) SetReadOnly ( v string ) * Event {
s . ReadOnly = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetResources sets the Resources field's value.
func ( s * Event ) SetResources ( v [ ] * Resource ) * Event {
s . Resources = v
return s
}
// SetUsername sets the Username field's value.
func ( s * Event ) SetUsername ( v string ) * Event {
s . Username = & v
return s
}
2019-03-11 19:18:55 +03:00
// Use event selectors to further specify the management and data event settings
// for your trail. By default, trails created without specific event selectors
// will be configured to log all read and write management events, and no data
// events. When an event occurs in your account, CloudTrail evaluates the event
// selector for all trails. For each trail, if the event matches any event selector,
// the trail processes and logs the event. If the event doesn't match any event
// selector, the trail doesn't log the event.
2017-10-06 00:08:03 +03:00
//
// You can configure up to five event selectors for a trail.
type EventSelector struct {
_ struct { } ` type:"structure" `
2019-03-11 19:18:55 +03:00
// CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda
// functions. You can specify up to 250 resources for an individual event selector,
// but the total number of data resources cannot exceed 250 across all event
// selectors in a trail. This limit does not apply if you configure resource
// logging for all data events.
2017-10-06 00:08:03 +03:00
//
// For more information, see Data Events (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-data-events)
2019-03-11 19:18:55 +03:00
// and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html)
2017-10-06 00:08:03 +03:00
// in the AWS CloudTrail User Guide.
DataResources [ ] * DataResource ` type:"list" `
// Specify if you want your event selector to include management events for
// your trail.
//
// For more information, see Management Events (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-management-events)
// in the AWS CloudTrail User Guide.
//
// By default, the value is true.
IncludeManagementEvents * bool ` type:"boolean" `
// Specify if you want your trail to log read-only events, write-only events,
// or all. For example, the EC2 GetConsoleOutput is a read-only API operation
// and RunInstances is a write-only API operation.
//
// By default, the value is All.
ReadWriteType * string ` type:"string" enum:"ReadWriteType" `
}
// String returns the string representation
func ( s EventSelector ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s EventSelector ) GoString ( ) string {
return s . String ( )
}
// SetDataResources sets the DataResources field's value.
func ( s * EventSelector ) SetDataResources ( v [ ] * DataResource ) * EventSelector {
s . DataResources = v
return s
}
// SetIncludeManagementEvents sets the IncludeManagementEvents field's value.
func ( s * EventSelector ) SetIncludeManagementEvents ( v bool ) * EventSelector {
s . IncludeManagementEvents = & v
return s
}
// SetReadWriteType sets the ReadWriteType field's value.
func ( s * EventSelector ) SetReadWriteType ( v string ) * EventSelector {
s . ReadWriteType = & v
return s
}
type GetEventSelectorsInput struct {
_ struct { } ` type:"structure" `
// Specifies the name of the trail or trail ARN. If you specify a trail name,
// the string must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
2019-03-11 19:18:55 +03:00
// and my--namespace are not valid.
2017-10-06 00:08:03 +03:00
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// If you specify a trail ARN, it must be in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// TrailName is a required field
TrailName * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s GetEventSelectorsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetEventSelectorsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * GetEventSelectorsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "GetEventSelectorsInput" }
if s . TrailName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "TrailName" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetTrailName sets the TrailName field's value.
func ( s * GetEventSelectorsInput ) SetTrailName ( v string ) * GetEventSelectorsInput {
s . TrailName = & v
return s
}
type GetEventSelectorsOutput struct {
_ struct { } ` type:"structure" `
// The event selectors that are configured for the trail.
EventSelectors [ ] * EventSelector ` type:"list" `
// The specified trail ARN that has the event selectors.
TrailARN * string ` type:"string" `
}
// String returns the string representation
func ( s GetEventSelectorsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetEventSelectorsOutput ) GoString ( ) string {
return s . String ( )
}
// SetEventSelectors sets the EventSelectors field's value.
func ( s * GetEventSelectorsOutput ) SetEventSelectors ( v [ ] * EventSelector ) * GetEventSelectorsOutput {
s . EventSelectors = v
return s
}
// SetTrailARN sets the TrailARN field's value.
func ( s * GetEventSelectorsOutput ) SetTrailARN ( v string ) * GetEventSelectorsOutput {
s . TrailARN = & v
return s
}
// The name of a trail about which you want the current status.
type GetTrailStatusInput struct {
_ struct { } ` type:"structure" `
// Specifies the name or the CloudTrail ARN of the trail for which you are requesting
// status. To get the status of a shadow trail (a replication of the trail in
// another region), you must specify its ARN. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// Name is a required field
Name * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s GetTrailStatusInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetTrailStatusInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * GetTrailStatusInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "GetTrailStatusInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func ( s * GetTrailStatusInput ) SetName ( v string ) * GetTrailStatusInput {
s . Name = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type GetTrailStatusOutput struct {
_ struct { } ` type:"structure" `
// Whether the CloudTrail is currently logging AWS API calls.
IsLogging * bool ` type:"boolean" `
// Displays any CloudWatch Logs error that CloudTrail encountered when attempting
// to deliver logs to CloudWatch Logs.
LatestCloudWatchLogsDeliveryError * string ` type:"string" `
// Displays the most recent date and time when CloudTrail delivered logs to
// CloudWatch Logs.
2019-03-11 19:18:55 +03:00
LatestCloudWatchLogsDeliveryTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// This field is deprecated.
LatestDeliveryAttemptSucceeded * string ` type:"string" `
// This field is deprecated.
LatestDeliveryAttemptTime * string ` type:"string" `
// Displays any Amazon S3 error that CloudTrail encountered when attempting
// to deliver log files to the designated bucket. For more information see the
// topic Error Responses (http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html)
// in the Amazon S3 API Reference.
//
// This error occurs only when there is a problem with the destination S3 bucket
// and will not occur for timeouts. To resolve the issue, create a new bucket
// and call UpdateTrail to specify the new bucket, or fix the existing objects
// so that CloudTrail can again write to the bucket.
LatestDeliveryError * string ` type:"string" `
// Specifies the date and time that CloudTrail last delivered log files to an
// account's Amazon S3 bucket.
2019-03-11 19:18:55 +03:00
LatestDeliveryTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// Displays any Amazon S3 error that CloudTrail encountered when attempting
// to deliver a digest file to the designated bucket. For more information see
// the topic Error Responses (http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html)
// in the Amazon S3 API Reference.
//
// This error occurs only when there is a problem with the destination S3 bucket
// and will not occur for timeouts. To resolve the issue, create a new bucket
// and call UpdateTrail to specify the new bucket, or fix the existing objects
// so that CloudTrail can again write to the bucket.
LatestDigestDeliveryError * string ` type:"string" `
// Specifies the date and time that CloudTrail last delivered a digest file
// to an account's Amazon S3 bucket.
2019-03-11 19:18:55 +03:00
LatestDigestDeliveryTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// This field is deprecated.
LatestNotificationAttemptSucceeded * string ` type:"string" `
// This field is deprecated.
LatestNotificationAttemptTime * string ` type:"string" `
// Displays any Amazon SNS error that CloudTrail encountered when attempting
// to send a notification. For more information about Amazon SNS errors, see
// the Amazon SNS Developer Guide (http://docs.aws.amazon.com/sns/latest/dg/welcome.html).
LatestNotificationError * string ` type:"string" `
// Specifies the date and time of the most recent Amazon SNS notification that
// CloudTrail has written a new log file to an account's Amazon S3 bucket.
2019-03-11 19:18:55 +03:00
LatestNotificationTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// Specifies the most recent date and time when CloudTrail started recording
// API calls for an AWS account.
2019-03-11 19:18:55 +03:00
StartLoggingTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// Specifies the most recent date and time when CloudTrail stopped recording
// API calls for an AWS account.
2019-03-11 19:18:55 +03:00
StopLoggingTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// This field is deprecated.
TimeLoggingStarted * string ` type:"string" `
// This field is deprecated.
TimeLoggingStopped * string ` type:"string" `
}
// String returns the string representation
func ( s GetTrailStatusOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s GetTrailStatusOutput ) GoString ( ) string {
return s . String ( )
}
// SetIsLogging sets the IsLogging field's value.
func ( s * GetTrailStatusOutput ) SetIsLogging ( v bool ) * GetTrailStatusOutput {
s . IsLogging = & v
return s
}
// SetLatestCloudWatchLogsDeliveryError sets the LatestCloudWatchLogsDeliveryError field's value.
func ( s * GetTrailStatusOutput ) SetLatestCloudWatchLogsDeliveryError ( v string ) * GetTrailStatusOutput {
s . LatestCloudWatchLogsDeliveryError = & v
return s
}
// SetLatestCloudWatchLogsDeliveryTime sets the LatestCloudWatchLogsDeliveryTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestCloudWatchLogsDeliveryTime ( v time . Time ) * GetTrailStatusOutput {
s . LatestCloudWatchLogsDeliveryTime = & v
return s
}
// SetLatestDeliveryAttemptSucceeded sets the LatestDeliveryAttemptSucceeded field's value.
func ( s * GetTrailStatusOutput ) SetLatestDeliveryAttemptSucceeded ( v string ) * GetTrailStatusOutput {
s . LatestDeliveryAttemptSucceeded = & v
return s
}
// SetLatestDeliveryAttemptTime sets the LatestDeliveryAttemptTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestDeliveryAttemptTime ( v string ) * GetTrailStatusOutput {
s . LatestDeliveryAttemptTime = & v
return s
}
// SetLatestDeliveryError sets the LatestDeliveryError field's value.
func ( s * GetTrailStatusOutput ) SetLatestDeliveryError ( v string ) * GetTrailStatusOutput {
s . LatestDeliveryError = & v
return s
}
// SetLatestDeliveryTime sets the LatestDeliveryTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestDeliveryTime ( v time . Time ) * GetTrailStatusOutput {
s . LatestDeliveryTime = & v
return s
}
// SetLatestDigestDeliveryError sets the LatestDigestDeliveryError field's value.
func ( s * GetTrailStatusOutput ) SetLatestDigestDeliveryError ( v string ) * GetTrailStatusOutput {
s . LatestDigestDeliveryError = & v
return s
}
// SetLatestDigestDeliveryTime sets the LatestDigestDeliveryTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestDigestDeliveryTime ( v time . Time ) * GetTrailStatusOutput {
s . LatestDigestDeliveryTime = & v
return s
}
// SetLatestNotificationAttemptSucceeded sets the LatestNotificationAttemptSucceeded field's value.
func ( s * GetTrailStatusOutput ) SetLatestNotificationAttemptSucceeded ( v string ) * GetTrailStatusOutput {
s . LatestNotificationAttemptSucceeded = & v
return s
}
// SetLatestNotificationAttemptTime sets the LatestNotificationAttemptTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestNotificationAttemptTime ( v string ) * GetTrailStatusOutput {
s . LatestNotificationAttemptTime = & v
return s
}
// SetLatestNotificationError sets the LatestNotificationError field's value.
func ( s * GetTrailStatusOutput ) SetLatestNotificationError ( v string ) * GetTrailStatusOutput {
s . LatestNotificationError = & v
return s
}
// SetLatestNotificationTime sets the LatestNotificationTime field's value.
func ( s * GetTrailStatusOutput ) SetLatestNotificationTime ( v time . Time ) * GetTrailStatusOutput {
s . LatestNotificationTime = & v
return s
}
// SetStartLoggingTime sets the StartLoggingTime field's value.
func ( s * GetTrailStatusOutput ) SetStartLoggingTime ( v time . Time ) * GetTrailStatusOutput {
s . StartLoggingTime = & v
return s
}
// SetStopLoggingTime sets the StopLoggingTime field's value.
func ( s * GetTrailStatusOutput ) SetStopLoggingTime ( v time . Time ) * GetTrailStatusOutput {
s . StopLoggingTime = & v
return s
}
// SetTimeLoggingStarted sets the TimeLoggingStarted field's value.
func ( s * GetTrailStatusOutput ) SetTimeLoggingStarted ( v string ) * GetTrailStatusOutput {
s . TimeLoggingStarted = & v
return s
}
// SetTimeLoggingStopped sets the TimeLoggingStopped field's value.
func ( s * GetTrailStatusOutput ) SetTimeLoggingStopped ( v string ) * GetTrailStatusOutput {
s . TimeLoggingStopped = & v
return s
}
// Requests the public keys for a specified time range.
type ListPublicKeysInput struct {
_ struct { } ` type:"structure" `
// Optionally specifies, in UTC, the end of the time range to look up public
// keys for CloudTrail digest files. If not specified, the current time is used.
2019-03-11 19:18:55 +03:00
EndTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// Reserved for future use.
NextToken * string ` type:"string" `
// Optionally specifies, in UTC, the start of the time range to look up public
// keys for CloudTrail digest files. If not specified, the current time is used,
// and the current public key is returned.
2019-03-11 19:18:55 +03:00
StartTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
}
// String returns the string representation
func ( s ListPublicKeysInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListPublicKeysInput ) GoString ( ) string {
return s . String ( )
}
// SetEndTime sets the EndTime field's value.
func ( s * ListPublicKeysInput ) SetEndTime ( v time . Time ) * ListPublicKeysInput {
s . EndTime = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * ListPublicKeysInput ) SetNextToken ( v string ) * ListPublicKeysInput {
s . NextToken = & v
return s
}
// SetStartTime sets the StartTime field's value.
func ( s * ListPublicKeysInput ) SetStartTime ( v time . Time ) * ListPublicKeysInput {
s . StartTime = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type ListPublicKeysOutput struct {
_ struct { } ` type:"structure" `
// Reserved for future use.
NextToken * string ` type:"string" `
// Contains an array of PublicKey objects.
//
// The returned public keys may have validity time ranges that overlap.
PublicKeyList [ ] * PublicKey ` type:"list" `
}
// String returns the string representation
func ( s ListPublicKeysOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListPublicKeysOutput ) GoString ( ) string {
return s . String ( )
}
// SetNextToken sets the NextToken field's value.
func ( s * ListPublicKeysOutput ) SetNextToken ( v string ) * ListPublicKeysOutput {
s . NextToken = & v
return s
}
// SetPublicKeyList sets the PublicKeyList field's value.
func ( s * ListPublicKeysOutput ) SetPublicKeyList ( v [ ] * PublicKey ) * ListPublicKeysOutput {
s . PublicKeyList = v
return s
}
// Specifies a list of trail tags to return.
type ListTagsInput struct {
_ struct { } ` type:"structure" `
// Reserved for future use.
NextToken * string ` type:"string" `
// Specifies a list of trail ARNs whose tags will be listed. The list has a
// limit of 20 ARNs. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// ResourceIdList is a required field
ResourceIdList [ ] * string ` type:"list" required:"true" `
}
// String returns the string representation
func ( s ListTagsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListTagsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * ListTagsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "ListTagsInput" }
if s . ResourceIdList == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceIdList" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetNextToken sets the NextToken field's value.
func ( s * ListTagsInput ) SetNextToken ( v string ) * ListTagsInput {
s . NextToken = & v
return s
}
// SetResourceIdList sets the ResourceIdList field's value.
func ( s * ListTagsInput ) SetResourceIdList ( v [ ] * string ) * ListTagsInput {
s . ResourceIdList = v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type ListTagsOutput struct {
_ struct { } ` type:"structure" `
// Reserved for future use.
NextToken * string ` type:"string" `
// A list of resource tags.
ResourceTagList [ ] * ResourceTag ` type:"list" `
}
// String returns the string representation
func ( s ListTagsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ListTagsOutput ) GoString ( ) string {
return s . String ( )
}
// SetNextToken sets the NextToken field's value.
func ( s * ListTagsOutput ) SetNextToken ( v string ) * ListTagsOutput {
s . NextToken = & v
return s
}
// SetResourceTagList sets the ResourceTagList field's value.
func ( s * ListTagsOutput ) SetResourceTagList ( v [ ] * ResourceTag ) * ListTagsOutput {
s . ResourceTagList = v
return s
}
// Specifies an attribute and value that filter the events returned.
type LookupAttribute struct {
_ struct { } ` type:"structure" `
// Specifies an attribute on which to filter the events returned.
//
// AttributeKey is a required field
AttributeKey * string ` type:"string" required:"true" enum:"LookupAttributeKey" `
// Specifies a value for the specified AttributeKey.
//
// AttributeValue is a required field
AttributeValue * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s LookupAttribute ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s LookupAttribute ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * LookupAttribute ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "LookupAttribute" }
if s . AttributeKey == nil {
invalidParams . Add ( request . NewErrParamRequired ( "AttributeKey" ) )
}
if s . AttributeValue == nil {
invalidParams . Add ( request . NewErrParamRequired ( "AttributeValue" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetAttributeKey sets the AttributeKey field's value.
func ( s * LookupAttribute ) SetAttributeKey ( v string ) * LookupAttribute {
s . AttributeKey = & v
return s
}
// SetAttributeValue sets the AttributeValue field's value.
func ( s * LookupAttribute ) SetAttributeValue ( v string ) * LookupAttribute {
s . AttributeValue = & v
return s
}
// Contains a request for LookupEvents.
type LookupEventsInput struct {
_ struct { } ` type:"structure" `
// Specifies that only events that occur before or at the specified time are
// returned. If the specified end time is before the specified start time, an
// error is returned.
2019-03-11 19:18:55 +03:00
EndTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// Contains a list of lookup attributes. Currently the list can contain only
// one item.
LookupAttributes [ ] * LookupAttribute ` type:"list" `
// The number of events to return. Possible values are 1 through 50. The default
2019-03-11 19:18:55 +03:00
// is 50.
2017-10-06 00:08:03 +03:00
MaxResults * int64 ` min:"1" type:"integer" `
// The token to use to get the next page of results after a previous API call.
// This token must be passed in with the same parameters that were specified
// in the the original call. For example, if the original call specified an
// AttributeKey of 'Username' with a value of 'root', the call with NextToken
// should include those same parameters.
NextToken * string ` type:"string" `
// Specifies that only events that occur after or at the specified time are
// returned. If the specified start time is after the specified end time, an
// error is returned.
2019-03-11 19:18:55 +03:00
StartTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
}
// String returns the string representation
func ( s LookupEventsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s LookupEventsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * LookupEventsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "LookupEventsInput" }
if s . MaxResults != nil && * s . MaxResults < 1 {
invalidParams . Add ( request . NewErrParamMinValue ( "MaxResults" , 1 ) )
}
if s . LookupAttributes != nil {
for i , v := range s . LookupAttributes {
if v == nil {
continue
}
if err := v . Validate ( ) ; err != nil {
invalidParams . AddNested ( fmt . Sprintf ( "%s[%v]" , "LookupAttributes" , i ) , err . ( request . ErrInvalidParams ) )
}
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetEndTime sets the EndTime field's value.
func ( s * LookupEventsInput ) SetEndTime ( v time . Time ) * LookupEventsInput {
s . EndTime = & v
return s
}
// SetLookupAttributes sets the LookupAttributes field's value.
func ( s * LookupEventsInput ) SetLookupAttributes ( v [ ] * LookupAttribute ) * LookupEventsInput {
s . LookupAttributes = v
return s
}
// SetMaxResults sets the MaxResults field's value.
func ( s * LookupEventsInput ) SetMaxResults ( v int64 ) * LookupEventsInput {
s . MaxResults = & v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * LookupEventsInput ) SetNextToken ( v string ) * LookupEventsInput {
s . NextToken = & v
return s
}
// SetStartTime sets the StartTime field's value.
func ( s * LookupEventsInput ) SetStartTime ( v time . Time ) * LookupEventsInput {
s . StartTime = & v
return s
}
// Contains a response to a LookupEvents action.
type LookupEventsOutput struct {
_ struct { } ` type:"structure" `
// A list of events returned based on the lookup attributes specified and the
// CloudTrail event. The events list is sorted by time. The most recent event
// is listed first.
Events [ ] * Event ` type:"list" `
// The token to use to get the next page of results after a previous API call.
// If the token does not appear, there are no more results to return. The token
// must be passed in with the same parameters as the previous call. For example,
// if the original call specified an AttributeKey of 'Username' with a value
// of 'root', the call with NextToken should include those same parameters.
NextToken * string ` type:"string" `
}
// String returns the string representation
func ( s LookupEventsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s LookupEventsOutput ) GoString ( ) string {
return s . String ( )
}
// SetEvents sets the Events field's value.
func ( s * LookupEventsOutput ) SetEvents ( v [ ] * Event ) * LookupEventsOutput {
s . Events = v
return s
}
// SetNextToken sets the NextToken field's value.
func ( s * LookupEventsOutput ) SetNextToken ( v string ) * LookupEventsOutput {
s . NextToken = & v
return s
}
// Contains information about a returned public key.
type PublicKey struct {
_ struct { } ` type:"structure" `
// The fingerprint of the public key.
Fingerprint * string ` type:"string" `
// The ending time of validity of the public key.
2019-03-11 19:18:55 +03:00
ValidityEndTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// The starting time of validity of the public key.
2019-03-11 19:18:55 +03:00
ValidityStartTime * time . Time ` type:"timestamp" `
2017-10-06 00:08:03 +03:00
// The DER encoded public key value in PKCS#1 format.
//
// Value is automatically base64 encoded/decoded by the SDK.
Value [ ] byte ` type:"blob" `
}
// String returns the string representation
func ( s PublicKey ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PublicKey ) GoString ( ) string {
return s . String ( )
}
// SetFingerprint sets the Fingerprint field's value.
func ( s * PublicKey ) SetFingerprint ( v string ) * PublicKey {
s . Fingerprint = & v
return s
}
// SetValidityEndTime sets the ValidityEndTime field's value.
func ( s * PublicKey ) SetValidityEndTime ( v time . Time ) * PublicKey {
s . ValidityEndTime = & v
return s
}
// SetValidityStartTime sets the ValidityStartTime field's value.
func ( s * PublicKey ) SetValidityStartTime ( v time . Time ) * PublicKey {
s . ValidityStartTime = & v
return s
}
// SetValue sets the Value field's value.
func ( s * PublicKey ) SetValue ( v [ ] byte ) * PublicKey {
s . Value = v
return s
}
type PutEventSelectorsInput struct {
_ struct { } ` type:"structure" `
// Specifies the settings for your event selectors. You can configure up to
// five event selectors for a trail.
//
// EventSelectors is a required field
EventSelectors [ ] * EventSelector ` type:"list" required:"true" `
// Specifies the name of the trail or trail ARN. If you specify a trail name,
// the string must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// If you specify a trail ARN, it must be in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// TrailName is a required field
TrailName * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s PutEventSelectorsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutEventSelectorsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * PutEventSelectorsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "PutEventSelectorsInput" }
if s . EventSelectors == nil {
invalidParams . Add ( request . NewErrParamRequired ( "EventSelectors" ) )
}
if s . TrailName == nil {
invalidParams . Add ( request . NewErrParamRequired ( "TrailName" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetEventSelectors sets the EventSelectors field's value.
func ( s * PutEventSelectorsInput ) SetEventSelectors ( v [ ] * EventSelector ) * PutEventSelectorsInput {
s . EventSelectors = v
return s
}
// SetTrailName sets the TrailName field's value.
func ( s * PutEventSelectorsInput ) SetTrailName ( v string ) * PutEventSelectorsInput {
s . TrailName = & v
return s
}
type PutEventSelectorsOutput struct {
_ struct { } ` type:"structure" `
// Specifies the event selectors configured for your trail.
EventSelectors [ ] * EventSelector ` type:"list" `
// Specifies the ARN of the trail that was updated with event selectors. The
// format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
TrailARN * string ` type:"string" `
}
// String returns the string representation
func ( s PutEventSelectorsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s PutEventSelectorsOutput ) GoString ( ) string {
return s . String ( )
}
// SetEventSelectors sets the EventSelectors field's value.
func ( s * PutEventSelectorsOutput ) SetEventSelectors ( v [ ] * EventSelector ) * PutEventSelectorsOutput {
s . EventSelectors = v
return s
}
// SetTrailARN sets the TrailARN field's value.
func ( s * PutEventSelectorsOutput ) SetTrailARN ( v string ) * PutEventSelectorsOutput {
s . TrailARN = & v
return s
}
// Specifies the tags to remove from a trail.
type RemoveTagsInput struct {
_ struct { } ` type:"structure" `
// Specifies the ARN of the trail from which tags should be removed. The format
// of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// ResourceId is a required field
ResourceId * string ` type:"string" required:"true" `
// Specifies a list of tags to be removed.
TagsList [ ] * Tag ` type:"list" `
}
// String returns the string representation
func ( s RemoveTagsInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s RemoveTagsInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * RemoveTagsInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "RemoveTagsInput" }
if s . ResourceId == nil {
invalidParams . Add ( request . NewErrParamRequired ( "ResourceId" ) )
}
if s . TagsList != nil {
for i , v := range s . TagsList {
if v == nil {
continue
}
if err := v . Validate ( ) ; err != nil {
invalidParams . AddNested ( fmt . Sprintf ( "%s[%v]" , "TagsList" , i ) , err . ( request . ErrInvalidParams ) )
}
}
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetResourceId sets the ResourceId field's value.
func ( s * RemoveTagsInput ) SetResourceId ( v string ) * RemoveTagsInput {
s . ResourceId = & v
return s
}
// SetTagsList sets the TagsList field's value.
func ( s * RemoveTagsInput ) SetTagsList ( v [ ] * Tag ) * RemoveTagsInput {
s . TagsList = v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type RemoveTagsOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s RemoveTagsOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s RemoveTagsOutput ) GoString ( ) string {
return s . String ( )
}
// Specifies the type and name of a resource referenced by an event.
type Resource struct {
_ struct { } ` type:"structure" `
// The name of the resource referenced by the event returned. These are user-created
// names whose values will depend on the environment. For example, the resource
// name might be "auto-scaling-test-group" for an Auto Scaling Group or "i-1234567"
// for an EC2 Instance.
ResourceName * string ` type:"string" `
// The type of a resource referenced by the event returned. When the resource
// type cannot be determined, null is returned. Some examples of resource types
// are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey
// for IAM. For a list of resource types supported for event lookup, see Resource
// Types Supported for Event Lookup (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/lookup_supported_resourcetypes.html).
ResourceType * string ` type:"string" `
}
// String returns the string representation
func ( s Resource ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Resource ) GoString ( ) string {
return s . String ( )
}
// SetResourceName sets the ResourceName field's value.
func ( s * Resource ) SetResourceName ( v string ) * Resource {
s . ResourceName = & v
return s
}
// SetResourceType sets the ResourceType field's value.
func ( s * Resource ) SetResourceType ( v string ) * Resource {
s . ResourceType = & v
return s
}
// A resource tag.
type ResourceTag struct {
_ struct { } ` type:"structure" `
// Specifies the ARN of the resource.
ResourceId * string ` type:"string" `
// A list of tags.
TagsList [ ] * Tag ` type:"list" `
}
// String returns the string representation
func ( s ResourceTag ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s ResourceTag ) GoString ( ) string {
return s . String ( )
}
// SetResourceId sets the ResourceId field's value.
func ( s * ResourceTag ) SetResourceId ( v string ) * ResourceTag {
s . ResourceId = & v
return s
}
// SetTagsList sets the TagsList field's value.
func ( s * ResourceTag ) SetTagsList ( v [ ] * Tag ) * ResourceTag {
s . TagsList = v
return s
}
// The request to CloudTrail to start logging AWS API calls for an account.
type StartLoggingInput struct {
_ struct { } ` type:"structure" `
// Specifies the name or the CloudTrail ARN of the trail for which CloudTrail
// logs AWS API calls. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// Name is a required field
Name * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s StartLoggingInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartLoggingInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * StartLoggingInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "StartLoggingInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func ( s * StartLoggingInput ) SetName ( v string ) * StartLoggingInput {
s . Name = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type StartLoggingOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s StartLoggingOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StartLoggingOutput ) GoString ( ) string {
return s . String ( )
}
// Passes the request to CloudTrail to stop logging AWS API calls for the specified
// account.
type StopLoggingInput struct {
_ struct { } ` type:"structure" `
// Specifies the name or the CloudTrail ARN of the trail for which CloudTrail
// will stop logging AWS API calls. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// Name is a required field
Name * string ` type:"string" required:"true" `
}
// String returns the string representation
func ( s StopLoggingInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StopLoggingInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * StopLoggingInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "StopLoggingInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func ( s * StopLoggingInput ) SetName ( v string ) * StopLoggingInput {
s . Name = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type StopLoggingOutput struct {
_ struct { } ` type:"structure" `
}
// String returns the string representation
func ( s StopLoggingOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s StopLoggingOutput ) GoString ( ) string {
return s . String ( )
}
// A custom key-value pair associated with a resource such as a CloudTrail trail.
type Tag struct {
_ struct { } ` type:"structure" `
// The key in a key-value pair. The key must be must be no longer than 128 Unicode
// characters. The key must be unique for the resource to which it applies.
//
// Key is a required field
Key * string ` type:"string" required:"true" `
// The value in a key-value pair of a tag. The value must be no longer than
// 256 Unicode characters.
Value * string ` type:"string" `
}
// String returns the string representation
func ( s Tag ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Tag ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * Tag ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "Tag" }
if s . Key == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Key" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetKey sets the Key field's value.
func ( s * Tag ) SetKey ( v string ) * Tag {
s . Key = & v
return s
}
// SetValue sets the Value field's value.
func ( s * Tag ) SetValue ( v string ) * Tag {
s . Value = & v
return s
}
// The settings for a trail.
type Trail struct {
_ struct { } ` type:"structure" `
// Specifies an Amazon Resource Name (ARN), a unique identifier that represents
// the log group to which CloudTrail logs will be delivered.
CloudWatchLogsLogGroupArn * string ` type:"string" `
// Specifies the role for the CloudWatch Logs endpoint to assume to write to
// a user's log group.
CloudWatchLogsRoleArn * string ` type:"string" `
// Specifies if the trail has custom event selectors.
HasCustomEventSelectors * bool ` type:"boolean" `
// The region in which the trail was created.
HomeRegion * string ` type:"string" `
// Set to True to include AWS API calls from AWS global services such as IAM.
// Otherwise, False.
IncludeGlobalServiceEvents * bool ` type:"boolean" `
// Specifies whether the trail belongs only to one region or exists in all regions.
IsMultiRegionTrail * bool ` type:"boolean" `
2019-03-11 19:18:55 +03:00
// Specifies whether the trail is an organization trail.
IsOrganizationTrail * bool ` type:"boolean" `
2017-10-06 00:08:03 +03:00
// Specifies the KMS key ID that encrypts the logs delivered by CloudTrail.
// The value is a fully specified ARN to a KMS key in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
2017-10-06 00:08:03 +03:00
KmsKeyId * string ` type:"string" `
// Specifies whether log file validation is enabled.
LogFileValidationEnabled * bool ` type:"boolean" `
// Name of the trail set by calling CreateTrail. The maximum length is 128 characters.
Name * string ` type:"string" `
// Name of the Amazon S3 bucket into which CloudTrail delivers your trail files.
// See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html).
S3BucketName * string ` type:"string" `
// Specifies the Amazon S3 key prefix that comes after the name of the bucket
// you have designated for log file delivery. For more information, see Finding
// Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).The
// maximum length is 200 characters.
S3KeyPrefix * string ` type:"string" `
// Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications
// when log files are delivered. The format of a topic ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:sns:us-east-2:123456789012:MyTopic
2017-10-06 00:08:03 +03:00
SnsTopicARN * string ` type:"string" `
// This field is deprecated. Use SnsTopicARN.
2019-03-11 19:18:55 +03:00
//
// Deprecated: SnsTopicName has been deprecated
2017-10-06 00:08:03 +03:00
SnsTopicName * string ` deprecated:"true" type:"string" `
// Specifies the ARN of the trail. The format of a trail ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
TrailARN * string ` type:"string" `
}
// String returns the string representation
func ( s Trail ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s Trail ) GoString ( ) string {
return s . String ( )
}
// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
func ( s * Trail ) SetCloudWatchLogsLogGroupArn ( v string ) * Trail {
s . CloudWatchLogsLogGroupArn = & v
return s
}
// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
func ( s * Trail ) SetCloudWatchLogsRoleArn ( v string ) * Trail {
s . CloudWatchLogsRoleArn = & v
return s
}
// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
func ( s * Trail ) SetHasCustomEventSelectors ( v bool ) * Trail {
s . HasCustomEventSelectors = & v
return s
}
// SetHomeRegion sets the HomeRegion field's value.
func ( s * Trail ) SetHomeRegion ( v string ) * Trail {
s . HomeRegion = & v
return s
}
// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
func ( s * Trail ) SetIncludeGlobalServiceEvents ( v bool ) * Trail {
s . IncludeGlobalServiceEvents = & v
return s
}
// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
func ( s * Trail ) SetIsMultiRegionTrail ( v bool ) * Trail {
s . IsMultiRegionTrail = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
func ( s * Trail ) SetIsOrganizationTrail ( v bool ) * Trail {
s . IsOrganizationTrail = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetKmsKeyId sets the KmsKeyId field's value.
func ( s * Trail ) SetKmsKeyId ( v string ) * Trail {
s . KmsKeyId = & v
return s
}
// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
func ( s * Trail ) SetLogFileValidationEnabled ( v bool ) * Trail {
s . LogFileValidationEnabled = & v
return s
}
// SetName sets the Name field's value.
func ( s * Trail ) SetName ( v string ) * Trail {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * Trail ) SetS3BucketName ( v string ) * Trail {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * Trail ) SetS3KeyPrefix ( v string ) * Trail {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicARN sets the SnsTopicARN field's value.
func ( s * Trail ) SetSnsTopicARN ( v string ) * Trail {
s . SnsTopicARN = & v
return s
}
// SetSnsTopicName sets the SnsTopicName field's value.
func ( s * Trail ) SetSnsTopicName ( v string ) * Trail {
s . SnsTopicName = & v
return s
}
// SetTrailARN sets the TrailARN field's value.
func ( s * Trail ) SetTrailARN ( v string ) * Trail {
s . TrailARN = & v
return s
}
// Specifies settings to update for the trail.
type UpdateTrailInput struct {
_ struct { } ` type:"structure" `
// Specifies a log group name using an Amazon Resource Name (ARN), a unique
// identifier that represents the log group to which CloudTrail logs will be
// delivered. Not required unless you specify CloudWatchLogsRoleArn.
CloudWatchLogsLogGroupArn * string ` type:"string" `
// Specifies the role for the CloudWatch Logs endpoint to assume to write to
// a user's log group.
CloudWatchLogsRoleArn * string ` type:"string" `
// Specifies whether log file validation is enabled. The default is false.
//
// When you disable log file integrity validation, the chain of digest files
// is broken after one hour. CloudTrail will not create digest files for log
// files that were delivered during a period in which log file integrity validation
// was disabled. For example, if you enable log file integrity validation at
// noon on January 1, disable it at noon on January 2, and re-enable it at noon
// on January 10, digest files will not be created for the log files delivered
// from noon on January 2 to noon on January 10. The same applies whenever you
// stop CloudTrail logging or delete a trail.
EnableLogFileValidation * bool ` type:"boolean" `
// Specifies whether the trail is publishing events from global services such
// as IAM to the log files.
IncludeGlobalServiceEvents * bool ` type:"boolean" `
// Specifies whether the trail applies only to the current region or to all
// regions. The default is false. If the trail exists only in the current region
// and this value is set to true, shadow trails (replications of the trail)
// will be created in the other regions. If the trail exists in all regions
// and this value is set to false, the trail will remain in the region where
// it was created, and its shadow trails in other regions will be deleted.
IsMultiRegionTrail * bool ` type:"boolean" `
2019-03-11 19:18:55 +03:00
// Specifies whether the trail is applied to all accounts in an organization
// in AWS Organizations, or only for the current AWS account. The default is
// false, and cannot be true unless the call is made on behalf of an AWS account
// that is the master account for an organization in AWS Organizations. If the
// trail is not an organization trail and this is set to true, the trail will
// be created in all AWS accounts that belong to the organization. If the trail
// is an organization trail and this is set to false, the trail will remain
// in the current AWS account but be deleted from all member accounts in the
// organization.
IsOrganizationTrail * bool ` type:"boolean" `
2017-10-06 00:08:03 +03:00
// Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail.
// The value can be an alias name prefixed by "alias/", a fully specified ARN
// to an alias, a fully specified ARN to a key, or a globally unique identifier.
//
// Examples:
//
// * alias/MyAliasName
//
2019-03-11 19:18:55 +03:00
// * arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
2017-10-06 00:08:03 +03:00
//
2019-03-11 19:18:55 +03:00
// * arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
2017-10-06 00:08:03 +03:00
//
// * 12345678-1234-1234-1234-123456789012
KmsKeyId * string ` type:"string" `
// Specifies the name of the trail or trail ARN. If Name is a trail name, the
// string must meet the following requirements:
//
// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
// (_), or dashes (-)
//
// * Start with a letter or number, and end with a letter or number
//
// * Be between 3 and 128 characters
//
// * Have no adjacent periods, underscores or dashes. Names like my-_namespace
// and my--namespace are invalid.
//
// * Not be in IP address format (for example, 192.168.5.4)
//
// If Name is a trail ARN, it must be in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
//
// Name is a required field
Name * string ` type:"string" required:"true" `
// Specifies the name of the Amazon S3 bucket designated for publishing log
// files. See Amazon S3 Bucket Naming Requirements (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html).
S3BucketName * string ` type:"string" `
// Specifies the Amazon S3 key prefix that comes after the name of the bucket
// you have designated for log file delivery. For more information, see Finding
// Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
// The maximum length is 200 characters.
S3KeyPrefix * string ` type:"string" `
// Specifies the name of the Amazon SNS topic defined for notification of log
// file delivery. The maximum length is 256 characters.
SnsTopicName * string ` type:"string" `
}
// String returns the string representation
func ( s UpdateTrailInput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s UpdateTrailInput ) GoString ( ) string {
return s . String ( )
}
// Validate inspects the fields of the type to determine if they are valid.
func ( s * UpdateTrailInput ) Validate ( ) error {
invalidParams := request . ErrInvalidParams { Context : "UpdateTrailInput" }
if s . Name == nil {
invalidParams . Add ( request . NewErrParamRequired ( "Name" ) )
}
if invalidParams . Len ( ) > 0 {
return invalidParams
}
return nil
}
// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
func ( s * UpdateTrailInput ) SetCloudWatchLogsLogGroupArn ( v string ) * UpdateTrailInput {
s . CloudWatchLogsLogGroupArn = & v
return s
}
// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
func ( s * UpdateTrailInput ) SetCloudWatchLogsRoleArn ( v string ) * UpdateTrailInput {
s . CloudWatchLogsRoleArn = & v
return s
}
// SetEnableLogFileValidation sets the EnableLogFileValidation field's value.
func ( s * UpdateTrailInput ) SetEnableLogFileValidation ( v bool ) * UpdateTrailInput {
s . EnableLogFileValidation = & v
return s
}
// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
func ( s * UpdateTrailInput ) SetIncludeGlobalServiceEvents ( v bool ) * UpdateTrailInput {
s . IncludeGlobalServiceEvents = & v
return s
}
// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
func ( s * UpdateTrailInput ) SetIsMultiRegionTrail ( v bool ) * UpdateTrailInput {
s . IsMultiRegionTrail = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
func ( s * UpdateTrailInput ) SetIsOrganizationTrail ( v bool ) * UpdateTrailInput {
s . IsOrganizationTrail = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetKmsKeyId sets the KmsKeyId field's value.
func ( s * UpdateTrailInput ) SetKmsKeyId ( v string ) * UpdateTrailInput {
s . KmsKeyId = & v
return s
}
// SetName sets the Name field's value.
func ( s * UpdateTrailInput ) SetName ( v string ) * UpdateTrailInput {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * UpdateTrailInput ) SetS3BucketName ( v string ) * UpdateTrailInput {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * UpdateTrailInput ) SetS3KeyPrefix ( v string ) * UpdateTrailInput {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicName sets the SnsTopicName field's value.
func ( s * UpdateTrailInput ) SetSnsTopicName ( v string ) * UpdateTrailInput {
s . SnsTopicName = & v
return s
}
// Returns the objects or data listed below if successful. Otherwise, returns
// an error.
type UpdateTrailOutput struct {
_ struct { } ` type:"structure" `
// Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
// logs will be delivered.
CloudWatchLogsLogGroupArn * string ` type:"string" `
// Specifies the role for the CloudWatch Logs endpoint to assume to write to
// a user's log group.
CloudWatchLogsRoleArn * string ` type:"string" `
// Specifies whether the trail is publishing events from global services such
// as IAM to the log files.
IncludeGlobalServiceEvents * bool ` type:"boolean" `
// Specifies whether the trail exists in one region or in all regions.
IsMultiRegionTrail * bool ` type:"boolean" `
2019-03-11 19:18:55 +03:00
// Specifies whether the trail is an organization trail.
IsOrganizationTrail * bool ` type:"boolean" `
2017-10-06 00:08:03 +03:00
// Specifies the KMS key ID that encrypts the logs delivered by CloudTrail.
// The value is a fully specified ARN to a KMS key in the format:
//
2019-03-11 19:18:55 +03:00
// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
2017-10-06 00:08:03 +03:00
KmsKeyId * string ` type:"string" `
// Specifies whether log file integrity validation is enabled.
LogFileValidationEnabled * bool ` type:"boolean" `
// Specifies the name of the trail.
Name * string ` type:"string" `
// Specifies the name of the Amazon S3 bucket designated for publishing log
// files.
S3BucketName * string ` type:"string" `
// Specifies the Amazon S3 key prefix that comes after the name of the bucket
// you have designated for log file delivery. For more information, see Finding
// Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
S3KeyPrefix * string ` type:"string" `
// Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications
// when log files are delivered. The format of a topic ARN is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:sns:us-east-2:123456789012:MyTopic
2017-10-06 00:08:03 +03:00
SnsTopicARN * string ` type:"string" `
// This field is deprecated. Use SnsTopicARN.
2019-03-11 19:18:55 +03:00
//
// Deprecated: SnsTopicName has been deprecated
2017-10-06 00:08:03 +03:00
SnsTopicName * string ` deprecated:"true" type:"string" `
// Specifies the ARN of the trail that was updated. The format of a trail ARN
// is:
//
2019-03-11 19:18:55 +03:00
// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
2017-10-06 00:08:03 +03:00
TrailARN * string ` type:"string" `
}
// String returns the string representation
func ( s UpdateTrailOutput ) String ( ) string {
return awsutil . Prettify ( s )
}
// GoString returns the string representation
func ( s UpdateTrailOutput ) GoString ( ) string {
return s . String ( )
}
// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
func ( s * UpdateTrailOutput ) SetCloudWatchLogsLogGroupArn ( v string ) * UpdateTrailOutput {
s . CloudWatchLogsLogGroupArn = & v
return s
}
// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
func ( s * UpdateTrailOutput ) SetCloudWatchLogsRoleArn ( v string ) * UpdateTrailOutput {
s . CloudWatchLogsRoleArn = & v
return s
}
// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
func ( s * UpdateTrailOutput ) SetIncludeGlobalServiceEvents ( v bool ) * UpdateTrailOutput {
s . IncludeGlobalServiceEvents = & v
return s
}
// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
func ( s * UpdateTrailOutput ) SetIsMultiRegionTrail ( v bool ) * UpdateTrailOutput {
s . IsMultiRegionTrail = & v
return s
}
2019-03-11 19:18:55 +03:00
// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
func ( s * UpdateTrailOutput ) SetIsOrganizationTrail ( v bool ) * UpdateTrailOutput {
s . IsOrganizationTrail = & v
return s
}
2017-10-06 00:08:03 +03:00
// SetKmsKeyId sets the KmsKeyId field's value.
func ( s * UpdateTrailOutput ) SetKmsKeyId ( v string ) * UpdateTrailOutput {
s . KmsKeyId = & v
return s
}
// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
func ( s * UpdateTrailOutput ) SetLogFileValidationEnabled ( v bool ) * UpdateTrailOutput {
s . LogFileValidationEnabled = & v
return s
}
// SetName sets the Name field's value.
func ( s * UpdateTrailOutput ) SetName ( v string ) * UpdateTrailOutput {
s . Name = & v
return s
}
// SetS3BucketName sets the S3BucketName field's value.
func ( s * UpdateTrailOutput ) SetS3BucketName ( v string ) * UpdateTrailOutput {
s . S3BucketName = & v
return s
}
// SetS3KeyPrefix sets the S3KeyPrefix field's value.
func ( s * UpdateTrailOutput ) SetS3KeyPrefix ( v string ) * UpdateTrailOutput {
s . S3KeyPrefix = & v
return s
}
// SetSnsTopicARN sets the SnsTopicARN field's value.
func ( s * UpdateTrailOutput ) SetSnsTopicARN ( v string ) * UpdateTrailOutput {
s . SnsTopicARN = & v
return s
}
// SetSnsTopicName sets the SnsTopicName field's value.
func ( s * UpdateTrailOutput ) SetSnsTopicName ( v string ) * UpdateTrailOutput {
s . SnsTopicName = & v
return s
}
// SetTrailARN sets the TrailARN field's value.
func ( s * UpdateTrailOutput ) SetTrailARN ( v string ) * UpdateTrailOutput {
s . TrailARN = & v
return s
}
const (
// LookupAttributeKeyEventId is a LookupAttributeKey enum value
LookupAttributeKeyEventId = "EventId"
// LookupAttributeKeyEventName is a LookupAttributeKey enum value
LookupAttributeKeyEventName = "EventName"
2019-03-11 19:18:55 +03:00
// LookupAttributeKeyReadOnly is a LookupAttributeKey enum value
LookupAttributeKeyReadOnly = "ReadOnly"
2017-10-06 00:08:03 +03:00
// LookupAttributeKeyUsername is a LookupAttributeKey enum value
LookupAttributeKeyUsername = "Username"
// LookupAttributeKeyResourceType is a LookupAttributeKey enum value
LookupAttributeKeyResourceType = "ResourceType"
// LookupAttributeKeyResourceName is a LookupAttributeKey enum value
LookupAttributeKeyResourceName = "ResourceName"
// LookupAttributeKeyEventSource is a LookupAttributeKey enum value
LookupAttributeKeyEventSource = "EventSource"
2019-03-11 19:18:55 +03:00
// LookupAttributeKeyAccessKeyId is a LookupAttributeKey enum value
LookupAttributeKeyAccessKeyId = "AccessKeyId"
2017-10-06 00:08:03 +03:00
)
const (
// ReadWriteTypeReadOnly is a ReadWriteType enum value
ReadWriteTypeReadOnly = "ReadOnly"
// ReadWriteTypeWriteOnly is a ReadWriteType enum value
ReadWriteTypeWriteOnly = "WriteOnly"
// ReadWriteTypeAll is a ReadWriteType enum value
ReadWriteTypeAll = "All"
)