cloudtrail

package module
v0.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const ServiceAPIVersion = "2013-11-01"
View Source
const ServiceID = "CloudTrail"

Variables

This section is empty.

Functions

func AddResolveEndpointMiddleware

func AddResolveEndpointMiddleware(stack *middleware.Stack, options ResolveEndpointMiddlewareOptions)

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func RemoveResolveEndpointMiddleware

func RemoveResolveEndpointMiddleware(stack *middleware.Stack) error

Types

type AddTagsInput

type AddTagsInput struct {
	// Specifies the ARN of the trail to which one or more tags will be added. The
	// format of a trail ARN is:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	ResourceId *string
	// Contains a list of CloudTrail tags, up to a limit of 50
	TagsList []*types.Tag
}

Specifies the tags to add to a trail.

type AddTagsOutput

type AddTagsOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type Client

type Client struct {
	// contains filtered or unexported fields
}

AWS CloudTrail This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail. CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service. <note> <p>As an alternative to the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the <a href="http://aws.amazon.com/tools/">Tools for Amazon Web Services page</a>.</p> </note> <p>See the <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html">AWS CloudTrail User Guide</a> for information about the data that is included with each AWS API call listed in the log files.</p>

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) AddTags

func (c *Client) AddTags(ctx context.Context, params *AddTagsInput, optFns ...func(*Options)) (*AddTagsOutput, error)

Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing tag's value when a new value is specified for an existing tag key. Tag key names must be unique for a trail; you cannot have two keys with the same name but different values. 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 AWS Regions only from the Region in which the trail was created (also known as its home region).

func (*Client) CreateTrail

func (c *Client) CreateTrail(ctx context.Context, params *CreateTrailInput, optFns ...func(*Options)) (*CreateTrailOutput, error)

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.

func (*Client) DeleteTrail

func (c *Client) DeleteTrail(ctx context.Context, params *DeleteTrailInput, optFns ...func(*Options)) (*DeleteTrailOutput, error)

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.

func (*Client) DescribeTrails

func (c *Client) DescribeTrails(ctx context.Context, params *DescribeTrailsInput, optFns ...func(*Options)) (*DescribeTrailsOutput, error)

Retrieves settings for one or more trails associated with the current region for your account.

func (*Client) GetEventSelectors

func (c *Client) GetEventSelectors(ctx context.Context, params *GetEventSelectorsInput, optFns ...func(*Options)) (*GetEventSelectorsOutput, error)

Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

  • If your event selector includes read-only events, write-only

events, or all events. This applies to both management events and data events.

* If your event selector includes management events.

  • If your event

selector includes data events, the Amazon S3 objects or AWS Lambda functions that you are logging for data events.

For more information, see Logging Data and Management Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) in the AWS CloudTrail User Guide.

func (*Client) GetInsightSelectors

func (c *Client) GetInsightSelectors(ctx context.Context, params *GetInsightSelectorsInput, optFns ...func(*Options)) (*GetInsightSelectorsOutput, error)

Describes the settings for the Insights event selectors that you configured for your trail. GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail, and if it is, which insight types are enabled. If you run GetInsightSelectors on a trail that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException For more information, see Logging CloudTrail Insights Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-insights-events-with-cloudtrail.html) in the AWS CloudTrail User Guide.

func (*Client) GetTrail

func (c *Client) GetTrail(ctx context.Context, params *GetTrailInput, optFns ...func(*Options)) (*GetTrailOutput, error)

Returns settings information for a specified trail.

func (*Client) GetTrailStatus

func (c *Client) GetTrailStatus(ctx context.Context, params *GetTrailStatusInput, optFns ...func(*Options)) (*GetTrailStatusOutput, error)

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.

func (*Client) ListPublicKeys

func (c *Client) ListPublicKeys(ctx context.Context, params *ListPublicKeysInput, optFns ...func(*Options)) (*ListPublicKeysOutput, error)

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.

func (*Client) ListTags

func (c *Client) ListTags(ctx context.Context, params *ListTagsInput, optFns ...func(*Options)) (*ListTagsOutput, error)

Lists the tags for the trail in the current region.

func (*Client) ListTrails

func (c *Client) ListTrails(ctx context.Context, params *ListTrailsInput, optFns ...func(*Options)) (*ListTrailsOutput, error)

