cloudtrail

package
v7.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2025 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation ¶

Index ¶

Constants ¶

This section is empty.

Variables ¶

This section is empty.

Functions ¶

This section is empty.

Types ¶

type EventDataStore ¶

type EventDataStore struct {
	pulumi.CustomResourceState

	// The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.
	AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayOutput `pulumi:"advancedEventSelectors"`
	// ARN of the event data store.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The billing mode for the event data store. The valid values are `EXTENDABLE_RETENTION_PRICING` and `FIXED_RETENTION_PRICING`. Defaults to `EXTENDABLE_RETENTION_PRICING`.
	BillingMode pulumi.StringPtrOutput `pulumi:"billingMode"`
	// Specifies the AWS KMS key ID to use to encrypt the events 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.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`.
	MultiRegionEnabled pulumi.BoolPtrOutput `pulumi:"multiRegionEnabled"`
	// The name of the event data store.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`.
	OrganizationEnabled pulumi.BoolPtrOutput `pulumi:"organizationEnabled"`
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringOutput `pulumi:"region"`
	// The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`.
	RetentionPeriod pulumi.IntPtrOutput `pulumi:"retentionPeriod"`
	// Specifies whether to stop ingesting new events into the event data store. If set to `true`, ingestion is suspended while maintaining the ability to query existing events. If set to `false`, ingestion is active.
	Suspend pulumi.StringPtrOutput `pulumi:"suspend"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`.
	TerminationProtectionEnabled pulumi.BoolPtrOutput `pulumi:"terminationProtectionEnabled"`
}

Provides a CloudTrail Event Data Store.

More information about event data stores can be found in the [Event Data Store User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store.html).

> **Tip:** For an organization event data store you must create this resource in the management account.

## Example Usage

### Basic

The most simple event data store configuration requires us to only set the `name` attribute. The event data store will automatically capture all management events. To capture management events from all the regions, `multiRegionEnabled` must be `true`.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtrail.NewEventDataStore(ctx, "example", &cloudtrail.EventDataStoreArgs{
			Name: pulumi.String("example-event-data-store"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Data Event Logging

CloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 bucket objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:

- [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)

### Log all DynamoDB PutEvent actions for a specific DynamoDB table

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		table, err := dynamodb.LookupTable(ctx, &dynamodb.LookupTableArgs{
			Name: "not-important-dynamodb-table",
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewEventDataStore(ctx, "example", &cloudtrail.EventDataStoreArgs{
			AdvancedEventSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorArray{
				&cloudtrail.EventDataStoreAdvancedEventSelectorArgs{
					Name: pulumi.String("Log all DynamoDB PutEvent actions for a specific DynamoDB table"),
					FieldSelectors: cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArray{
						&cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventCategory"),
							Equals: pulumi.StringArray{
								pulumi.String("Data"),
							},
						},
						&cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.type"),
							Equals: pulumi.StringArray{
								pulumi.String("AWS::DynamoDB::Table"),
							},
						},
						&cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventName"),
							Equals: pulumi.StringArray{
								pulumi.String("PutItem"),
							},
						},
						&cloudtrail.EventDataStoreAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.ARN"),
							Equals: pulumi.StringArray{
								pulumi.String(table.Arn),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Identity Schema

#### Required

- `arn` (String) Amazon Resource Name (ARN) of the CloudTrail event data store.

Using `pulumi import`, import event data stores using their `arn`. For example:

console

% pulumi import aws_cloudtrail_event_data_store.example arn:aws:cloudtrail:us-east-1:123456789123:eventdatastore/22333815-4414-412c-b155-dd254033gfhf

func GetEventDataStore ¶

func GetEventDataStore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventDataStoreState, opts ...pulumi.ResourceOption) (*EventDataStore, error)

GetEventDataStore gets an existing EventDataStore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventDataStore ¶

func NewEventDataStore(ctx *pulumi.Context,
	name string, args *EventDataStoreArgs, opts ...pulumi.ResourceOption) (*EventDataStore, error)

NewEventDataStore registers a new resource with the given unique name, arguments, and options.

func (*EventDataStore) ElementType ¶

func (*EventDataStore) ElementType() reflect.Type

func (*EventDataStore) ToEventDataStoreOutput ¶

func (i *EventDataStore) ToEventDataStoreOutput() EventDataStoreOutput

func (*EventDataStore) ToEventDataStoreOutputWithContext ¶

func (i *EventDataStore) ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput

type EventDataStoreAdvancedEventSelector ¶

type EventDataStoreAdvancedEventSelector struct {
	// Specifies the selector statements in an advanced event selector. Fields documented below.
	FieldSelectors []EventDataStoreAdvancedEventSelectorFieldSelector `pulumi:"fieldSelectors"`
	// Specifies the name of the advanced event selector.
	Name *string `pulumi:"name"`
}

type EventDataStoreAdvancedEventSelectorArgs ¶

type EventDataStoreAdvancedEventSelectorArgs struct {
	// Specifies the selector statements in an advanced event selector. Fields documented below.
	FieldSelectors EventDataStoreAdvancedEventSelectorFieldSelectorArrayInput `pulumi:"fieldSelectors"`
	// Specifies the name of the advanced event selector.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (EventDataStoreAdvancedEventSelectorArgs) ElementType ¶

func (EventDataStoreAdvancedEventSelectorArgs) ToEventDataStoreAdvancedEventSelectorOutput ¶

func (i EventDataStoreAdvancedEventSelectorArgs) ToEventDataStoreAdvancedEventSelectorOutput() EventDataStoreAdvancedEventSelectorOutput

func (EventDataStoreAdvancedEventSelectorArgs) ToEventDataStoreAdvancedEventSelectorOutputWithContext ¶

func (i EventDataStoreAdvancedEventSelectorArgs) ToEventDataStoreAdvancedEventSelectorOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorOutput

type EventDataStoreAdvancedEventSelectorArray ¶

type EventDataStoreAdvancedEventSelectorArray []EventDataStoreAdvancedEventSelectorInput

func (EventDataStoreAdvancedEventSelectorArray) ElementType ¶

func (EventDataStoreAdvancedEventSelectorArray) ToEventDataStoreAdvancedEventSelectorArrayOutput ¶

func (i EventDataStoreAdvancedEventSelectorArray) ToEventDataStoreAdvancedEventSelectorArrayOutput() EventDataStoreAdvancedEventSelectorArrayOutput

func (EventDataStoreAdvancedEventSelectorArray) ToEventDataStoreAdvancedEventSelectorArrayOutputWithContext ¶

func (i EventDataStoreAdvancedEventSelectorArray) ToEventDataStoreAdvancedEventSelectorArrayOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorArrayOutput

type EventDataStoreAdvancedEventSelectorArrayInput ¶

type EventDataStoreAdvancedEventSelectorArrayInput interface {
	pulumi.Input

	ToEventDataStoreAdvancedEventSelectorArrayOutput() EventDataStoreAdvancedEventSelectorArrayOutput
	ToEventDataStoreAdvancedEventSelectorArrayOutputWithContext(context.Context) EventDataStoreAdvancedEventSelectorArrayOutput
}

EventDataStoreAdvancedEventSelectorArrayInput is an input type that accepts EventDataStoreAdvancedEventSelectorArray and EventDataStoreAdvancedEventSelectorArrayOutput values. You can construct a concrete instance of `EventDataStoreAdvancedEventSelectorArrayInput` via:

EventDataStoreAdvancedEventSelectorArray{ EventDataStoreAdvancedEventSelectorArgs{...} }

type EventDataStoreAdvancedEventSelectorArrayOutput ¶

type EventDataStoreAdvancedEventSelectorArrayOutput struct{ *pulumi.OutputState }

func (EventDataStoreAdvancedEventSelectorArrayOutput) ElementType ¶

func (EventDataStoreAdvancedEventSelectorArrayOutput) Index ¶

func (EventDataStoreAdvancedEventSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorArrayOutput ¶

func (o EventDataStoreAdvancedEventSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorArrayOutput() EventDataStoreAdvancedEventSelectorArrayOutput

func (EventDataStoreAdvancedEventSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorArrayOutputWithContext ¶

func (o EventDataStoreAdvancedEventSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorArrayOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorArrayOutput

type EventDataStoreAdvancedEventSelectorFieldSelector ¶

type EventDataStoreAdvancedEventSelectorFieldSelector struct {
	// A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.
	EndsWiths []string `pulumi:"endsWiths"`
	// A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.
	Equals []string `pulumi:"equals"`
	// Specifies a field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.
	Field *string `pulumi:"field"`
	// A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.
	NotEndsWiths []string `pulumi:"notEndsWiths"`
	// A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.
	NotEquals []string `pulumi:"notEquals"`
	// A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.
	NotStartsWiths []string `pulumi:"notStartsWiths"`
	// A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.
	StartsWiths []string `pulumi:"startsWiths"`
}

type EventDataStoreAdvancedEventSelectorFieldSelectorArgs ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorArgs struct {
	// A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.
	EndsWiths pulumi.StringArrayInput `pulumi:"endsWiths"`
	// A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.
	Equals pulumi.StringArrayInput `pulumi:"equals"`
	// Specifies a field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.
	Field pulumi.StringPtrInput `pulumi:"field"`
	// A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.
	NotEndsWiths pulumi.StringArrayInput `pulumi:"notEndsWiths"`
	// A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.
	NotEquals pulumi.StringArrayInput `pulumi:"notEquals"`
	// A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.
	NotStartsWiths pulumi.StringArrayInput `pulumi:"notStartsWiths"`
	// A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.
	StartsWiths pulumi.StringArrayInput `pulumi:"startsWiths"`
}

func (EventDataStoreAdvancedEventSelectorFieldSelectorArgs) ElementType ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorArgs) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutput ¶

func (i EventDataStoreAdvancedEventSelectorFieldSelectorArgs) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutput() EventDataStoreAdvancedEventSelectorFieldSelectorOutput

func (EventDataStoreAdvancedEventSelectorFieldSelectorArgs) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutputWithContext ¶

func (i EventDataStoreAdvancedEventSelectorFieldSelectorArgs) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorOutput

type EventDataStoreAdvancedEventSelectorFieldSelectorArray ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorArray []EventDataStoreAdvancedEventSelectorFieldSelectorInput

func (EventDataStoreAdvancedEventSelectorFieldSelectorArray) ElementType ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorArray) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput ¶

func (i EventDataStoreAdvancedEventSelectorFieldSelectorArray) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput() EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput

func (EventDataStoreAdvancedEventSelectorFieldSelectorArray) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutputWithContext ¶

func (i EventDataStoreAdvancedEventSelectorFieldSelectorArray) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput

type EventDataStoreAdvancedEventSelectorFieldSelectorArrayInput ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorArrayInput interface {
	pulumi.Input

	ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput() EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput
	ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutputWithContext(context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput
}

EventDataStoreAdvancedEventSelectorFieldSelectorArrayInput is an input type that accepts EventDataStoreAdvancedEventSelectorFieldSelectorArray and EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput values. You can construct a concrete instance of `EventDataStoreAdvancedEventSelectorFieldSelectorArrayInput` via:

EventDataStoreAdvancedEventSelectorFieldSelectorArray{ EventDataStoreAdvancedEventSelectorFieldSelectorArgs{...} }

type EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput struct{ *pulumi.OutputState }

func (EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput) ElementType ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput) Index ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutputWithContext ¶

func (o EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorArrayOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorArrayOutput

type EventDataStoreAdvancedEventSelectorFieldSelectorInput ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorInput interface {
	pulumi.Input

	ToEventDataStoreAdvancedEventSelectorFieldSelectorOutput() EventDataStoreAdvancedEventSelectorFieldSelectorOutput
	ToEventDataStoreAdvancedEventSelectorFieldSelectorOutputWithContext(context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorOutput
}

EventDataStoreAdvancedEventSelectorFieldSelectorInput is an input type that accepts EventDataStoreAdvancedEventSelectorFieldSelectorArgs and EventDataStoreAdvancedEventSelectorFieldSelectorOutput values. You can construct a concrete instance of `EventDataStoreAdvancedEventSelectorFieldSelectorInput` via:

EventDataStoreAdvancedEventSelectorFieldSelectorArgs{...}

type EventDataStoreAdvancedEventSelectorFieldSelectorOutput ¶

type EventDataStoreAdvancedEventSelectorFieldSelectorOutput struct{ *pulumi.OutputState }

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) ElementType ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) EndsWiths ¶

A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) Equals ¶

A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) Field ¶

Specifies a field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) NotEndsWiths ¶

A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) NotEquals ¶

A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) NotStartsWiths ¶

A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) StartsWiths ¶

A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutput ¶

func (EventDataStoreAdvancedEventSelectorFieldSelectorOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutputWithContext ¶

func (o EventDataStoreAdvancedEventSelectorFieldSelectorOutput) ToEventDataStoreAdvancedEventSelectorFieldSelectorOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorFieldSelectorOutput

type EventDataStoreAdvancedEventSelectorInput ¶

type EventDataStoreAdvancedEventSelectorInput interface {
	pulumi.Input

	ToEventDataStoreAdvancedEventSelectorOutput() EventDataStoreAdvancedEventSelectorOutput
	ToEventDataStoreAdvancedEventSelectorOutputWithContext(context.Context) EventDataStoreAdvancedEventSelectorOutput
}

EventDataStoreAdvancedEventSelectorInput is an input type that accepts EventDataStoreAdvancedEventSelectorArgs and EventDataStoreAdvancedEventSelectorOutput values. You can construct a concrete instance of `EventDataStoreAdvancedEventSelectorInput` via:

EventDataStoreAdvancedEventSelectorArgs{...}

type EventDataStoreAdvancedEventSelectorOutput ¶

type EventDataStoreAdvancedEventSelectorOutput struct{ *pulumi.OutputState }

func (EventDataStoreAdvancedEventSelectorOutput) ElementType ¶

func (EventDataStoreAdvancedEventSelectorOutput) FieldSelectors ¶

Specifies the selector statements in an advanced event selector. Fields documented below.

func (EventDataStoreAdvancedEventSelectorOutput) Name ¶

Specifies the name of the advanced event selector.

func (EventDataStoreAdvancedEventSelectorOutput) ToEventDataStoreAdvancedEventSelectorOutput ¶

func (o EventDataStoreAdvancedEventSelectorOutput) ToEventDataStoreAdvancedEventSelectorOutput() EventDataStoreAdvancedEventSelectorOutput

func (EventDataStoreAdvancedEventSelectorOutput) ToEventDataStoreAdvancedEventSelectorOutputWithContext ¶

func (o EventDataStoreAdvancedEventSelectorOutput) ToEventDataStoreAdvancedEventSelectorOutputWithContext(ctx context.Context) EventDataStoreAdvancedEventSelectorOutput

type EventDataStoreArgs ¶

type EventDataStoreArgs struct {
	// The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.
	AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayInput
	// The billing mode for the event data store. The valid values are `EXTENDABLE_RETENTION_PRICING` and `FIXED_RETENTION_PRICING`. Defaults to `EXTENDABLE_RETENTION_PRICING`.
	BillingMode pulumi.StringPtrInput
	// Specifies the AWS KMS key ID to use to encrypt the events 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.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`.
	MultiRegionEnabled pulumi.BoolPtrInput
	// The name of the event data store.
	Name pulumi.StringPtrInput
	// Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`.
	OrganizationEnabled pulumi.BoolPtrInput
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringPtrInput
	// The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`.
	RetentionPeriod pulumi.IntPtrInput
	// Specifies whether to stop ingesting new events into the event data store. If set to `true`, ingestion is suspended while maintaining the ability to query existing events. If set to `false`, ingestion is active.
	Suspend pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`.
	TerminationProtectionEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a EventDataStore resource.

func (EventDataStoreArgs) ElementType ¶

func (EventDataStoreArgs) ElementType() reflect.Type

type EventDataStoreArray ¶

type EventDataStoreArray []EventDataStoreInput

func (EventDataStoreArray) ElementType ¶

func (EventDataStoreArray) ElementType() reflect.Type

func (EventDataStoreArray) ToEventDataStoreArrayOutput ¶

func (i EventDataStoreArray) ToEventDataStoreArrayOutput() EventDataStoreArrayOutput

func (EventDataStoreArray) ToEventDataStoreArrayOutputWithContext ¶

func (i EventDataStoreArray) ToEventDataStoreArrayOutputWithContext(ctx context.Context) EventDataStoreArrayOutput

type EventDataStoreArrayInput ¶

type EventDataStoreArrayInput interface {
	pulumi.Input

	ToEventDataStoreArrayOutput() EventDataStoreArrayOutput
	ToEventDataStoreArrayOutputWithContext(context.Context) EventDataStoreArrayOutput
}

EventDataStoreArrayInput is an input type that accepts EventDataStoreArray and EventDataStoreArrayOutput values. You can construct a concrete instance of `EventDataStoreArrayInput` via:

EventDataStoreArray{ EventDataStoreArgs{...} }

type EventDataStoreArrayOutput ¶

type EventDataStoreArrayOutput struct{ *pulumi.OutputState }

func (EventDataStoreArrayOutput) ElementType ¶

func (EventDataStoreArrayOutput) ElementType() reflect.Type

func (EventDataStoreArrayOutput) Index ¶

func (EventDataStoreArrayOutput) ToEventDataStoreArrayOutput ¶

func (o EventDataStoreArrayOutput) ToEventDataStoreArrayOutput() EventDataStoreArrayOutput

func (EventDataStoreArrayOutput) ToEventDataStoreArrayOutputWithContext ¶

func (o EventDataStoreArrayOutput) ToEventDataStoreArrayOutputWithContext(ctx context.Context) EventDataStoreArrayOutput

type EventDataStoreInput ¶

type EventDataStoreInput interface {
	pulumi.Input

	ToEventDataStoreOutput() EventDataStoreOutput
	ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput
}

type EventDataStoreMap ¶

type EventDataStoreMap map[string]EventDataStoreInput

func (EventDataStoreMap) ElementType ¶

func (EventDataStoreMap) ElementType() reflect.Type

func (EventDataStoreMap) ToEventDataStoreMapOutput ¶

func (i EventDataStoreMap) ToEventDataStoreMapOutput() EventDataStoreMapOutput

func (EventDataStoreMap) ToEventDataStoreMapOutputWithContext ¶

func (i EventDataStoreMap) ToEventDataStoreMapOutputWithContext(ctx context.Context) EventDataStoreMapOutput

type EventDataStoreMapInput ¶

type EventDataStoreMapInput interface {
	pulumi.Input

	ToEventDataStoreMapOutput() EventDataStoreMapOutput
	ToEventDataStoreMapOutputWithContext(context.Context) EventDataStoreMapOutput
}

EventDataStoreMapInput is an input type that accepts EventDataStoreMap and EventDataStoreMapOutput values. You can construct a concrete instance of `EventDataStoreMapInput` via:

EventDataStoreMap{ "key": EventDataStoreArgs{...} }

type EventDataStoreMapOutput ¶

type EventDataStoreMapOutput struct{ *pulumi.OutputState }

func (EventDataStoreMapOutput) ElementType ¶

func (EventDataStoreMapOutput) ElementType() reflect.Type

func (EventDataStoreMapOutput) MapIndex ¶

func (EventDataStoreMapOutput) ToEventDataStoreMapOutput ¶

func (o EventDataStoreMapOutput) ToEventDataStoreMapOutput() EventDataStoreMapOutput

func (EventDataStoreMapOutput) ToEventDataStoreMapOutputWithContext ¶

func (o EventDataStoreMapOutput) ToEventDataStoreMapOutputWithContext(ctx context.Context) EventDataStoreMapOutput

type EventDataStoreOutput ¶

type EventDataStoreOutput struct{ *pulumi.OutputState }

func (EventDataStoreOutput) AdvancedEventSelectors ¶

The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.

func (EventDataStoreOutput) Arn ¶

ARN of the event data store.

func (EventDataStoreOutput) BillingMode ¶

The billing mode for the event data store. The valid values are `EXTENDABLE_RETENTION_PRICING` and `FIXED_RETENTION_PRICING`. Defaults to `EXTENDABLE_RETENTION_PRICING`.

func (EventDataStoreOutput) ElementType ¶

func (EventDataStoreOutput) ElementType() reflect.Type

func (EventDataStoreOutput) KmsKeyId ¶

Specifies the AWS KMS key ID to use to encrypt the events 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.

func (EventDataStoreOutput) MultiRegionEnabled ¶

func (o EventDataStoreOutput) MultiRegionEnabled() pulumi.BoolPtrOutput

Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`.

func (EventDataStoreOutput) Name ¶

The name of the event data store.

func (EventDataStoreOutput) OrganizationEnabled ¶

func (o EventDataStoreOutput) OrganizationEnabled() pulumi.BoolPtrOutput

Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`.

func (EventDataStoreOutput) Region ¶

Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.

func (EventDataStoreOutput) RetentionPeriod ¶

func (o EventDataStoreOutput) RetentionPeriod() pulumi.IntPtrOutput

The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`.

func (EventDataStoreOutput) Suspend ¶

Specifies whether to stop ingesting new events into the event data store. If set to `true`, ingestion is suspended while maintaining the ability to query existing events. If set to `false`, ingestion is active.

func (EventDataStoreOutput) Tags ¶

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (EventDataStoreOutput) TagsAll ¶

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (EventDataStoreOutput) TerminationProtectionEnabled ¶

func (o EventDataStoreOutput) TerminationProtectionEnabled() pulumi.BoolPtrOutput

Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`.

func (EventDataStoreOutput) ToEventDataStoreOutput ¶

func (o EventDataStoreOutput) ToEventDataStoreOutput() EventDataStoreOutput

func (EventDataStoreOutput) ToEventDataStoreOutputWithContext ¶

func (o EventDataStoreOutput) ToEventDataStoreOutputWithContext(ctx context.Context) EventDataStoreOutput

type EventDataStoreState ¶

type EventDataStoreState struct {
	// The advanced event selectors to use to select the events for the data store. For more information about how to use advanced event selectors, see [Log events by using advanced event selectors](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced) in the CloudTrail User Guide.
	AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayInput
	// ARN of the event data store.
	Arn pulumi.StringPtrInput
	// The billing mode for the event data store. The valid values are `EXTENDABLE_RETENTION_PRICING` and `FIXED_RETENTION_PRICING`. Defaults to `EXTENDABLE_RETENTION_PRICING`.
	BillingMode pulumi.StringPtrInput
	// Specifies the AWS KMS key ID to use to encrypt the events 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.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether the event data store includes events from all regions, or only from the region in which the event data store is created. Default: `true`.
	MultiRegionEnabled pulumi.BoolPtrInput
	// The name of the event data store.
	Name pulumi.StringPtrInput
	// Specifies whether an event data store collects events logged for an organization in AWS Organizations. Default: `false`.
	OrganizationEnabled pulumi.BoolPtrInput
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringPtrInput
	// The retention period of the event data store, in days. You can set a retention period of up to 2555 days, the equivalent of seven years. Default: `2555`.
	RetentionPeriod pulumi.IntPtrInput
	// Specifies whether to stop ingesting new events into the event data store. If set to `true`, ingestion is suspended while maintaining the ability to query existing events. If set to `false`, ingestion is active.
	Suspend pulumi.StringPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Specifies whether termination protection is enabled for the event data store. If termination protection is enabled, you cannot delete the event data store until termination protection is disabled. Default: `true`.
	TerminationProtectionEnabled pulumi.BoolPtrInput
}

func (EventDataStoreState) ElementType ¶

func (EventDataStoreState) ElementType() reflect.Type

type GetServiceAccountArgs ¶

type GetServiceAccountArgs struct {
	// Name of the Region whose AWS CloudTrail account ID is desired. Defaults to the Region set in the provider configuration.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getServiceAccount.

type GetServiceAccountOutputArgs ¶

type GetServiceAccountOutputArgs struct {
	// Name of the Region whose AWS CloudTrail account ID is desired. Defaults to the Region set in the provider configuration.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getServiceAccount.

func (GetServiceAccountOutputArgs) ElementType ¶

type GetServiceAccountResult ¶

type GetServiceAccountResult struct {
	// ARN of the AWS CloudTrail service account in the selected Region.
	Arn string `pulumi:"arn"`
	// The provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Region string `pulumi:"region"`
}

A collection of values returned by getServiceAccount.

func GetServiceAccount ¶

func GetServiceAccount(ctx *pulumi.Context, args *GetServiceAccountArgs, opts ...pulumi.InvokeOption) (*GetServiceAccountResult, error)

Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.

> **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { main, err := cloudtrail.GetServiceAccount(ctx, &cloudtrail.GetServiceAccountArgs{ }, nil); if err != nil { return err } bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{ Bucket: pulumi.String("tf-cloudtrail-logging-test-bucket"), ForceDestroy: pulumi.Bool(true), }) if err != nil { return err } allowCloudtrailLogging := pulumi.All(bucket.Arn,bucket.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) { bucketArn := _args[0].(string) bucketArn1 := _args[1].(string) return iam.GetPolicyDocumentResult(iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ Statements: []iam.GetPolicyDocumentStatement{ { Sid: pulumi.StringRef(pulumi.String(pulumi.StringRef("Put bucket policy needed for trails"))), Effect: pulumi.StringRef(pulumi.String(pulumi.StringRef("Allow"))), Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: interface{}{ main.Arn, }, }, }, Actions: []string{ "s3:PutObject", }, Resources: []string{ fmt.Sprintf("%v/*", bucketArn), }, }, { Sid: pulumi.StringRef(pulumi.String(pulumi.StringRef("Get bucket policy needed for trails"))), Effect: pulumi.StringRef(pulumi.String(pulumi.StringRef("Allow"))), Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: interface{}{ main.Arn, }, }, }, Actions: []string{ "s3:GetBucketAcl", }, Resources: []string{ bucketArn1, }, }, }, }, nil)), nil }).(iam.GetPolicyDocumentResultOutput) _, err = s3.NewBucketPolicy(ctx, "allow_cloudtrail_logging", &s3.BucketPolicyArgs{ Bucket: bucket.ID(), Policy: pulumi.String(allowCloudtrailLogging.Json), }) if err != nil { return err } return nil }) } ```

type GetServiceAccountResultOutput ¶

type GetServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServiceAccount.

func (GetServiceAccountResultOutput) Arn ¶

ARN of the AWS CloudTrail service account in the selected Region.

func (GetServiceAccountResultOutput) ElementType ¶

func (GetServiceAccountResultOutput) Id ¶

The provider-assigned unique ID for this managed resource.

func (GetServiceAccountResultOutput) Region ¶

func (GetServiceAccountResultOutput) ToGetServiceAccountResultOutput ¶

func (o GetServiceAccountResultOutput) ToGetServiceAccountResultOutput() GetServiceAccountResultOutput

func (GetServiceAccountResultOutput) ToGetServiceAccountResultOutputWithContext ¶

func (o GetServiceAccountResultOutput) ToGetServiceAccountResultOutputWithContext(ctx context.Context) GetServiceAccountResultOutput

type OrganizationDelegatedAdminAccount ¶

type OrganizationDelegatedAdminAccount struct {
	pulumi.CustomResourceState

	// An organization member account ID that you want to designate as a delegated administrator.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The email address that is associated with the delegated administrator's AWS account.
	Email pulumi.StringOutput `pulumi:"email"`
	// The friendly name of the delegated administrator's account.
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS CloudTrail service principal name.
	ServicePrincipal pulumi.StringOutput `pulumi:"servicePrincipal"`
}

Provides a resource to manage an AWS CloudTrail Delegated Administrator.

## Example Usage

Basic usage:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		delegated, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewOrganizationDelegatedAdminAccount(ctx, "example", &cloudtrail.OrganizationDelegatedAdminAccountArgs{
			AccountId: pulumi.String(delegated.AccountId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import delegated administrators using the delegate account `id`. For example:

```sh $ pulumi import aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount example 12345678901 ```

func GetOrganizationDelegatedAdminAccount ¶

func GetOrganizationDelegatedAdminAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationDelegatedAdminAccountState, opts ...pulumi.ResourceOption) (*OrganizationDelegatedAdminAccount, error)

GetOrganizationDelegatedAdminAccount gets an existing OrganizationDelegatedAdminAccount resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewOrganizationDelegatedAdminAccount ¶

func NewOrganizationDelegatedAdminAccount(ctx *pulumi.Context,
	name string, args *OrganizationDelegatedAdminAccountArgs, opts ...pulumi.ResourceOption) (*OrganizationDelegatedAdminAccount, error)

NewOrganizationDelegatedAdminAccount registers a new resource with the given unique name, arguments, and options.

func (*OrganizationDelegatedAdminAccount) ElementType ¶

func (*OrganizationDelegatedAdminAccount) ToOrganizationDelegatedAdminAccountOutput ¶

func (i *OrganizationDelegatedAdminAccount) ToOrganizationDelegatedAdminAccountOutput() OrganizationDelegatedAdminAccountOutput

func (*OrganizationDelegatedAdminAccount) ToOrganizationDelegatedAdminAccountOutputWithContext ¶

func (i *OrganizationDelegatedAdminAccount) ToOrganizationDelegatedAdminAccountOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountOutput

type OrganizationDelegatedAdminAccountArgs ¶

type OrganizationDelegatedAdminAccountArgs struct {
	// An organization member account ID that you want to designate as a delegated administrator.
	AccountId pulumi.StringInput
}

The set of arguments for constructing a OrganizationDelegatedAdminAccount resource.

func (OrganizationDelegatedAdminAccountArgs) ElementType ¶

type OrganizationDelegatedAdminAccountArray ¶

type OrganizationDelegatedAdminAccountArray []OrganizationDelegatedAdminAccountInput

func (OrganizationDelegatedAdminAccountArray) ElementType ¶

func (OrganizationDelegatedAdminAccountArray) ToOrganizationDelegatedAdminAccountArrayOutput ¶

func (i OrganizationDelegatedAdminAccountArray) ToOrganizationDelegatedAdminAccountArrayOutput() OrganizationDelegatedAdminAccountArrayOutput

func (OrganizationDelegatedAdminAccountArray) ToOrganizationDelegatedAdminAccountArrayOutputWithContext ¶

func (i OrganizationDelegatedAdminAccountArray) ToOrganizationDelegatedAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountArrayOutput

type OrganizationDelegatedAdminAccountArrayInput ¶

type OrganizationDelegatedAdminAccountArrayInput interface {
	pulumi.Input

	ToOrganizationDelegatedAdminAccountArrayOutput() OrganizationDelegatedAdminAccountArrayOutput
	ToOrganizationDelegatedAdminAccountArrayOutputWithContext(context.Context) OrganizationDelegatedAdminAccountArrayOutput
}

OrganizationDelegatedAdminAccountArrayInput is an input type that accepts OrganizationDelegatedAdminAccountArray and OrganizationDelegatedAdminAccountArrayOutput values. You can construct a concrete instance of `OrganizationDelegatedAdminAccountArrayInput` via:

OrganizationDelegatedAdminAccountArray{ OrganizationDelegatedAdminAccountArgs{...} }

type OrganizationDelegatedAdminAccountArrayOutput ¶

type OrganizationDelegatedAdminAccountArrayOutput struct{ *pulumi.OutputState }

func (OrganizationDelegatedAdminAccountArrayOutput) ElementType ¶

func (OrganizationDelegatedAdminAccountArrayOutput) Index ¶

func (OrganizationDelegatedAdminAccountArrayOutput) ToOrganizationDelegatedAdminAccountArrayOutput ¶

func (o OrganizationDelegatedAdminAccountArrayOutput) ToOrganizationDelegatedAdminAccountArrayOutput() OrganizationDelegatedAdminAccountArrayOutput

func (OrganizationDelegatedAdminAccountArrayOutput) ToOrganizationDelegatedAdminAccountArrayOutputWithContext ¶

func (o OrganizationDelegatedAdminAccountArrayOutput) ToOrganizationDelegatedAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountArrayOutput

type OrganizationDelegatedAdminAccountInput ¶

type OrganizationDelegatedAdminAccountInput interface {
	pulumi.Input

	ToOrganizationDelegatedAdminAccountOutput() OrganizationDelegatedAdminAccountOutput
	ToOrganizationDelegatedAdminAccountOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountOutput
}

type OrganizationDelegatedAdminAccountMap ¶

type OrganizationDelegatedAdminAccountMap map[string]OrganizationDelegatedAdminAccountInput

func (OrganizationDelegatedAdminAccountMap) ElementType ¶

func (OrganizationDelegatedAdminAccountMap) ToOrganizationDelegatedAdminAccountMapOutput ¶

func (i OrganizationDelegatedAdminAccountMap) ToOrganizationDelegatedAdminAccountMapOutput() OrganizationDelegatedAdminAccountMapOutput

func (OrganizationDelegatedAdminAccountMap) ToOrganizationDelegatedAdminAccountMapOutputWithContext ¶

func (i OrganizationDelegatedAdminAccountMap) ToOrganizationDelegatedAdminAccountMapOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountMapOutput

type OrganizationDelegatedAdminAccountMapInput ¶

type OrganizationDelegatedAdminAccountMapInput interface {
	pulumi.Input

	ToOrganizationDelegatedAdminAccountMapOutput() OrganizationDelegatedAdminAccountMapOutput
	ToOrganizationDelegatedAdminAccountMapOutputWithContext(context.Context) OrganizationDelegatedAdminAccountMapOutput
}

OrganizationDelegatedAdminAccountMapInput is an input type that accepts OrganizationDelegatedAdminAccountMap and OrganizationDelegatedAdminAccountMapOutput values. You can construct a concrete instance of `OrganizationDelegatedAdminAccountMapInput` via:

OrganizationDelegatedAdminAccountMap{ "key": OrganizationDelegatedAdminAccountArgs{...} }

type OrganizationDelegatedAdminAccountMapOutput ¶

type OrganizationDelegatedAdminAccountMapOutput struct{ *pulumi.OutputState }

func (OrganizationDelegatedAdminAccountMapOutput) ElementType ¶

func (OrganizationDelegatedAdminAccountMapOutput) MapIndex ¶

func (OrganizationDelegatedAdminAccountMapOutput) ToOrganizationDelegatedAdminAccountMapOutput ¶

func (o OrganizationDelegatedAdminAccountMapOutput) ToOrganizationDelegatedAdminAccountMapOutput() OrganizationDelegatedAdminAccountMapOutput

func (OrganizationDelegatedAdminAccountMapOutput) ToOrganizationDelegatedAdminAccountMapOutputWithContext ¶

func (o OrganizationDelegatedAdminAccountMapOutput) ToOrganizationDelegatedAdminAccountMapOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountMapOutput

type OrganizationDelegatedAdminAccountOutput ¶

type OrganizationDelegatedAdminAccountOutput struct{ *pulumi.OutputState }

func (OrganizationDelegatedAdminAccountOutput) AccountId ¶

An organization member account ID that you want to designate as a delegated administrator.

func (OrganizationDelegatedAdminAccountOutput) Arn ¶

The Amazon Resource Name (ARN) of the delegated administrator's account.

func (OrganizationDelegatedAdminAccountOutput) ElementType ¶

func (OrganizationDelegatedAdminAccountOutput) Email ¶

The email address that is associated with the delegated administrator's AWS account.

func (OrganizationDelegatedAdminAccountOutput) Name ¶

The friendly name of the delegated administrator's account.

func (OrganizationDelegatedAdminAccountOutput) ServicePrincipal ¶

The AWS CloudTrail service principal name.

func (OrganizationDelegatedAdminAccountOutput) ToOrganizationDelegatedAdminAccountOutput ¶

func (o OrganizationDelegatedAdminAccountOutput) ToOrganizationDelegatedAdminAccountOutput() OrganizationDelegatedAdminAccountOutput

func (OrganizationDelegatedAdminAccountOutput) ToOrganizationDelegatedAdminAccountOutputWithContext ¶

func (o OrganizationDelegatedAdminAccountOutput) ToOrganizationDelegatedAdminAccountOutputWithContext(ctx context.Context) OrganizationDelegatedAdminAccountOutput

type OrganizationDelegatedAdminAccountState ¶

type OrganizationDelegatedAdminAccountState struct {
	// An organization member account ID that you want to designate as a delegated administrator.
	AccountId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the delegated administrator's account.
	Arn pulumi.StringPtrInput
	// The email address that is associated with the delegated administrator's AWS account.
	Email pulumi.StringPtrInput
	// The friendly name of the delegated administrator's account.
	Name pulumi.StringPtrInput
	// The AWS CloudTrail service principal name.
	ServicePrincipal pulumi.StringPtrInput
}

func (OrganizationDelegatedAdminAccountState) ElementType ¶

type Trail ¶

type Trail struct {
	pulumi.CustomResourceState

	// Specifies an advanced event selector for enabling data event logging. Fields documented below. Conflicts with `eventSelector`.
	AdvancedEventSelectors TrailAdvancedEventSelectorArrayOutput `pulumi:"advancedEventSelectors"`
	// ARN of the trail.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Log group name using an ARN that represents the log group to which CloudTrail logs will be delivered. Note that CloudTrail requires the Log Stream wildcard.
	CloudWatchLogsGroupArn pulumi.StringPtrOutput `pulumi:"cloudWatchLogsGroupArn"`
	// Role for the CloudWatch Logs endpoint to assume to write to a user’s log group.
	CloudWatchLogsRoleArn pulumi.StringPtrOutput `pulumi:"cloudWatchLogsRoleArn"`
	// Whether log file integrity validation is enabled. Defaults to `false`.
	EnableLogFileValidation pulumi.BoolPtrOutput `pulumi:"enableLogFileValidation"`
	// Enables logging for the trail. When set to `true`, logging is started by calling the [`StartLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html) API. When set to `false`, logging is stopped by calling the [`StopLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html) API. Defaults to `true`.
	EnableLogging pulumi.BoolPtrOutput `pulumi:"enableLogging"`
	// Specifies an event selector for enabling data event logging. Fields documented below. Please note the [CloudTrail limits](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) when configuring these. Conflicts with `advancedEventSelector`.
	EventSelectors TrailEventSelectorArrayOutput `pulumi:"eventSelectors"`
	// Region in which the trail was created.
	HomeRegion pulumi.StringOutput `pulumi:"homeRegion"`
	// Whether the trail is publishing events from global services such as IAM to the log files. Defaults to `true`.
	IncludeGlobalServiceEvents pulumi.BoolPtrOutput `pulumi:"includeGlobalServiceEvents"`
	// Configuration block for identifying unusual operational activity. See details below.
	InsightSelectors TrailInsightSelectorArrayOutput `pulumi:"insightSelectors"`
	// Whether the trail is created in the current region or in all regions. Defaults to `false`.
	IsMultiRegionTrail pulumi.BoolPtrOutput `pulumi:"isMultiRegionTrail"`
	// Whether the trail is an AWS Organizations trail. Organization trails log events for the master account and all member accounts. Can only be created in the organization master account. Defaults to `false`.
	IsOrganizationTrail pulumi.BoolPtrOutput `pulumi:"isOrganizationTrail"`
	// KMS key ARN to use to encrypt the logs delivered by CloudTrail.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// Name of the trail.
	Name pulumi.StringOutput `pulumi:"name"`
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringOutput `pulumi:"region"`
	// Name of the S3 bucket designated for publishing log files.
	//
	// The following arguments are optional:
	S3BucketName pulumi.StringOutput `pulumi:"s3BucketName"`
	// S3 key prefix that follows the name of the bucket you have designated for log file delivery.
	S3KeyPrefix pulumi.StringPtrOutput `pulumi:"s3KeyPrefix"`
	// ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered.
	SnsTopicArn pulumi.StringOutput `pulumi:"snsTopicArn"`
	// Name of the Amazon SNS topic defined for notification of log file delivery. Specify the SNS topic ARN if it resides in another region.
	SnsTopicName pulumi.StringPtrOutput `pulumi:"snsTopicName"`
	// Map of tags to assign to the trail. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a CloudTrail resource.

> **Tip:** For a multi-region trail, this resource must be in the home region of the trail.

> **Tip:** For an organization trail, this resource must be in the master account of the organization.

## Example Usage

### Basic

Enable CloudTrail to capture all compatible management events in region. For capturing events from services like IAM, `includeGlobalServiceEvents` must be enabled.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucket, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{
			Bucket:       pulumi.String("my-test-trail"),
			ForceDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		current, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetPartition, err := aws.GetPartition(ctx, &aws.GetPartitionArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetRegion, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		example := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Sid:    pulumi.String("AWSCloudTrailAclCheck"),
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("Service"),
							Identifiers: pulumi.StringArray{
								pulumi.String("cloudtrail.amazonaws.com"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetBucketAcl"),
					},
					Resources: pulumi.StringArray{
						exampleBucket.Arn,
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("StringEquals"),
							Variable: pulumi.String("aws:SourceArn"),
							Values: pulumi.StringArray{
								pulumi.Sprintf("arn:%v:cloudtrail:%v:%v:trail/example", currentGetPartition.Partition, currentGetRegion.Region, current.AccountId),
							},
						},
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Sid:    pulumi.String("AWSCloudTrailWrite"),
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("Service"),
							Identifiers: pulumi.StringArray{
								pulumi.String("cloudtrail.amazonaws.com"),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("s3:PutObject"),
					},
					Resources: pulumi.StringArray{
						exampleBucket.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/prefix/AWSLogs/%v/*", arn, current.AccountId), nil
						}).(pulumi.StringOutput),
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("StringEquals"),
							Variable: pulumi.String("s3:x-amz-acl"),
							Values: pulumi.StringArray{
								pulumi.String("bucket-owner-full-control"),
							},
						},
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("StringEquals"),
							Variable: pulumi.String("aws:SourceArn"),
							Values: pulumi.StringArray{
								pulumi.Sprintf("arn:%v:cloudtrail:%v:%v:trail/example", currentGetPartition.Partition, currentGetRegion.Region, current.AccountId),
							},
						},
					},
				},
			},
		}, nil)
		exampleBucketPolicy, err := s3.NewBucketPolicy(ctx, "example", &s3.BucketPolicyArgs{
			Bucket: exampleBucket.ID(),
			Policy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {
				return &example.Json, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			Name:                       pulumi.String("example"),
			S3BucketName:               exampleBucket.ID(),
			S3KeyPrefix:                pulumi.String("prefix"),
			IncludeGlobalServiceEvents: pulumi.Bool(false),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleBucketPolicy,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Data Event Logging

CloudTrail can log [Data Events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) for certain services such as S3 objects and Lambda function invocations. Additional information about data event configuration can be found in the following links:

* [CloudTrail API DataResource documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DataResource.html) (for basic event selector). * [CloudTrail API AdvancedFieldSelector documentation](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) (for advanced event selector).

### Logging All Lambda Function Invocations By Using Basic Event Selectors

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			EventSelectors: cloudtrail.TrailEventSelectorArray{
				&cloudtrail.TrailEventSelectorArgs{
					ReadWriteType:           pulumi.String("All"),
					IncludeManagementEvents: pulumi.Bool(true),
					DataResources: cloudtrail.TrailEventSelectorDataResourceArray{
						&cloudtrail.TrailEventSelectorDataResourceArgs{
							Type: pulumi.String("AWS::Lambda::Function"),
							Values: pulumi.StringArray{
								pulumi.String("arn:aws:lambda"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Logging All S3 Object Events By Using Basic Event Selectors

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			EventSelectors: cloudtrail.TrailEventSelectorArray{
				&cloudtrail.TrailEventSelectorArgs{
					ReadWriteType:           pulumi.String("All"),
					IncludeManagementEvents: pulumi.Bool(true),
					DataResources: cloudtrail.TrailEventSelectorDataResourceArray{
						&cloudtrail.TrailEventSelectorDataResourceArgs{
							Type: pulumi.String("AWS::S3::Object"),
							Values: pulumi.StringArray{
								pulumi.String("arn:aws:s3"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Logging Individual S3 Bucket Events By Using Basic Event Selectors

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		important_bucket, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "important-bucket",
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			EventSelectors: cloudtrail.TrailEventSelectorArray{
				&cloudtrail.TrailEventSelectorArgs{
					ReadWriteType:           pulumi.String("All"),
					IncludeManagementEvents: pulumi.Bool(true),
					DataResources: cloudtrail.TrailEventSelectorDataResourceArray{
						&cloudtrail.TrailEventSelectorDataResourceArgs{
							Type: pulumi.String("AWS::S3::Object"),
							Values: pulumi.StringArray{
								pulumi.Sprintf("%v/", important_bucket.Arn),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Logging All S3 Object Events Except For Two S3 Buckets By Using Advanced Event Selectors

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		not_important_bucket_1, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "not-important-bucket-1",
		}, nil)
		if err != nil {
			return err
		}
		not_important_bucket_2, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "not-important-bucket-2",
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			AdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{
				&cloudtrail.TrailAdvancedEventSelectorArgs{
					Name: pulumi.String("Log all S3 objects events except for two S3 buckets"),
					FieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventCategory"),
							Equals: pulumi.StringArray{
								pulumi.String("Data"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.ARN"),
							NotStartsWiths: pulumi.StringArray{
								pulumi.Sprintf("%v/", not_important_bucket_1.Arn),
								pulumi.Sprintf("%v/", not_important_bucket_2.Arn),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.type"),
							Equals: pulumi.StringArray{
								pulumi.String("AWS::S3::Object"),
							},
						},
					},
				},
				&cloudtrail.TrailAdvancedEventSelectorArgs{
					Name: pulumi.String("Log readOnly and writeOnly management events"),
					FieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventCategory"),
							Equals: pulumi.StringArray{
								pulumi.String("Management"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Logging Individual S3 Buckets And Specific Event Names By Using Advanced Event Selectors

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		important_bucket_1, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "important-bucket-1",
		}, nil)
		if err != nil {
			return err
		}
		important_bucket_2, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "important-bucket-2",
		}, nil)
		if err != nil {
			return err
		}
		important_bucket_3, err := s3.LookupBucket(ctx, &s3.LookupBucketArgs{
			Bucket: "important-bucket-3",
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			AdvancedEventSelectors: cloudtrail.TrailAdvancedEventSelectorArray{
				&cloudtrail.TrailAdvancedEventSelectorArgs{
					Name: pulumi.String("Log PutObject and DeleteObject events for two S3 buckets"),
					FieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventCategory"),
							Equals: pulumi.StringArray{
								pulumi.String("Data"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventName"),
							Equals: pulumi.StringArray{
								pulumi.String("PutObject"),
								pulumi.String("DeleteObject"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.ARN"),
							StartsWiths: pulumi.StringArray{
								pulumi.Sprintf("%v/", important_bucket_1.Arn),
								pulumi.Sprintf("%v/", important_bucket_2.Arn),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("readOnly"),
							Equals: pulumi.StringArray{
								pulumi.String("false"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.type"),
							Equals: pulumi.StringArray{
								pulumi.String("AWS::S3::Object"),
							},
						},
					},
				},
				&cloudtrail.TrailAdvancedEventSelectorArgs{
					Name: pulumi.String("Log Delete* events for one S3 bucket"),
					FieldSelectors: cloudtrail.TrailAdvancedEventSelectorFieldSelectorArray{
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventCategory"),
							Equals: pulumi.StringArray{
								pulumi.String("Data"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("eventName"),
							StartsWiths: pulumi.StringArray{
								pulumi.String("Delete"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.ARN"),
							Equals: pulumi.StringArray{
								pulumi.Sprintf("%v/important-prefix", important_bucket_3.Arn),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("readOnly"),
							Equals: pulumi.StringArray{
								pulumi.String("false"),
							},
						},
						&cloudtrail.TrailAdvancedEventSelectorFieldSelectorArgs{
							Field: pulumi.String("resources.type"),
							Equals: pulumi.StringArray{
								pulumi.String("AWS::S3::Object"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Sending Events to CloudWatch Logs

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudtrail"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
			Name: pulumi.String("Example"),
		})
		if err != nil {
			return err
		}
		_, err = cloudtrail.NewTrail(ctx, "example", &cloudtrail.TrailArgs{
			CloudWatchLogsGroupArn: example.Arn.ApplyT(func(arn string) (string, error) {
				return fmt.Sprintf("%v:*", arn), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Cloudtrails using the `arn`. For example:

```sh $ pulumi import aws:cloudtrail/trail:Trail sample arn:aws:cloudtrail:us-east-1:123456789012:trail/my-sample-trail ```

func GetTrail ¶

func GetTrail(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrailState, opts ...pulumi.ResourceOption) (*Trail, error)

GetTrail gets an existing Trail resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTrail ¶

func NewTrail(ctx *pulumi.Context,
	name string, args *TrailArgs, opts ...pulumi.ResourceOption) (*Trail, error)

NewTrail registers a new resource with the given unique name, arguments, and options.

func (*Trail) ElementType ¶

func (*Trail) ElementType() reflect.Type

func (*Trail) ToTrailOutput ¶

func (i *Trail) ToTrailOutput() TrailOutput

func (*Trail) ToTrailOutputWithContext ¶

func (i *Trail) ToTrailOutputWithContext(ctx context.Context) TrailOutput

type TrailAdvancedEventSelector ¶

type TrailAdvancedEventSelector struct {
	// Specifies the selector statements in an advanced event selector. Fields documented below.
	FieldSelectors []TrailAdvancedEventSelectorFieldSelector `pulumi:"fieldSelectors"`
	// Name of the trail.
	Name *string `pulumi:"name"`
}

type TrailAdvancedEventSelectorArgs ¶

type TrailAdvancedEventSelectorArgs struct {
	// Specifies the selector statements in an advanced event selector. Fields documented below.
	FieldSelectors TrailAdvancedEventSelectorFieldSelectorArrayInput `pulumi:"fieldSelectors"`
	// Name of the trail.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (TrailAdvancedEventSelectorArgs) ElementType ¶

func (TrailAdvancedEventSelectorArgs) ToTrailAdvancedEventSelectorOutput ¶

func (i TrailAdvancedEventSelectorArgs) ToTrailAdvancedEventSelectorOutput() TrailAdvancedEventSelectorOutput

func (TrailAdvancedEventSelectorArgs) ToTrailAdvancedEventSelectorOutputWithContext ¶

func (i TrailAdvancedEventSelectorArgs) ToTrailAdvancedEventSelectorOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorOutput

type TrailAdvancedEventSelectorArray ¶

type TrailAdvancedEventSelectorArray []TrailAdvancedEventSelectorInput

func (TrailAdvancedEventSelectorArray) ElementType ¶

func (TrailAdvancedEventSelectorArray) ToTrailAdvancedEventSelectorArrayOutput ¶

func (i TrailAdvancedEventSelectorArray) ToTrailAdvancedEventSelectorArrayOutput() TrailAdvancedEventSelectorArrayOutput

func (TrailAdvancedEventSelectorArray) ToTrailAdvancedEventSelectorArrayOutputWithContext ¶

func (i TrailAdvancedEventSelectorArray) ToTrailAdvancedEventSelectorArrayOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorArrayOutput

type TrailAdvancedEventSelectorArrayInput ¶

type TrailAdvancedEventSelectorArrayInput interface {
	pulumi.Input

	ToTrailAdvancedEventSelectorArrayOutput() TrailAdvancedEventSelectorArrayOutput
	ToTrailAdvancedEventSelectorArrayOutputWithContext(context.Context) TrailAdvancedEventSelectorArrayOutput
}

TrailAdvancedEventSelectorArrayInput is an input type that accepts TrailAdvancedEventSelectorArray and TrailAdvancedEventSelectorArrayOutput values. You can construct a concrete instance of `TrailAdvancedEventSelectorArrayInput` via:

TrailAdvancedEventSelectorArray{ TrailAdvancedEventSelectorArgs{...} }

type TrailAdvancedEventSelectorArrayOutput ¶

type TrailAdvancedEventSelectorArrayOutput struct{ *pulumi.OutputState }

func (TrailAdvancedEventSelectorArrayOutput) ElementType ¶

func (TrailAdvancedEventSelectorArrayOutput) Index ¶

func (TrailAdvancedEventSelectorArrayOutput) ToTrailAdvancedEventSelectorArrayOutput ¶

func (o TrailAdvancedEventSelectorArrayOutput) ToTrailAdvancedEventSelectorArrayOutput() TrailAdvancedEventSelectorArrayOutput

func (TrailAdvancedEventSelectorArrayOutput) ToTrailAdvancedEventSelectorArrayOutputWithContext ¶

func (o TrailAdvancedEventSelectorArrayOutput) ToTrailAdvancedEventSelectorArrayOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorArrayOutput

type TrailAdvancedEventSelectorFieldSelector ¶

type TrailAdvancedEventSelectorFieldSelector struct {
	// A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.
	EndsWiths []string `pulumi:"endsWiths"`
	// A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.
	Equals []string `pulumi:"equals"`
	// Field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.
	Field string `pulumi:"field"`
	// A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.
	NotEndsWiths []string `pulumi:"notEndsWiths"`
	// A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.
	NotEquals []string `pulumi:"notEquals"`
	// A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.
	NotStartsWiths []string `pulumi:"notStartsWiths"`
	// A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.
	StartsWiths []string `pulumi:"startsWiths"`
}

type TrailAdvancedEventSelectorFieldSelectorArgs ¶

type TrailAdvancedEventSelectorFieldSelectorArgs struct {
	// A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.
	EndsWiths pulumi.StringArrayInput `pulumi:"endsWiths"`
	// A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.
	Equals pulumi.StringArrayInput `pulumi:"equals"`
	// Field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.
	Field pulumi.StringInput `pulumi:"field"`
	// A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.
	NotEndsWiths pulumi.StringArrayInput `pulumi:"notEndsWiths"`
	// A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.
	NotEquals pulumi.StringArrayInput `pulumi:"notEquals"`
	// A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.
	NotStartsWiths pulumi.StringArrayInput `pulumi:"notStartsWiths"`
	// A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.
	StartsWiths pulumi.StringArrayInput `pulumi:"startsWiths"`
}

func (TrailAdvancedEventSelectorFieldSelectorArgs) ElementType ¶

func (TrailAdvancedEventSelectorFieldSelectorArgs) ToTrailAdvancedEventSelectorFieldSelectorOutput ¶

func (i TrailAdvancedEventSelectorFieldSelectorArgs) ToTrailAdvancedEventSelectorFieldSelectorOutput() TrailAdvancedEventSelectorFieldSelectorOutput

func (TrailAdvancedEventSelectorFieldSelectorArgs) ToTrailAdvancedEventSelectorFieldSelectorOutputWithContext ¶

func (i TrailAdvancedEventSelectorFieldSelectorArgs) ToTrailAdvancedEventSelectorFieldSelectorOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorFieldSelectorOutput

type TrailAdvancedEventSelectorFieldSelectorArray ¶

type TrailAdvancedEventSelectorFieldSelectorArray []TrailAdvancedEventSelectorFieldSelectorInput

func (TrailAdvancedEventSelectorFieldSelectorArray) ElementType ¶

func (TrailAdvancedEventSelectorFieldSelectorArray) ToTrailAdvancedEventSelectorFieldSelectorArrayOutput ¶

func (i TrailAdvancedEventSelectorFieldSelectorArray) ToTrailAdvancedEventSelectorFieldSelectorArrayOutput() TrailAdvancedEventSelectorFieldSelectorArrayOutput

func (TrailAdvancedEventSelectorFieldSelectorArray) ToTrailAdvancedEventSelectorFieldSelectorArrayOutputWithContext ¶

func (i TrailAdvancedEventSelectorFieldSelectorArray) ToTrailAdvancedEventSelectorFieldSelectorArrayOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorFieldSelectorArrayOutput

type TrailAdvancedEventSelectorFieldSelectorArrayInput ¶

type TrailAdvancedEventSelectorFieldSelectorArrayInput interface {
	pulumi.Input

	ToTrailAdvancedEventSelectorFieldSelectorArrayOutput() TrailAdvancedEventSelectorFieldSelectorArrayOutput
	ToTrailAdvancedEventSelectorFieldSelectorArrayOutputWithContext(context.Context) TrailAdvancedEventSelectorFieldSelectorArrayOutput
}

TrailAdvancedEventSelectorFieldSelectorArrayInput is an input type that accepts TrailAdvancedEventSelectorFieldSelectorArray and TrailAdvancedEventSelectorFieldSelectorArrayOutput values. You can construct a concrete instance of `TrailAdvancedEventSelectorFieldSelectorArrayInput` via:

TrailAdvancedEventSelectorFieldSelectorArray{ TrailAdvancedEventSelectorFieldSelectorArgs{...} }

type TrailAdvancedEventSelectorFieldSelectorArrayOutput ¶

type TrailAdvancedEventSelectorFieldSelectorArrayOutput struct{ *pulumi.OutputState }

func (TrailAdvancedEventSelectorFieldSelectorArrayOutput) ElementType ¶

func (TrailAdvancedEventSelectorFieldSelectorArrayOutput) Index ¶

func (TrailAdvancedEventSelectorFieldSelectorArrayOutput) ToTrailAdvancedEventSelectorFieldSelectorArrayOutput ¶

func (o TrailAdvancedEventSelectorFieldSelectorArrayOutput) ToTrailAdvancedEventSelectorFieldSelectorArrayOutput() TrailAdvancedEventSelectorFieldSelectorArrayOutput

func (TrailAdvancedEventSelectorFieldSelectorArrayOutput) ToTrailAdvancedEventSelectorFieldSelectorArrayOutputWithContext ¶

func (o TrailAdvancedEventSelectorFieldSelectorArrayOutput) ToTrailAdvancedEventSelectorFieldSelectorArrayOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorFieldSelectorArrayOutput

type TrailAdvancedEventSelectorFieldSelectorInput ¶

type TrailAdvancedEventSelectorFieldSelectorInput interface {
	pulumi.Input

	ToTrailAdvancedEventSelectorFieldSelectorOutput() TrailAdvancedEventSelectorFieldSelectorOutput
	ToTrailAdvancedEventSelectorFieldSelectorOutputWithContext(context.Context) TrailAdvancedEventSelectorFieldSelectorOutput
}

TrailAdvancedEventSelectorFieldSelectorInput is an input type that accepts TrailAdvancedEventSelectorFieldSelectorArgs and TrailAdvancedEventSelectorFieldSelectorOutput values. You can construct a concrete instance of `TrailAdvancedEventSelectorFieldSelectorInput` via:

TrailAdvancedEventSelectorFieldSelectorArgs{...}

type TrailAdvancedEventSelectorFieldSelectorOutput ¶

type TrailAdvancedEventSelectorFieldSelectorOutput struct{ *pulumi.OutputState }

func (TrailAdvancedEventSelectorFieldSelectorOutput) ElementType ¶

func (TrailAdvancedEventSelectorFieldSelectorOutput) EndsWiths ¶

A list of values that includes events that match the last few characters of the event record field specified as the value of `field`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) Equals ¶

A list of values that includes events that match the exact value of the event record field specified as the value of `field`. This is the only valid operator that you can use with the `readOnly`, `eventCategory`, and `resources.type` fields.

func (TrailAdvancedEventSelectorFieldSelectorOutput) Field ¶

Field in an event record on which to filter events to be logged. You can specify only the following values: `readOnly`, `eventSource`, `eventName`, `eventCategory`, `resources.type`, `resources.ARN`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) NotEndsWiths ¶

A list of values that excludes events that match the last few characters of the event record field specified as the value of `field`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) NotEquals ¶

A list of values that excludes events that match the exact value of the event record field specified as the value of `field`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) NotStartsWiths ¶

A list of values that excludes events that match the first few characters of the event record field specified as the value of `field`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) StartsWiths ¶

A list of values that includes events that match the first few characters of the event record field specified as the value of `field`.

func (TrailAdvancedEventSelectorFieldSelectorOutput) ToTrailAdvancedEventSelectorFieldSelectorOutput ¶

func (o TrailAdvancedEventSelectorFieldSelectorOutput) ToTrailAdvancedEventSelectorFieldSelectorOutput() TrailAdvancedEventSelectorFieldSelectorOutput

func (TrailAdvancedEventSelectorFieldSelectorOutput) ToTrailAdvancedEventSelectorFieldSelectorOutputWithContext ¶

func (o TrailAdvancedEventSelectorFieldSelectorOutput) ToTrailAdvancedEventSelectorFieldSelectorOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorFieldSelectorOutput

type TrailAdvancedEventSelectorInput ¶

type TrailAdvancedEventSelectorInput interface {
	pulumi.Input

	ToTrailAdvancedEventSelectorOutput() TrailAdvancedEventSelectorOutput
	ToTrailAdvancedEventSelectorOutputWithContext(context.Context) TrailAdvancedEventSelectorOutput
}

TrailAdvancedEventSelectorInput is an input type that accepts TrailAdvancedEventSelectorArgs and TrailAdvancedEventSelectorOutput values. You can construct a concrete instance of `TrailAdvancedEventSelectorInput` via:

TrailAdvancedEventSelectorArgs{...}

type TrailAdvancedEventSelectorOutput ¶

type TrailAdvancedEventSelectorOutput struct{ *pulumi.OutputState }

func (TrailAdvancedEventSelectorOutput) ElementType ¶

func (TrailAdvancedEventSelectorOutput) FieldSelectors ¶

Specifies the selector statements in an advanced event selector. Fields documented below.

func (TrailAdvancedEventSelectorOutput) Name ¶

Name of the trail.

func (TrailAdvancedEventSelectorOutput) ToTrailAdvancedEventSelectorOutput ¶

func (o TrailAdvancedEventSelectorOutput) ToTrailAdvancedEventSelectorOutput() TrailAdvancedEventSelectorOutput

func (TrailAdvancedEventSelectorOutput) ToTrailAdvancedEventSelectorOutputWithContext ¶

func (o TrailAdvancedEventSelectorOutput) ToTrailAdvancedEventSelectorOutputWithContext(ctx context.Context) TrailAdvancedEventSelectorOutput

type TrailArgs ¶

type TrailArgs struct {
	// Specifies an advanced event selector for enabling data event logging. Fields documented below. Conflicts with `eventSelector`.
	AdvancedEventSelectors TrailAdvancedEventSelectorArrayInput
	// Log group name using an ARN that represents the log group to which CloudTrail logs will be delivered. Note that CloudTrail requires the Log Stream wildcard.
	CloudWatchLogsGroupArn pulumi.StringPtrInput
	// Role for the CloudWatch Logs endpoint to assume to write to a user’s log group.
	CloudWatchLogsRoleArn pulumi.StringPtrInput
	// Whether log file integrity validation is enabled. Defaults to `false`.
	EnableLogFileValidation pulumi.BoolPtrInput
	// Enables logging for the trail. When set to `true`, logging is started by calling the [`StartLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html) API. When set to `false`, logging is stopped by calling the [`StopLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html) API. Defaults to `true`.
	EnableLogging pulumi.BoolPtrInput
	// Specifies an event selector for enabling data event logging. Fields documented below. Please note the [CloudTrail limits](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) when configuring these. Conflicts with `advancedEventSelector`.
	EventSelectors TrailEventSelectorArrayInput
	// Whether the trail is publishing events from global services such as IAM to the log files. Defaults to `true`.
	IncludeGlobalServiceEvents pulumi.BoolPtrInput
	// Configuration block for identifying unusual operational activity. See details below.
	InsightSelectors TrailInsightSelectorArrayInput
	// Whether the trail is created in the current region or in all regions. Defaults to `false`.
	IsMultiRegionTrail pulumi.BoolPtrInput
	// Whether the trail is an AWS Organizations trail. Organization trails log events for the master account and all member accounts. Can only be created in the organization master account. Defaults to `false`.
	IsOrganizationTrail pulumi.BoolPtrInput
	// KMS key ARN to use to encrypt the logs delivered by CloudTrail.
	KmsKeyId pulumi.StringPtrInput
	// Name of the trail.
	Name pulumi.StringPtrInput
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringPtrInput
	// Name of the S3 bucket designated for publishing log files.
	//
	// The following arguments are optional:
	S3BucketName pulumi.StringInput
	// S3 key prefix that follows the name of the bucket you have designated for log file delivery.
	S3KeyPrefix pulumi.StringPtrInput
	// Name of the Amazon SNS topic defined for notification of log file delivery. Specify the SNS topic ARN if it resides in another region.
	SnsTopicName pulumi.StringPtrInput
	// Map of tags to assign to the trail. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Trail resource.

func (TrailArgs) ElementType ¶

func (TrailArgs) ElementType() reflect.Type

type TrailArray ¶

type TrailArray []TrailInput

func (TrailArray) ElementType ¶

func (TrailArray) ElementType() reflect.Type

func (TrailArray) ToTrailArrayOutput ¶

func (i TrailArray) ToTrailArrayOutput() TrailArrayOutput

func (TrailArray) ToTrailArrayOutputWithContext ¶

func (i TrailArray) ToTrailArrayOutputWithContext(ctx context.Context) TrailArrayOutput

type TrailArrayInput ¶

type TrailArrayInput interface {
	pulumi.Input

	ToTrailArrayOutput() TrailArrayOutput
	ToTrailArrayOutputWithContext(context.Context) TrailArrayOutput
}

TrailArrayInput is an input type that accepts TrailArray and TrailArrayOutput values. You can construct a concrete instance of `TrailArrayInput` via:

TrailArray{ TrailArgs{...} }

type TrailArrayOutput ¶

type TrailArrayOutput struct{ *pulumi.OutputState }

func (TrailArrayOutput) ElementType ¶

func (TrailArrayOutput) ElementType() reflect.Type

func (TrailArrayOutput) Index ¶

func (TrailArrayOutput) ToTrailArrayOutput ¶

func (o TrailArrayOutput) ToTrailArrayOutput() TrailArrayOutput

func (TrailArrayOutput) ToTrailArrayOutputWithContext ¶

func (o TrailArrayOutput) ToTrailArrayOutputWithContext(ctx context.Context) TrailArrayOutput

type TrailEventSelector ¶

type TrailEventSelector struct {
	// Configuration block for data events. See details below.
	DataResources []TrailEventSelectorDataResource `pulumi:"dataResources"`
	// A set of event sources to exclude. Valid values include: `kms.amazonaws.com` and `rdsdata.amazonaws.com`. `includeManagementEvents` must be set to`true` to allow this.
	ExcludeManagementEventSources []string `pulumi:"excludeManagementEventSources"`
	// Whether to include management events for your trail. Defaults to `true`.
	IncludeManagementEvents *bool `pulumi:"includeManagementEvents"`
	// Type of events to log. Valid values are `ReadOnly`, `WriteOnly`, `All`. Default value is `All`.
	ReadWriteType *string `pulumi:"readWriteType"`
}

type TrailEventSelectorArgs ¶

type TrailEventSelectorArgs struct {
	// Configuration block for data events. See details below.
	DataResources TrailEventSelectorDataResourceArrayInput `pulumi:"dataResources"`
	// A set of event sources to exclude. Valid values include: `kms.amazonaws.com` and `rdsdata.amazonaws.com`. `includeManagementEvents` must be set to`true` to allow this.
	ExcludeManagementEventSources pulumi.StringArrayInput `pulumi:"excludeManagementEventSources"`
	// Whether to include management events for your trail. Defaults to `true`.
	IncludeManagementEvents pulumi.BoolPtrInput `pulumi:"includeManagementEvents"`
	// Type of events to log. Valid values are `ReadOnly`, `WriteOnly`, `All`. Default value is `All`.
	ReadWriteType pulumi.StringPtrInput `pulumi:"readWriteType"`
}

func (TrailEventSelectorArgs) ElementType ¶

func (TrailEventSelectorArgs) ElementType() reflect.Type

func (TrailEventSelectorArgs) ToTrailEventSelectorOutput ¶

func (i TrailEventSelectorArgs) ToTrailEventSelectorOutput() TrailEventSelectorOutput

func (TrailEventSelectorArgs) ToTrailEventSelectorOutputWithContext ¶

func (i TrailEventSelectorArgs) ToTrailEventSelectorOutputWithContext(ctx context.Context) TrailEventSelectorOutput

type TrailEventSelectorArray ¶

type TrailEventSelectorArray []TrailEventSelectorInput

func (TrailEventSelectorArray) ElementType ¶

func (TrailEventSelectorArray) ElementType() reflect.Type

func (TrailEventSelectorArray) ToTrailEventSelectorArrayOutput ¶

func (i TrailEventSelectorArray) ToTrailEventSelectorArrayOutput() TrailEventSelectorArrayOutput

func (TrailEventSelectorArray) ToTrailEventSelectorArrayOutputWithContext ¶

func (i TrailEventSelectorArray) ToTrailEventSelectorArrayOutputWithContext(ctx context.Context) TrailEventSelectorArrayOutput

type TrailEventSelectorArrayInput ¶

type TrailEventSelectorArrayInput interface {
	pulumi.Input

	ToTrailEventSelectorArrayOutput() TrailEventSelectorArrayOutput
	ToTrailEventSelectorArrayOutputWithContext(context.Context) TrailEventSelectorArrayOutput
}

TrailEventSelectorArrayInput is an input type that accepts TrailEventSelectorArray and TrailEventSelectorArrayOutput values. You can construct a concrete instance of `TrailEventSelectorArrayInput` via:

TrailEventSelectorArray{ TrailEventSelectorArgs{...} }

type TrailEventSelectorArrayOutput ¶

type TrailEventSelectorArrayOutput struct{ *pulumi.OutputState }

func (TrailEventSelectorArrayOutput) ElementType ¶

func (TrailEventSelectorArrayOutput) Index ¶

func (TrailEventSelectorArrayOutput) ToTrailEventSelectorArrayOutput ¶

func (o TrailEventSelectorArrayOutput) ToTrailEventSelectorArrayOutput() TrailEventSelectorArrayOutput

func (TrailEventSelectorArrayOutput) ToTrailEventSelectorArrayOutputWithContext ¶

func (o TrailEventSelectorArrayOutput) ToTrailEventSelectorArrayOutputWithContext(ctx context.Context) TrailEventSelectorArrayOutput

type TrailEventSelectorDataResource ¶

type TrailEventSelectorDataResource struct {
	// Resource type in which you want to log data events. You can specify only the following value: "AWS::S3::Object", "AWS::Lambda::Function" and "AWS::DynamoDB::Table".
	Type string `pulumi:"type"`
	// List of ARN strings or partial ARN strings to specify selectors for data audit events over data resources. ARN list is specific to single-valued `type`. For example, `arn:aws:s3:::<bucket name>/` for all objects in a bucket, `arn:aws:s3:::<bucket name>/key` for specific objects, `arn:aws:lambda` for all lambda events within an account, `arn:aws:lambda:<region>:<account number>:function:<function name>` for a specific Lambda function, `arn:aws:dynamodb` for all DDB events for all tables within an account, or `arn:aws:dynamodb:<region>:<account number>:table/<table name>` for a specific DynamoDB table.
	Values []string `pulumi:"values"`
}

type TrailEventSelectorDataResourceArgs ¶

type TrailEventSelectorDataResourceArgs struct {
	// Resource type in which you want to log data events. You can specify only the following value: "AWS::S3::Object", "AWS::Lambda::Function" and "AWS::DynamoDB::Table".
	Type pulumi.StringInput `pulumi:"type"`
	// List of ARN strings or partial ARN strings to specify selectors for data audit events over data resources. ARN list is specific to single-valued `type`. For example, `arn:aws:s3:::<bucket name>/` for all objects in a bucket, `arn:aws:s3:::<bucket name>/key` for specific objects, `arn:aws:lambda` for all lambda events within an account, `arn:aws:lambda:<region>:<account number>:function:<function name>` for a specific Lambda function, `arn:aws:dynamodb` for all DDB events for all tables within an account, or `arn:aws:dynamodb:<region>:<account number>:table/<table name>` for a specific DynamoDB table.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (TrailEventSelectorDataResourceArgs) ElementType ¶

func (TrailEventSelectorDataResourceArgs) ToTrailEventSelectorDataResourceOutput ¶

func (i TrailEventSelectorDataResourceArgs) ToTrailEventSelectorDataResourceOutput() TrailEventSelectorDataResourceOutput

func (TrailEventSelectorDataResourceArgs) ToTrailEventSelectorDataResourceOutputWithContext ¶

func (i TrailEventSelectorDataResourceArgs) ToTrailEventSelectorDataResourceOutputWithContext(ctx context.Context) TrailEventSelectorDataResourceOutput

type TrailEventSelectorDataResourceArray ¶

type TrailEventSelectorDataResourceArray []TrailEventSelectorDataResourceInput

func (TrailEventSelectorDataResourceArray) ElementType ¶

func (TrailEventSelectorDataResourceArray) ToTrailEventSelectorDataResourceArrayOutput ¶

func (i TrailEventSelectorDataResourceArray) ToTrailEventSelectorDataResourceArrayOutput() TrailEventSelectorDataResourceArrayOutput

func (TrailEventSelectorDataResourceArray) ToTrailEventSelectorDataResourceArrayOutputWithContext ¶

func (i TrailEventSelectorDataResourceArray) ToTrailEventSelectorDataResourceArrayOutputWithContext(ctx context.Context) TrailEventSelectorDataResourceArrayOutput

type TrailEventSelectorDataResourceArrayInput ¶

type TrailEventSelectorDataResourceArrayInput interface {
	pulumi.Input

	ToTrailEventSelectorDataResourceArrayOutput() TrailEventSelectorDataResourceArrayOutput
	ToTrailEventSelectorDataResourceArrayOutputWithContext(context.Context) TrailEventSelectorDataResourceArrayOutput
}

TrailEventSelectorDataResourceArrayInput is an input type that accepts TrailEventSelectorDataResourceArray and TrailEventSelectorDataResourceArrayOutput values. You can construct a concrete instance of `TrailEventSelectorDataResourceArrayInput` via:

TrailEventSelectorDataResourceArray{ TrailEventSelectorDataResourceArgs{...} }

type TrailEventSelectorDataResourceArrayOutput ¶

type TrailEventSelectorDataResourceArrayOutput struct{ *pulumi.OutputState }

func (TrailEventSelectorDataResourceArrayOutput) ElementType ¶

func (TrailEventSelectorDataResourceArrayOutput) Index ¶

func (TrailEventSelectorDataResourceArrayOutput) ToTrailEventSelectorDataResourceArrayOutput ¶

func (o TrailEventSelectorDataResourceArrayOutput) ToTrailEventSelectorDataResourceArrayOutput() TrailEventSelectorDataResourceArrayOutput

func (TrailEventSelectorDataResourceArrayOutput) ToTrailEventSelectorDataResourceArrayOutputWithContext ¶

func (o TrailEventSelectorDataResourceArrayOutput) ToTrailEventSelectorDataResourceArrayOutputWithContext(ctx context.Context) TrailEventSelectorDataResourceArrayOutput

type TrailEventSelectorDataResourceInput ¶

type TrailEventSelectorDataResourceInput interface {
	pulumi.Input

	ToTrailEventSelectorDataResourceOutput() TrailEventSelectorDataResourceOutput
	ToTrailEventSelectorDataResourceOutputWithContext(context.Context) TrailEventSelectorDataResourceOutput
}

TrailEventSelectorDataResourceInput is an input type that accepts TrailEventSelectorDataResourceArgs and TrailEventSelectorDataResourceOutput values. You can construct a concrete instance of `TrailEventSelectorDataResourceInput` via:

TrailEventSelectorDataResourceArgs{...}

type TrailEventSelectorDataResourceOutput ¶

type TrailEventSelectorDataResourceOutput struct{ *pulumi.OutputState }

func (TrailEventSelectorDataResourceOutput) ElementType ¶

func (TrailEventSelectorDataResourceOutput) ToTrailEventSelectorDataResourceOutput ¶

func (o TrailEventSelectorDataResourceOutput) ToTrailEventSelectorDataResourceOutput() TrailEventSelectorDataResourceOutput

func (TrailEventSelectorDataResourceOutput) ToTrailEventSelectorDataResourceOutputWithContext ¶

func (o TrailEventSelectorDataResourceOutput) ToTrailEventSelectorDataResourceOutputWithContext(ctx context.Context) TrailEventSelectorDataResourceOutput

func (TrailEventSelectorDataResourceOutput) Type ¶

Resource type in which you want to log data events. You can specify only the following value: "AWS::S3::Object", "AWS::Lambda::Function" and "AWS::DynamoDB::Table".

func (TrailEventSelectorDataResourceOutput) Values ¶

List of ARN strings or partial ARN strings to specify selectors for data audit events over data resources. ARN list is specific to single-valued `type`. For example, `arn:aws:s3:::<bucket name>/` for all objects in a bucket, `arn:aws:s3:::<bucket name>/key` for specific objects, `arn:aws:lambda` for all lambda events within an account, `arn:aws:lambda:<region>:<account number>:function:<function name>` for a specific Lambda function, `arn:aws:dynamodb` for all DDB events for all tables within an account, or `arn:aws:dynamodb:<region>:<account number>:table/<table name>` for a specific DynamoDB table.

type TrailEventSelectorInput ¶

type TrailEventSelectorInput interface {
	pulumi.Input

	ToTrailEventSelectorOutput() TrailEventSelectorOutput
	ToTrailEventSelectorOutputWithContext(context.Context) TrailEventSelectorOutput
}

TrailEventSelectorInput is an input type that accepts TrailEventSelectorArgs and TrailEventSelectorOutput values. You can construct a concrete instance of `TrailEventSelectorInput` via:

TrailEventSelectorArgs{...}

type TrailEventSelectorOutput ¶

type TrailEventSelectorOutput struct{ *pulumi.OutputState }

func (TrailEventSelectorOutput) DataResources ¶

Configuration block for data events. See details below.

func (TrailEventSelectorOutput) ElementType ¶

func (TrailEventSelectorOutput) ElementType() reflect.Type

func (TrailEventSelectorOutput) ExcludeManagementEventSources ¶

func (o TrailEventSelectorOutput) ExcludeManagementEventSources() pulumi.StringArrayOutput

A set of event sources to exclude. Valid values include: `kms.amazonaws.com` and `rdsdata.amazonaws.com`. `includeManagementEvents` must be set to`true` to allow this.

func (TrailEventSelectorOutput) IncludeManagementEvents ¶

func (o TrailEventSelectorOutput) IncludeManagementEvents() pulumi.BoolPtrOutput

Whether to include management events for your trail. Defaults to `true`.

func (TrailEventSelectorOutput) ReadWriteType ¶

Type of events to log. Valid values are `ReadOnly`, `WriteOnly`, `All`. Default value is `All`.

func (TrailEventSelectorOutput) ToTrailEventSelectorOutput ¶

func (o TrailEventSelectorOutput) ToTrailEventSelectorOutput() TrailEventSelectorOutput

func (TrailEventSelectorOutput) ToTrailEventSelectorOutputWithContext ¶

func (o TrailEventSelectorOutput) ToTrailEventSelectorOutputWithContext(ctx context.Context) TrailEventSelectorOutput

type TrailInput ¶

type TrailInput interface {
	pulumi.Input

	ToTrailOutput() TrailOutput
	ToTrailOutputWithContext(ctx context.Context) TrailOutput
}

type TrailInsightSelector ¶

type TrailInsightSelector struct {
	// Type of insights to log on a trail. Valid values are: `ApiCallRateInsight` and `ApiErrorRateInsight`.
	InsightType string `pulumi:"insightType"`
}

type TrailInsightSelectorArgs ¶

type TrailInsightSelectorArgs struct {
	// Type of insights to log on a trail. Valid values are: `ApiCallRateInsight` and `ApiErrorRateInsight`.
	InsightType pulumi.StringInput `pulumi:"insightType"`
}

func (TrailInsightSelectorArgs) ElementType ¶

func (TrailInsightSelectorArgs) ElementType() reflect.Type

func (TrailInsightSelectorArgs) ToTrailInsightSelectorOutput ¶

func (i TrailInsightSelectorArgs) ToTrailInsightSelectorOutput() TrailInsightSelectorOutput

func (TrailInsightSelectorArgs) ToTrailInsightSelectorOutputWithContext ¶

func (i TrailInsightSelectorArgs) ToTrailInsightSelectorOutputWithContext(ctx context.Context) TrailInsightSelectorOutput

type TrailInsightSelectorArray ¶

type TrailInsightSelectorArray []TrailInsightSelectorInput

func (TrailInsightSelectorArray) ElementType ¶

func (TrailInsightSelectorArray) ElementType() reflect.Type

func (TrailInsightSelectorArray) ToTrailInsightSelectorArrayOutput ¶

func (i TrailInsightSelectorArray) ToTrailInsightSelectorArrayOutput() TrailInsightSelectorArrayOutput

func (TrailInsightSelectorArray) ToTrailInsightSelectorArrayOutputWithContext ¶

func (i TrailInsightSelectorArray) ToTrailInsightSelectorArrayOutputWithContext(ctx context.Context) TrailInsightSelectorArrayOutput

type TrailInsightSelectorArrayInput ¶

type TrailInsightSelectorArrayInput interface {
	pulumi.Input

	ToTrailInsightSelectorArrayOutput() TrailInsightSelectorArrayOutput
	ToTrailInsightSelectorArrayOutputWithContext(context.Context) TrailInsightSelectorArrayOutput
}

TrailInsightSelectorArrayInput is an input type that accepts TrailInsightSelectorArray and TrailInsightSelectorArrayOutput values. You can construct a concrete instance of `TrailInsightSelectorArrayInput` via:

TrailInsightSelectorArray{ TrailInsightSelectorArgs{...} }

type TrailInsightSelectorArrayOutput ¶

type TrailInsightSelectorArrayOutput struct{ *pulumi.OutputState }

func (TrailInsightSelectorArrayOutput) ElementType ¶

func (TrailInsightSelectorArrayOutput) Index ¶

func (TrailInsightSelectorArrayOutput) ToTrailInsightSelectorArrayOutput ¶

func (o TrailInsightSelectorArrayOutput) ToTrailInsightSelectorArrayOutput() TrailInsightSelectorArrayOutput

func (TrailInsightSelectorArrayOutput) ToTrailInsightSelectorArrayOutputWithContext ¶

func (o TrailInsightSelectorArrayOutput) ToTrailInsightSelectorArrayOutputWithContext(ctx context.Context) TrailInsightSelectorArrayOutput

type TrailInsightSelectorInput ¶

type TrailInsightSelectorInput interface {
	pulumi.Input

	ToTrailInsightSelectorOutput() TrailInsightSelectorOutput
	ToTrailInsightSelectorOutputWithContext(context.Context) TrailInsightSelectorOutput
}

TrailInsightSelectorInput is an input type that accepts TrailInsightSelectorArgs and TrailInsightSelectorOutput values. You can construct a concrete instance of `TrailInsightSelectorInput` via:

TrailInsightSelectorArgs{...}

type TrailInsightSelectorOutput ¶

type TrailInsightSelectorOutput struct{ *pulumi.OutputState }

func (TrailInsightSelectorOutput) ElementType ¶

func (TrailInsightSelectorOutput) ElementType() reflect.Type

func (TrailInsightSelectorOutput) InsightType ¶

Type of insights to log on a trail. Valid values are: `ApiCallRateInsight` and `ApiErrorRateInsight`.

func (TrailInsightSelectorOutput) ToTrailInsightSelectorOutput ¶

func (o TrailInsightSelectorOutput) ToTrailInsightSelectorOutput() TrailInsightSelectorOutput

func (TrailInsightSelectorOutput) ToTrailInsightSelectorOutputWithContext ¶

func (o TrailInsightSelectorOutput) ToTrailInsightSelectorOutputWithContext(ctx context.Context) TrailInsightSelectorOutput

type TrailMap ¶

type TrailMap map[string]TrailInput

func (TrailMap) ElementType ¶

func (TrailMap) ElementType() reflect.Type

func (TrailMap) ToTrailMapOutput ¶

func (i TrailMap) ToTrailMapOutput() TrailMapOutput

func (TrailMap) ToTrailMapOutputWithContext ¶

func (i TrailMap) ToTrailMapOutputWithContext(ctx context.Context) TrailMapOutput

type TrailMapInput ¶

type TrailMapInput interface {
	pulumi.Input

	ToTrailMapOutput() TrailMapOutput
	ToTrailMapOutputWithContext(context.Context) TrailMapOutput
}

TrailMapInput is an input type that accepts TrailMap and TrailMapOutput values. You can construct a concrete instance of `TrailMapInput` via:

TrailMap{ "key": TrailArgs{...} }

type TrailMapOutput ¶

type TrailMapOutput struct{ *pulumi.OutputState }

func (TrailMapOutput) ElementType ¶

func (TrailMapOutput) ElementType() reflect.Type

func (TrailMapOutput) MapIndex ¶

func (TrailMapOutput) ToTrailMapOutput ¶

func (o TrailMapOutput) ToTrailMapOutput() TrailMapOutput

func (TrailMapOutput) ToTrailMapOutputWithContext ¶

func (o TrailMapOutput) ToTrailMapOutputWithContext(ctx context.Context) TrailMapOutput

type TrailOutput ¶

type TrailOutput struct{ *pulumi.OutputState }

func (TrailOutput) AdvancedEventSelectors ¶

func (o TrailOutput) AdvancedEventSelectors() TrailAdvancedEventSelectorArrayOutput

Specifies an advanced event selector for enabling data event logging. Fields documented below. Conflicts with `eventSelector`.

func (TrailOutput) Arn ¶

ARN of the trail.

func (TrailOutput) CloudWatchLogsGroupArn ¶

func (o TrailOutput) CloudWatchLogsGroupArn() pulumi.StringPtrOutput

Log group name using an ARN that represents the log group to which CloudTrail logs will be delivered. Note that CloudTrail requires the Log Stream wildcard.

func (TrailOutput) CloudWatchLogsRoleArn ¶

func (o TrailOutput) CloudWatchLogsRoleArn() pulumi.StringPtrOutput

Role for the CloudWatch Logs endpoint to assume to write to a user’s log group.

func (TrailOutput) ElementType ¶

func (TrailOutput) ElementType() reflect.Type

func (TrailOutput) EnableLogFileValidation ¶

func (o TrailOutput) EnableLogFileValidation() pulumi.BoolPtrOutput

Whether log file integrity validation is enabled. Defaults to `false`.

func (TrailOutput) EnableLogging ¶

func (o TrailOutput) EnableLogging() pulumi.BoolPtrOutput

Enables logging for the trail. When set to `true`, logging is started by calling the [`StartLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html) API. When set to `false`, logging is stopped by calling the [`StopLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html) API. Defaults to `true`.

func (TrailOutput) EventSelectors ¶

func (o TrailOutput) EventSelectors() TrailEventSelectorArrayOutput

Specifies an event selector for enabling data event logging. Fields documented below. Please note the [CloudTrail limits](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) when configuring these. Conflicts with `advancedEventSelector`.

func (TrailOutput) HomeRegion ¶

func (o TrailOutput) HomeRegion() pulumi.StringOutput

Region in which the trail was created.

func (TrailOutput) IncludeGlobalServiceEvents ¶

func (o TrailOutput) IncludeGlobalServiceEvents() pulumi.BoolPtrOutput

Whether the trail is publishing events from global services such as IAM to the log files. Defaults to `true`.

func (TrailOutput) InsightSelectors ¶

func (o TrailOutput) InsightSelectors() TrailInsightSelectorArrayOutput

Configuration block for identifying unusual operational activity. See details below.

func (TrailOutput) IsMultiRegionTrail ¶

func (o TrailOutput) IsMultiRegionTrail() pulumi.BoolPtrOutput

Whether the trail is created in the current region or in all regions. Defaults to `false`.

func (TrailOutput) IsOrganizationTrail ¶

func (o TrailOutput) IsOrganizationTrail() pulumi.BoolPtrOutput

Whether the trail is an AWS Organizations trail. Organization trails log events for the master account and all member accounts. Can only be created in the organization master account. Defaults to `false`.

func (TrailOutput) KmsKeyId ¶

func (o TrailOutput) KmsKeyId() pulumi.StringPtrOutput

KMS key ARN to use to encrypt the logs delivered by CloudTrail.

func (TrailOutput) Name ¶

func (o TrailOutput) Name() pulumi.StringOutput

Name of the trail.

func (TrailOutput) Region ¶

func (o TrailOutput) Region() pulumi.StringOutput

Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.

func (TrailOutput) S3BucketName ¶

func (o TrailOutput) S3BucketName() pulumi.StringOutput

Name of the S3 bucket designated for publishing log files.

The following arguments are optional:

func (TrailOutput) S3KeyPrefix ¶

func (o TrailOutput) S3KeyPrefix() pulumi.StringPtrOutput

S3 key prefix that follows the name of the bucket you have designated for log file delivery.

func (TrailOutput) SnsTopicArn ¶

func (o TrailOutput) SnsTopicArn() pulumi.StringOutput

ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered.

func (TrailOutput) SnsTopicName ¶

func (o TrailOutput) SnsTopicName() pulumi.StringPtrOutput

Name of the Amazon SNS topic defined for notification of log file delivery. Specify the SNS topic ARN if it resides in another region.

func (TrailOutput) Tags ¶

Map of tags to assign to the trail. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (TrailOutput) TagsAll ¶

func (o TrailOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (TrailOutput) ToTrailOutput ¶

func (o TrailOutput) ToTrailOutput() TrailOutput

func (TrailOutput) ToTrailOutputWithContext ¶

func (o TrailOutput) ToTrailOutputWithContext(ctx context.Context) TrailOutput

type TrailState ¶

type TrailState struct {
	// Specifies an advanced event selector for enabling data event logging. Fields documented below. Conflicts with `eventSelector`.
	AdvancedEventSelectors TrailAdvancedEventSelectorArrayInput
	// ARN of the trail.
	Arn pulumi.StringPtrInput
	// Log group name using an ARN that represents the log group to which CloudTrail logs will be delivered. Note that CloudTrail requires the Log Stream wildcard.
	CloudWatchLogsGroupArn pulumi.StringPtrInput
	// Role for the CloudWatch Logs endpoint to assume to write to a user’s log group.
	CloudWatchLogsRoleArn pulumi.StringPtrInput
	// Whether log file integrity validation is enabled. Defaults to `false`.
	EnableLogFileValidation pulumi.BoolPtrInput
	// Enables logging for the trail. When set to `true`, logging is started by calling the [`StartLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html) API. When set to `false`, logging is stopped by calling the [`StopLogging`](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html) API. Defaults to `true`.
	EnableLogging pulumi.BoolPtrInput
	// Specifies an event selector for enabling data event logging. Fields documented below. Please note the [CloudTrail limits](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) when configuring these. Conflicts with `advancedEventSelector`.
	EventSelectors TrailEventSelectorArrayInput
	// Region in which the trail was created.
	HomeRegion pulumi.StringPtrInput
	// Whether the trail is publishing events from global services such as IAM to the log files. Defaults to `true`.
	IncludeGlobalServiceEvents pulumi.BoolPtrInput
	// Configuration block for identifying unusual operational activity. See details below.
	InsightSelectors TrailInsightSelectorArrayInput
	// Whether the trail is created in the current region or in all regions. Defaults to `false`.
	IsMultiRegionTrail pulumi.BoolPtrInput
	// Whether the trail is an AWS Organizations trail. Organization trails log events for the master account and all member accounts. Can only be created in the organization master account. Defaults to `false`.
	IsOrganizationTrail pulumi.BoolPtrInput
	// KMS key ARN to use to encrypt the logs delivered by CloudTrail.
	KmsKeyId pulumi.StringPtrInput
	// Name of the trail.
	Name pulumi.StringPtrInput
	// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
	Region pulumi.StringPtrInput
	// Name of the S3 bucket designated for publishing log files.
	//
	// The following arguments are optional:
	S3BucketName pulumi.StringPtrInput
	// S3 key prefix that follows the name of the bucket you have designated for log file delivery.
	S3KeyPrefix pulumi.StringPtrInput
	// ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered.
	SnsTopicArn pulumi.StringPtrInput
	// Name of the Amazon SNS topic defined for notification of log file delivery. Specify the SNS topic ARN if it resides in another region.
	SnsTopicName pulumi.StringPtrInput
	// Map of tags to assign to the trail. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (TrailState) ElementType ¶

func (TrailState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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