Lists trails that are in the current account.

func (*Client) LookupEvents

func (c *Client) LookupEvents(ctx context.Context, params *LookupEventsInput, optFns ...func(*Options)) (*LookupEventsOutput, error)

Looks up management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events) or CloudTrail Insights events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-insights-events) that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

  • AWS access key

  • Event ID

  • Event name

* Event source

  • Read only

  • Resource name

  • Resource type

    *

User name

Lookup supports the following attributes for Insights events:

*

Event ID

  • Event name

  • Event source

All attributes are optional. The default number of results returned is 50, 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 two per second per account. If this limit is exceeded, a throttling error occurs.

func (*Client) PutEventSelectors

func (c *Client) PutEventSelectors(ctx context.Context, params *PutEventSelectorsInput, optFns ...func(*Options)) (*PutEventSelectorsOutput, error)

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 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 (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html) and Limits in AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) in the AWS CloudTrail User Guide.

func (*Client) PutInsightSelectors

func (c *Client) PutInsightSelectors(ctx context.Context, params *PutInsightSelectorsInput, optFns ...func(*Options)) (*PutInsightSelectorsOutput, error)

Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of insight types. In this release, only ApiCallRateInsight is supported as an Insights selector.

func (*Client) RemoveTags

func (c *Client) RemoveTags(ctx context.Context, params *RemoveTagsInput, optFns ...func(*Options)) (*RemoveTagsOutput, error)

Removes the specified tags from a trail.

func (*Client) StartLogging

func (c *Client) StartLogging(ctx context.Context, params *StartLoggingInput, optFns ...func(*Options)) (*StartLoggingOutput, error)

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.

func (*Client) StopLogging

func (c *Client) StopLogging(ctx context.Context, params *StopLoggingInput, optFns ...func(*Options)) (*StopLoggingOutput, error)

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.

func (*Client) UpdateTrail

func (c *Client) UpdateTrail(ctx context.Context, params *UpdateTrailInput, optFns ...func(*Options)) (*UpdateTrailOutput, error)

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.

type CreateTrailInput

type CreateTrailInput struct {
	// Specifies the name of the Amazon S3 bucket designated for publishing log files.
	// See Amazon S3 Bucket Naming Requirements
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html).
	S3BucketName *string
	// Specifies the name of the Amazon SNS topic defined for notification of log file
	// delivery. The maximum length is 256 characters.
	SnsTopicName *string
	// Specifies whether the trail is publishing events from global services such as
	// IAM to the log files.
	IncludeGlobalServiceEvents *bool
	// Specifies the role for the CloudWatch Logs endpoint to assume to write to a
	// user's log group.
	CloudWatchLogsRoleArn *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
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
	// The maximum length is 200 characters.
	S3KeyPrefix *string
	// 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
	//
	//     *
	// arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
	//
	//     *
	// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
	//
	//
	// * 12345678-1234-1234-1234-123456789012
	KmsKeyId *string
	// A list of tags.
	TagsList []*types.Tag
	// 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
	// Specifies whether the trail is created in the current region or in all regions.
	// The default is false, which creates a trail only in the region where you are
	// signed in. As a best practice, consider creating trails that log events in all
	// regions.
	IsMultiRegionTrail *bool
	// 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
	// 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 *string
	// 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
}

Specifies the settings for each trail.

type CreateTrailOutput

type CreateTrailOutput struct {
	// Specifies whether the trail exists in one region or in all regions.
	IsMultiRegionTrail *bool
	// 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:
	// arn:aws:sns:us-east-2:123456789012:MyTopic
	SnsTopicARN *string
	// Specifies the name of the Amazon S3 bucket designated for publishing log files.
	S3BucketName *string
	// Specifies the role for the CloudWatch Logs endpoint to assume to write to a
	// user's log group.
	CloudWatchLogsRoleArn *string
	// This field is no longer in use. Use SnsTopicARN.
	SnsTopicName *string
	// Specifies the name of the trail.
	Name *string
	// Specifies whether the trail is an organization trail.
	IsOrganizationTrail *bool
	// 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:
	// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
	KmsKeyId *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
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
	S3KeyPrefix *string
	// Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
	// logs will be delivered.
	CloudWatchLogsLogGroupArn *string
	// Specifies whether the trail is publishing events from global services such as
	// IAM to the log files.
	IncludeGlobalServiceEvents *bool
	// Specifies whether log file integrity validation is enabled.
	LogFileValidationEnabled *bool
	// Specifies the ARN of the trail that was created. The format of a trail ARN is:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailARN *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type DeleteTrailInput

type DeleteTrailInput struct {
	// Specifies the name or the CloudTrail ARN of the trail to be deleted. The format
	// of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	Name *string
}

The request that specifies the name of a trail to delete.

type DeleteTrailOutput

type DeleteTrailOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type DescribeTrailsInput

type DescribeTrailsInput struct {
	// 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 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.
	IncludeShadowTrails *bool
	// Specifies a list of trail names, trail ARNs, or both, of the trails to describe.
	// The format of a trail ARN is:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	//     <p>If an empty list
	// is specified, information for the trail in the current region is returned.</p>
	// <ul> <li> <p>If an empty list is specified and <code>IncludeShadowTrails</code>
	// is false, then information for all trails in the current region is returned.</p>
	// </li> <li> <p>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.</p> </li> </ul> <note> <p>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.</p> </note>
	TrailNameList []*string
}

Returns information about the trail.

type DescribeTrailsOutput

type DescribeTrailsOutput struct {
	// The list of trail objects. Trail objects with string values are only returned if
	// values for the objects exist in a trail's configuration. For example,
	// SNSTopicName and SNSTopicARN are only returned in results if a trail is
	// configured to send SNS notifications. Similarly, KMSKeyId only appears in
	// results if a trail's log files are encrypted with AWS KMS-managed keys.
	TrailList []*types.Trail

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options ResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func WithEndpointResolver

func WithEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver

WithEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided fallbackResolver for resolution. awsResolver and fallbackResolver must not be nil

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options ResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options ResolverOptions) (endpoint aws.Endpoint, err error)

type GetEventSelectorsInput

type GetEventSelectorsInput struct {
	// 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 not valid.
	//
	//     * Not be in IP
	// address format (for example, 192.168.5.4)
	//
	// If you specify a trail ARN, it must
	// be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailName *string
}

type GetEventSelectorsOutput

type GetEventSelectorsOutput struct {
	// The specified trail ARN that has the event selectors.
	TrailARN *string
	// The event selectors that are configured for the trail.
	EventSelectors []*types.EventSelector

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetInsightSelectorsInput

type GetInsightSelectorsInput struct {
	// 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 not valid.
	//
	//     * Not be in IP
	// address format (for example, 192.168.5.4)
	//
	// If you specify a trail ARN, it must
	// be in the format: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailName *string
}

type GetInsightSelectorsOutput

type GetInsightSelectorsOutput struct {
	// A JSON string that contains the insight types you want to log on a trail. In
	// this release, only ApiCallRateInsight is supported as an insight type.
	InsightSelectors []*types.InsightSelector
	// The Amazon Resource Name (ARN) of a trail for which you want to get Insights
	// selectors.
	TrailARN *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetTrailInput

type GetTrailInput struct {
	// The name or the Amazon Resource Name (ARN) of the trail for which you want to
	// retrieve settings information.
	Name *string
}

type GetTrailOutput

type GetTrailOutput struct {
	// The settings for a trail.
	Trail *types.Trail

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetTrailStatusInput

type GetTrailStatusInput struct {
	// 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: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	Name *string
}

The name of a trail about which you want the current status.

type GetTrailStatusOutput

type GetTrailStatusOutput struct {
	// Displays any CloudWatch Logs error that CloudTrail encountered when attempting
	// to deliver logs to CloudWatch Logs.
	LatestCloudWatchLogsDeliveryError *string
	// This field is no longer in use.
	TimeLoggingStopped *string
	// This field is no longer in use.
	TimeLoggingStarted *string
	// This field is no longer in use.
	LatestNotificationAttemptTime *string
	// This field is no longer in use.
	LatestNotificationAttemptSucceeded *string
	// This field is no longer in use.
	LatestDeliveryAttemptSucceeded *string
	// This field is no longer in use.
	LatestDeliveryAttemptTime *string
	// Specifies the most recent date and time when CloudTrail started recording API
	// calls for an AWS account.
	StartLoggingTime *time.Time
	// Specifies the date and time that CloudTrail last delivered log files to an
	// account's Amazon S3 bucket.
	LatestDeliveryTime *time.Time
	// 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
	// (https://docs.aws.amazon.com/sns/latest/dg/welcome.html).
	LatestNotificationError *string
	// Displays the most recent date and time when CloudTrail delivered logs to
	// CloudWatch Logs.
	LatestCloudWatchLogsDeliveryTime *time.Time
	// 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
	// (https://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
	// Specifies the most recent date and time when CloudTrail stopped recording API
	// calls for an AWS account.
	StopLoggingTime *time.Time
	// Whether the CloudTrail is currently logging AWS API calls.
	IsLogging *bool
	// 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
	// (https://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
	// 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.
	LatestNotificationTime *time.Time
	// Specifies the date and time that CloudTrail last delivered a digest file to an
	// account's Amazon S3 bucket.
	LatestDigestDeliveryTime *time.Time

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time) error
}

type ListPublicKeysInput

type ListPublicKeysInput struct {
	// Reserved for future use.
	NextToken *string
	// 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.
	EndTime *time.Time
	// 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.
	StartTime *time.Time
}

Requests the public keys for a specified time range.

type ListPublicKeysOutput

type ListPublicKeysOutput struct {
	// Reserved for future use.
	NextToken *string
	// Contains an array of PublicKey objects. The returned public keys may have
	// validity time ranges that overlap.
	PublicKeyList []*types.PublicKey

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type ListTagsInput

type ListTagsInput struct {
	// Reserved for future use.
	NextToken *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:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	ResourceIdList []*string
}

Specifies a list of trail tags to return.

type ListTagsOutput

type ListTagsOutput struct {
	// Reserved for future use.
	NextToken *string
	// A list of resource tags.
	ResourceTagList []*types.ResourceTag

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type ListTrailsInput

type ListTrailsInput struct {
	// 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 ListTrailsOutput

type ListTrailsOutput struct {
	// Returns the name, ARN, and home region of trails in the current account.
	Trails []*types.TrailInfo
	// 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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type LookupEventsInput

type LookupEventsInput struct {
	// Contains a list of lookup attributes. Currently the list can contain only one
	// item.
	LookupAttributes []*types.LookupAttribute
	// 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.
	StartTime *time.Time
	// 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
	// Specifies the event category. If you do not specify an event category, events of
	// the category are not returned in the response. For example, if you do not
	// specify insight as the value of EventCategory, no Insights events are returned.
	EventCategory types.EventCategory
	// The number of events to return. Possible values are 1 through 50. The default is
	// 50.
	MaxResults *int32
	// 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.
	EndTime *time.Time
}

Contains a request for LookupEvents.

type LookupEventsOutput

type LookupEventsOutput struct {
	// 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 []*types.Event
	// 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

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Contains a response to a LookupEvents action.

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions ResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer retry.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

func (Options) GetCredentials

func (o Options) GetCredentials() aws.CredentialsProvider

func (Options) GetEndpointOptions

func (o Options) GetEndpointOptions() ResolverOptions

func (Options) GetEndpointResolver

func (o Options) GetEndpointResolver() EndpointResolver

func (Options) GetHTTPSignerV4

func (o Options) GetHTTPSignerV4() HTTPSignerV4

func (Options) GetRegion

func (o Options) GetRegion() string

func (Options) GetRetryer

func (o Options) GetRetryer() retry.Retryer

type PutEventSelectorsInput

type PutEventSelectorsInput struct {
	// Specifies the settings for your event selectors. You can configure up to five
	// event selectors for a trail.
	EventSelectors []*types.EventSelector
	// 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: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailName *string
}

type PutEventSelectorsOutput

type PutEventSelectorsOutput struct {
	// Specifies the event selectors configured for your trail.
	EventSelectors []*types.EventSelector
	// Specifies the ARN of the trail that was updated with event selectors. The format
	// of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailARN *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type PutInsightSelectorsInput

type PutInsightSelectorsInput struct {
	// The name of the CloudTrail trail for which you want to change or add Insights
	// selectors.
	TrailName *string
	// A JSON string that contains the insight types you want to log on a trail. In
	// this release, only ApiCallRateInsight is supported as an insight type.
	InsightSelectors []*types.InsightSelector
}

type PutInsightSelectorsOutput

type PutInsightSelectorsOutput struct {
	// A JSON string that contains the insight types you want to log on a trail. In
	// this release, only ApiCallRateInsight is supported as an insight type.
	InsightSelectors []*types.InsightSelector
	// The Amazon Resource Name (ARN) of a trail for which you want to change or add
	// Insights selectors.
	TrailARN *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type RemoveTagsInput

type RemoveTagsInput struct {
	// Specifies a list of tags to be removed.
	TagsList []*types.Tag
	// Specifies the ARN of the trail from which tags should be removed. The format of
	// a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	ResourceId *string
}

Specifies the tags to remove from a trail.

type RemoveTagsOutput

type RemoveTagsOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  ResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type ResolveEndpointMiddlewareOptions

type ResolveEndpointMiddlewareOptions interface {
	GetEndpointResolver() EndpointResolver
	GetEndpointOptions() ResolverOptions
}

type ResolverOptions

type ResolverOptions = internalendpoints.Options

ResolverOptions is the service endpoint resolver options

type StartLoggingInput

type StartLoggingInput struct {
	// Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs
	// AWS API calls. The format of a trail ARN is:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	Name *string
}

The request to CloudTrail to start logging AWS API calls for an account.

type StartLoggingOutput

type StartLoggingOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type StopLoggingInput

type StopLoggingInput struct {
	// 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:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	Name *string
}

Passes the request to CloudTrail to stop logging AWS API calls for the specified account.

type StopLoggingOutput

type StopLoggingOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

type UpdateTrailInput

type UpdateTrailInput struct {
	// Specifies the name of the Amazon S3 bucket designated for publishing log files.
	// See Amazon S3 Bucket Naming Requirements
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create_trail_naming_policy.html).
	S3BucketName *string
	// 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. As a best practice, consider
	// using trails that log events in all regions.
	IsMultiRegionTrail *bool
	// Specifies the role for the CloudWatch Logs endpoint to assume to write to a
	// user's log group.
	CloudWatchLogsRoleArn *string
	// 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
	//
	//     *
	// arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
	//
	//     *
	// arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012
	//
	//
	// * 12345678-1234-1234-1234-123456789012
	KmsKeyId *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
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
	// The maximum length is 200 characters.
	S3KeyPrefix *string
	// 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
	// Specifies the name of the Amazon SNS topic defined for notification of log file
	// delivery. The maximum length is 256 characters.
	SnsTopicName *string
	// Specifies whether the trail is publishing events from global services such as
	// IAM to the log files.
	IncludeGlobalServiceEvents *bool
	// 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
	// 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
	// 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: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	Name *string
}

Specifies settings to update for the trail.

type UpdateTrailOutput

type UpdateTrailOutput struct {
	// Specifies the role for the CloudWatch Logs endpoint to assume to write to a
	// user's log group.
	CloudWatchLogsRoleArn *string
	// Specifies whether the trail is an organization trail.
	IsOrganizationTrail *bool
	// Specifies the name of the trail.
	Name *string
	// Specifies whether the trail is publishing events from global services such as
	// IAM to the log files.
	IncludeGlobalServiceEvents *bool
	// Specifies whether log file integrity validation is enabled.
	LogFileValidationEnabled *bool
	// Specifies the name of the Amazon S3 bucket designated for publishing log files.
	S3BucketName *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:
	// arn:aws:sns:us-east-2:123456789012:MyTopic
	SnsTopicARN *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
	// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html).
	S3KeyPrefix *string
	// This field is no longer in use. Use SnsTopicARN.
	SnsTopicName *string
	// Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail
	// logs will be delivered.
	CloudWatchLogsLogGroupArn *string
	// 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:  <p>
	// <code>arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012</code>
	// </p>
	KmsKeyId *string
	// Specifies the ARN of the trail that was updated. The format of a trail ARN is:
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	TrailARN *string
	// Specifies whether the trail exists in one region or in all regions.
	IsMultiRegionTrail *bool

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Returns the objects or data listed below if successful. Otherwise, returns an error.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL