guardduty

package
v4.38.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Detector

type Detector struct {
	pulumi.CustomResourceState

	// The AWS account ID of the GuardDuty detector
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// Amazon Resource Name (ARN) of the GuardDuty detector
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Describes which data sources will be enabled for the detector. See Data Sources below for more details.
	Datasources DetectorDatasourcesOutput `pulumi:"datasources"`
	// If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.
	Enable pulumi.BoolPtrOutput `pulumi:"enable"`
	// Specifies the frequency of notifications sent for subsequent finding occurrences. If the detector is a GuardDuty member account, the value is determined by the GuardDuty primary account and cannot be modified, otherwise defaults to `SIX_HOURS`. For standalone and GuardDuty primary accounts, it must be configured in this provider to enable drift detection. Valid values for standalone and primary accounts: `FIFTEEN_MINUTES`, `ONE_HOUR`, `SIX_HOURS`. See [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings_cloudwatch.html#guardduty_findings_cloudwatch_notification_frequency) for more information.
	FindingPublishingFrequency pulumi.StringOutput `pulumi:"findingPublishingFrequency"`
	// Key-value map of resource tags. 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"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to manage a GuardDuty detector.

> **NOTE:** Deleting this resource is equivalent to "disabling" GuardDuty for an AWS region, which removes all existing findings. You can set the `enable` attribute to `false` to instead "suspend" monitoring and feedback reporting while keeping existing data. See the [Suspending or Disabling Amazon GuardDuty documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_suspend-disable.html) for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := guardduty.NewDetector(ctx, "myDetector", &guardduty.DetectorArgs{
			Datasources: &guardduty.DetectorDatasourcesArgs{
				S3Logs: &guardduty.DetectorDatasourcesS3LogsArgs{
					Enable: pulumi.Bool(true),
				},
			},
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty detectors can be imported using the detector ID, e.g.,

```sh

$ pulumi import aws:guardduty/detector:Detector MyDetector 00b00fd5aecc0ab60a708659477e9617

```

func GetDetector

func GetDetector(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DetectorState, opts ...pulumi.ResourceOption) (*Detector, error)

GetDetector gets an existing Detector 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 NewDetector

func NewDetector(ctx *pulumi.Context,
	name string, args *DetectorArgs, opts ...pulumi.ResourceOption) (*Detector, error)

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

func (*Detector) ElementType

func (*Detector) ElementType() reflect.Type

func (*Detector) ToDetectorOutput

func (i *Detector) ToDetectorOutput() DetectorOutput

func (*Detector) ToDetectorOutputWithContext

func (i *Detector) ToDetectorOutputWithContext(ctx context.Context) DetectorOutput

type DetectorArgs

type DetectorArgs struct {
	// Describes which data sources will be enabled for the detector. See Data Sources below for more details.
	Datasources DetectorDatasourcesPtrInput
	// If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.
	Enable pulumi.BoolPtrInput
	// Specifies the frequency of notifications sent for subsequent finding occurrences. If the detector is a GuardDuty member account, the value is determined by the GuardDuty primary account and cannot be modified, otherwise defaults to `SIX_HOURS`. For standalone and GuardDuty primary accounts, it must be configured in this provider to enable drift detection. Valid values for standalone and primary accounts: `FIFTEEN_MINUTES`, `ONE_HOUR`, `SIX_HOURS`. See [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings_cloudwatch.html#guardduty_findings_cloudwatch_notification_frequency) for more information.
	FindingPublishingFrequency pulumi.StringPtrInput
	// Key-value map of resource tags. 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 Detector resource.

func (DetectorArgs) ElementType

func (DetectorArgs) ElementType() reflect.Type

type DetectorArray

type DetectorArray []DetectorInput

func (DetectorArray) ElementType

func (DetectorArray) ElementType() reflect.Type

func (DetectorArray) ToDetectorArrayOutput

func (i DetectorArray) ToDetectorArrayOutput() DetectorArrayOutput

func (DetectorArray) ToDetectorArrayOutputWithContext

func (i DetectorArray) ToDetectorArrayOutputWithContext(ctx context.Context) DetectorArrayOutput

type DetectorArrayInput

type DetectorArrayInput interface {
	pulumi.Input

	ToDetectorArrayOutput() DetectorArrayOutput
	ToDetectorArrayOutputWithContext(context.Context) DetectorArrayOutput
}

DetectorArrayInput is an input type that accepts DetectorArray and DetectorArrayOutput values. You can construct a concrete instance of `DetectorArrayInput` via:

DetectorArray{ DetectorArgs{...} }

type DetectorArrayOutput

type DetectorArrayOutput struct{ *pulumi.OutputState }

func (DetectorArrayOutput) ElementType

func (DetectorArrayOutput) ElementType() reflect.Type

func (DetectorArrayOutput) Index

func (DetectorArrayOutput) ToDetectorArrayOutput

func (o DetectorArrayOutput) ToDetectorArrayOutput() DetectorArrayOutput

func (DetectorArrayOutput) ToDetectorArrayOutputWithContext

func (o DetectorArrayOutput) ToDetectorArrayOutputWithContext(ctx context.Context) DetectorArrayOutput

type DetectorDatasources added in v4.13.0

type DetectorDatasources struct {
	// Describes whether S3 data event logs are enabled as a data source. See S3 Logs below for more details.
	S3Logs *DetectorDatasourcesS3Logs `pulumi:"s3Logs"`
}

type DetectorDatasourcesArgs added in v4.13.0

type DetectorDatasourcesArgs struct {
	// Describes whether S3 data event logs are enabled as a data source. See S3 Logs below for more details.
	S3Logs DetectorDatasourcesS3LogsPtrInput `pulumi:"s3Logs"`
}

func (DetectorDatasourcesArgs) ElementType added in v4.13.0

func (DetectorDatasourcesArgs) ElementType() reflect.Type

func (DetectorDatasourcesArgs) ToDetectorDatasourcesOutput added in v4.13.0

func (i DetectorDatasourcesArgs) ToDetectorDatasourcesOutput() DetectorDatasourcesOutput

func (DetectorDatasourcesArgs) ToDetectorDatasourcesOutputWithContext added in v4.13.0

func (i DetectorDatasourcesArgs) ToDetectorDatasourcesOutputWithContext(ctx context.Context) DetectorDatasourcesOutput

func (DetectorDatasourcesArgs) ToDetectorDatasourcesPtrOutput added in v4.13.0

func (i DetectorDatasourcesArgs) ToDetectorDatasourcesPtrOutput() DetectorDatasourcesPtrOutput

func (DetectorDatasourcesArgs) ToDetectorDatasourcesPtrOutputWithContext added in v4.13.0

func (i DetectorDatasourcesArgs) ToDetectorDatasourcesPtrOutputWithContext(ctx context.Context) DetectorDatasourcesPtrOutput

type DetectorDatasourcesInput added in v4.13.0

type DetectorDatasourcesInput interface {
	pulumi.Input

	ToDetectorDatasourcesOutput() DetectorDatasourcesOutput
	ToDetectorDatasourcesOutputWithContext(context.Context) DetectorDatasourcesOutput
}

DetectorDatasourcesInput is an input type that accepts DetectorDatasourcesArgs and DetectorDatasourcesOutput values. You can construct a concrete instance of `DetectorDatasourcesInput` via:

DetectorDatasourcesArgs{...}

type DetectorDatasourcesOutput added in v4.13.0

type DetectorDatasourcesOutput struct{ *pulumi.OutputState }

func (DetectorDatasourcesOutput) ElementType added in v4.13.0

func (DetectorDatasourcesOutput) ElementType() reflect.Type

func (DetectorDatasourcesOutput) S3Logs added in v4.13.0

Describes whether S3 data event logs are enabled as a data source. See S3 Logs below for more details.

func (DetectorDatasourcesOutput) ToDetectorDatasourcesOutput added in v4.13.0

func (o DetectorDatasourcesOutput) ToDetectorDatasourcesOutput() DetectorDatasourcesOutput

func (DetectorDatasourcesOutput) ToDetectorDatasourcesOutputWithContext added in v4.13.0

func (o DetectorDatasourcesOutput) ToDetectorDatasourcesOutputWithContext(ctx context.Context) DetectorDatasourcesOutput

func (DetectorDatasourcesOutput) ToDetectorDatasourcesPtrOutput added in v4.13.0

func (o DetectorDatasourcesOutput) ToDetectorDatasourcesPtrOutput() DetectorDatasourcesPtrOutput

func (DetectorDatasourcesOutput) ToDetectorDatasourcesPtrOutputWithContext added in v4.13.0

func (o DetectorDatasourcesOutput) ToDetectorDatasourcesPtrOutputWithContext(ctx context.Context) DetectorDatasourcesPtrOutput

type DetectorDatasourcesPtrInput added in v4.13.0

type DetectorDatasourcesPtrInput interface {
	pulumi.Input

	ToDetectorDatasourcesPtrOutput() DetectorDatasourcesPtrOutput
	ToDetectorDatasourcesPtrOutputWithContext(context.Context) DetectorDatasourcesPtrOutput
}

DetectorDatasourcesPtrInput is an input type that accepts DetectorDatasourcesArgs, DetectorDatasourcesPtr and DetectorDatasourcesPtrOutput values. You can construct a concrete instance of `DetectorDatasourcesPtrInput` via:

        DetectorDatasourcesArgs{...}

or:

        nil

func DetectorDatasourcesPtr added in v4.13.0

func DetectorDatasourcesPtr(v *DetectorDatasourcesArgs) DetectorDatasourcesPtrInput

type DetectorDatasourcesPtrOutput added in v4.13.0

type DetectorDatasourcesPtrOutput struct{ *pulumi.OutputState }

func (DetectorDatasourcesPtrOutput) Elem added in v4.13.0

func (DetectorDatasourcesPtrOutput) ElementType added in v4.13.0

func (DetectorDatasourcesPtrOutput) S3Logs added in v4.13.0

Describes whether S3 data event logs are enabled as a data source. See S3 Logs below for more details.

func (DetectorDatasourcesPtrOutput) ToDetectorDatasourcesPtrOutput added in v4.13.0

func (o DetectorDatasourcesPtrOutput) ToDetectorDatasourcesPtrOutput() DetectorDatasourcesPtrOutput

func (DetectorDatasourcesPtrOutput) ToDetectorDatasourcesPtrOutputWithContext added in v4.13.0

func (o DetectorDatasourcesPtrOutput) ToDetectorDatasourcesPtrOutputWithContext(ctx context.Context) DetectorDatasourcesPtrOutput

type DetectorDatasourcesS3Logs added in v4.13.0

type DetectorDatasourcesS3Logs struct {
	// If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.
	Enable bool `pulumi:"enable"`
}

type DetectorDatasourcesS3LogsArgs added in v4.13.0

type DetectorDatasourcesS3LogsArgs struct {
	// If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.
	Enable pulumi.BoolInput `pulumi:"enable"`
}

func (DetectorDatasourcesS3LogsArgs) ElementType added in v4.13.0

func (DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsOutput added in v4.13.0

func (i DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsOutput() DetectorDatasourcesS3LogsOutput

func (DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsOutputWithContext added in v4.13.0

func (i DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsOutputWithContext(ctx context.Context) DetectorDatasourcesS3LogsOutput

func (DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsPtrOutput added in v4.13.0

func (i DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsPtrOutput() DetectorDatasourcesS3LogsPtrOutput

func (DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (i DetectorDatasourcesS3LogsArgs) ToDetectorDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) DetectorDatasourcesS3LogsPtrOutput

type DetectorDatasourcesS3LogsInput added in v4.13.0

type DetectorDatasourcesS3LogsInput interface {
	pulumi.Input

	ToDetectorDatasourcesS3LogsOutput() DetectorDatasourcesS3LogsOutput
	ToDetectorDatasourcesS3LogsOutputWithContext(context.Context) DetectorDatasourcesS3LogsOutput
}

DetectorDatasourcesS3LogsInput is an input type that accepts DetectorDatasourcesS3LogsArgs and DetectorDatasourcesS3LogsOutput values. You can construct a concrete instance of `DetectorDatasourcesS3LogsInput` via:

DetectorDatasourcesS3LogsArgs{...}

type DetectorDatasourcesS3LogsOutput added in v4.13.0

type DetectorDatasourcesS3LogsOutput struct{ *pulumi.OutputState }

func (DetectorDatasourcesS3LogsOutput) ElementType added in v4.13.0

func (DetectorDatasourcesS3LogsOutput) Enable added in v4.13.0

If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.

func (DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsOutput added in v4.13.0

func (o DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsOutput() DetectorDatasourcesS3LogsOutput

func (DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsOutputWithContext added in v4.13.0

func (o DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsOutputWithContext(ctx context.Context) DetectorDatasourcesS3LogsOutput

func (DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsPtrOutput added in v4.13.0

func (o DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsPtrOutput() DetectorDatasourcesS3LogsPtrOutput

func (DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (o DetectorDatasourcesS3LogsOutput) ToDetectorDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) DetectorDatasourcesS3LogsPtrOutput

type DetectorDatasourcesS3LogsPtrInput added in v4.13.0

type DetectorDatasourcesS3LogsPtrInput interface {
	pulumi.Input

	ToDetectorDatasourcesS3LogsPtrOutput() DetectorDatasourcesS3LogsPtrOutput
	ToDetectorDatasourcesS3LogsPtrOutputWithContext(context.Context) DetectorDatasourcesS3LogsPtrOutput
}

DetectorDatasourcesS3LogsPtrInput is an input type that accepts DetectorDatasourcesS3LogsArgs, DetectorDatasourcesS3LogsPtr and DetectorDatasourcesS3LogsPtrOutput values. You can construct a concrete instance of `DetectorDatasourcesS3LogsPtrInput` via:

        DetectorDatasourcesS3LogsArgs{...}

or:

        nil

func DetectorDatasourcesS3LogsPtr added in v4.13.0

type DetectorDatasourcesS3LogsPtrOutput added in v4.13.0

type DetectorDatasourcesS3LogsPtrOutput struct{ *pulumi.OutputState }

func (DetectorDatasourcesS3LogsPtrOutput) Elem added in v4.13.0

func (DetectorDatasourcesS3LogsPtrOutput) ElementType added in v4.13.0

func (DetectorDatasourcesS3LogsPtrOutput) Enable added in v4.13.0

If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.

func (DetectorDatasourcesS3LogsPtrOutput) ToDetectorDatasourcesS3LogsPtrOutput added in v4.13.0

func (o DetectorDatasourcesS3LogsPtrOutput) ToDetectorDatasourcesS3LogsPtrOutput() DetectorDatasourcesS3LogsPtrOutput

func (DetectorDatasourcesS3LogsPtrOutput) ToDetectorDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (o DetectorDatasourcesS3LogsPtrOutput) ToDetectorDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) DetectorDatasourcesS3LogsPtrOutput

type DetectorInput

type DetectorInput interface {
	pulumi.Input

	ToDetectorOutput() DetectorOutput
	ToDetectorOutputWithContext(ctx context.Context) DetectorOutput
}

type DetectorMap

type DetectorMap map[string]DetectorInput

func (DetectorMap) ElementType

func (DetectorMap) ElementType() reflect.Type

func (DetectorMap) ToDetectorMapOutput

func (i DetectorMap) ToDetectorMapOutput() DetectorMapOutput

func (DetectorMap) ToDetectorMapOutputWithContext

func (i DetectorMap) ToDetectorMapOutputWithContext(ctx context.Context) DetectorMapOutput

type DetectorMapInput

type DetectorMapInput interface {
	pulumi.Input

	ToDetectorMapOutput() DetectorMapOutput
	ToDetectorMapOutputWithContext(context.Context) DetectorMapOutput
}

DetectorMapInput is an input type that accepts DetectorMap and DetectorMapOutput values. You can construct a concrete instance of `DetectorMapInput` via:

DetectorMap{ "key": DetectorArgs{...} }

type DetectorMapOutput

type DetectorMapOutput struct{ *pulumi.OutputState }

func (DetectorMapOutput) ElementType

func (DetectorMapOutput) ElementType() reflect.Type

func (DetectorMapOutput) MapIndex

func (DetectorMapOutput) ToDetectorMapOutput

func (o DetectorMapOutput) ToDetectorMapOutput() DetectorMapOutput

func (DetectorMapOutput) ToDetectorMapOutputWithContext

func (o DetectorMapOutput) ToDetectorMapOutputWithContext(ctx context.Context) DetectorMapOutput

type DetectorOutput

type DetectorOutput struct{ *pulumi.OutputState }

func (DetectorOutput) ElementType

func (DetectorOutput) ElementType() reflect.Type

func (DetectorOutput) ToDetectorOutput

func (o DetectorOutput) ToDetectorOutput() DetectorOutput

func (DetectorOutput) ToDetectorOutputWithContext

func (o DetectorOutput) ToDetectorOutputWithContext(ctx context.Context) DetectorOutput

type DetectorState

type DetectorState struct {
	// The AWS account ID of the GuardDuty detector
	AccountId pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the GuardDuty detector
	Arn pulumi.StringPtrInput
	// Describes which data sources will be enabled for the detector. See Data Sources below for more details.
	Datasources DetectorDatasourcesPtrInput
	// If true, enables [S3 Protection](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html). Defaults to `true`.
	Enable pulumi.BoolPtrInput
	// Specifies the frequency of notifications sent for subsequent finding occurrences. If the detector is a GuardDuty member account, the value is determined by the GuardDuty primary account and cannot be modified, otherwise defaults to `SIX_HOURS`. For standalone and GuardDuty primary accounts, it must be configured in this provider to enable drift detection. Valid values for standalone and primary accounts: `FIFTEEN_MINUTES`, `ONE_HOUR`, `SIX_HOURS`. See [AWS Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings_cloudwatch.html#guardduty_findings_cloudwatch_notification_frequency) for more information.
	FindingPublishingFrequency pulumi.StringPtrInput
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (DetectorState) ElementType

func (DetectorState) ElementType() reflect.Type

type Filter

type Filter struct {
	pulumi.CustomResourceState

	// Specifies the action that is to be applied to the findings that match the filter. Can be one of `ARCHIVE` or `NOOP`.
	Action pulumi.StringOutput `pulumi:"action"`
	// The ARN of the GuardDuty filter.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Description of the filter.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// ID of a GuardDuty detector, attached to your account.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// Represents the criteria to be used in the filter for querying findings. Contains one or more `criterion` blocks, documented below.
	FindingCriteria FilterFindingCriteriaOutput `pulumi:"findingCriteria"`
	// The name of your filter.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.
	Rank pulumi.IntOutput `pulumi:"rank"`
	// The tags that you want to add to the Filter resource. A tag consists of a key and a value. .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"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to manage a GuardDuty filter.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := guardduty.NewFilter(ctx, "myFilter", &guardduty.FilterArgs{
			Action:     pulumi.String("ARCHIVE"),
			DetectorId: pulumi.Any(aws_guardduty_detector.Example.Id),
			Rank:       pulumi.Int(1),
			FindingCriteria: &guardduty.FilterFindingCriteriaArgs{
				Criterions: guardduty.FilterFindingCriteriaCriterionArray{
					&guardduty.FilterFindingCriteriaCriterionArgs{
						Field: pulumi.String("region"),
						Equals: pulumi.StringArray{
							pulumi.String("eu-west-1"),
						},
					},
					&guardduty.FilterFindingCriteriaCriterionArgs{
						Field: pulumi.String("service.additionalInfo.threatListName"),
						NotEquals: pulumi.StringArray{
							pulumi.String("some-threat"),
							pulumi.String("another-threat"),
						},
					},
					&guardduty.FilterFindingCriteriaCriterionArgs{
						Field:       pulumi.String("updatedAt"),
						GreaterThan: pulumi.String("2020-01-01T00:00:00Z"),
						LessThan:    pulumi.String("2020-02-01T00:00:00Z"),
					},
					&guardduty.FilterFindingCriteriaCriterionArgs{
						Field:              pulumi.String("severity"),
						GreaterThanOrEqual: pulumi.String("4"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty filters can be imported using the detector ID and filter's name separated by a colon, e.g.,

```sh

$ pulumi import aws:guardduty/filter:Filter MyFilter 00b00fd5aecc0ab60a708659477e9617:MyFilter

```

func GetFilter

func GetFilter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FilterState, opts ...pulumi.ResourceOption) (*Filter, error)

GetFilter gets an existing Filter 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 NewFilter

func NewFilter(ctx *pulumi.Context,
	name string, args *FilterArgs, opts ...pulumi.ResourceOption) (*Filter, error)

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

func (*Filter) ElementType

func (*Filter) ElementType() reflect.Type

func (*Filter) ToFilterOutput

func (i *Filter) ToFilterOutput() FilterOutput

func (*Filter) ToFilterOutputWithContext

func (i *Filter) ToFilterOutputWithContext(ctx context.Context) FilterOutput

type FilterArgs

type FilterArgs struct {
	// Specifies the action that is to be applied to the findings that match the filter. Can be one of `ARCHIVE` or `NOOP`.
	Action pulumi.StringInput
	// Description of the filter.
	Description pulumi.StringPtrInput
	// ID of a GuardDuty detector, attached to your account.
	DetectorId pulumi.StringInput
	// Represents the criteria to be used in the filter for querying findings. Contains one or more `criterion` blocks, documented below.
	FindingCriteria FilterFindingCriteriaInput
	// The name of your filter.
	Name pulumi.StringPtrInput
	// Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.
	Rank pulumi.IntInput
	// The tags that you want to add to the Filter resource. A tag consists of a key and a value. .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 Filter resource.

func (FilterArgs) ElementType

func (FilterArgs) ElementType() reflect.Type

type FilterArray

type FilterArray []FilterInput

func (FilterArray) ElementType

func (FilterArray) ElementType() reflect.Type

func (FilterArray) ToFilterArrayOutput

func (i FilterArray) ToFilterArrayOutput() FilterArrayOutput

func (FilterArray) ToFilterArrayOutputWithContext

func (i FilterArray) ToFilterArrayOutputWithContext(ctx context.Context) FilterArrayOutput

type FilterArrayInput

type FilterArrayInput interface {
	pulumi.Input

	ToFilterArrayOutput() FilterArrayOutput
	ToFilterArrayOutputWithContext(context.Context) FilterArrayOutput
}

FilterArrayInput is an input type that accepts FilterArray and FilterArrayOutput values. You can construct a concrete instance of `FilterArrayInput` via:

FilterArray{ FilterArgs{...} }

type FilterArrayOutput

type FilterArrayOutput struct{ *pulumi.OutputState }

func (FilterArrayOutput) ElementType

func (FilterArrayOutput) ElementType() reflect.Type

func (FilterArrayOutput) Index

func (FilterArrayOutput) ToFilterArrayOutput

func (o FilterArrayOutput) ToFilterArrayOutput() FilterArrayOutput

func (FilterArrayOutput) ToFilterArrayOutputWithContext

func (o FilterArrayOutput) ToFilterArrayOutputWithContext(ctx context.Context) FilterArrayOutput

type FilterFindingCriteria

type FilterFindingCriteria struct {
	Criterions []FilterFindingCriteriaCriterion `pulumi:"criterions"`
}

type FilterFindingCriteriaArgs

type FilterFindingCriteriaArgs struct {
	Criterions FilterFindingCriteriaCriterionArrayInput `pulumi:"criterions"`
}

func (FilterFindingCriteriaArgs) ElementType

func (FilterFindingCriteriaArgs) ElementType() reflect.Type

func (FilterFindingCriteriaArgs) ToFilterFindingCriteriaOutput

func (i FilterFindingCriteriaArgs) ToFilterFindingCriteriaOutput() FilterFindingCriteriaOutput

func (FilterFindingCriteriaArgs) ToFilterFindingCriteriaOutputWithContext

func (i FilterFindingCriteriaArgs) ToFilterFindingCriteriaOutputWithContext(ctx context.Context) FilterFindingCriteriaOutput

func (FilterFindingCriteriaArgs) ToFilterFindingCriteriaPtrOutput

func (i FilterFindingCriteriaArgs) ToFilterFindingCriteriaPtrOutput() FilterFindingCriteriaPtrOutput

func (FilterFindingCriteriaArgs) ToFilterFindingCriteriaPtrOutputWithContext

func (i FilterFindingCriteriaArgs) ToFilterFindingCriteriaPtrOutputWithContext(ctx context.Context) FilterFindingCriteriaPtrOutput

type FilterFindingCriteriaCriterion

type FilterFindingCriteriaCriterion struct {
	// List of string values to be evaluated.
	Equals []string `pulumi:"equals"`
	// The name of the field to be evaluated. The full list of field names can be found in [AWS documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_filter-findings.html#filter_criteria).
	Field string `pulumi:"field"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	GreaterThan *string `pulumi:"greaterThan"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	GreaterThanOrEqual *string `pulumi:"greaterThanOrEqual"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LessThan *string `pulumi:"lessThan"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LessThanOrEqual *string `pulumi:"lessThanOrEqual"`
	// List of string values to be evaluated.
	NotEquals []string `pulumi:"notEquals"`
}

type FilterFindingCriteriaCriterionArgs

type FilterFindingCriteriaCriterionArgs struct {
	// List of string values to be evaluated.
	Equals pulumi.StringArrayInput `pulumi:"equals"`
	// The name of the field to be evaluated. The full list of field names can be found in [AWS documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_filter-findings.html#filter_criteria).
	Field pulumi.StringInput `pulumi:"field"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	GreaterThan pulumi.StringPtrInput `pulumi:"greaterThan"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	GreaterThanOrEqual pulumi.StringPtrInput `pulumi:"greaterThanOrEqual"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LessThan pulumi.StringPtrInput `pulumi:"lessThan"`
	// A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).
	LessThanOrEqual pulumi.StringPtrInput `pulumi:"lessThanOrEqual"`
	// List of string values to be evaluated.
	NotEquals pulumi.StringArrayInput `pulumi:"notEquals"`
}

func (FilterFindingCriteriaCriterionArgs) ElementType

func (FilterFindingCriteriaCriterionArgs) ToFilterFindingCriteriaCriterionOutput

func (i FilterFindingCriteriaCriterionArgs) ToFilterFindingCriteriaCriterionOutput() FilterFindingCriteriaCriterionOutput

func (FilterFindingCriteriaCriterionArgs) ToFilterFindingCriteriaCriterionOutputWithContext

func (i FilterFindingCriteriaCriterionArgs) ToFilterFindingCriteriaCriterionOutputWithContext(ctx context.Context) FilterFindingCriteriaCriterionOutput

type FilterFindingCriteriaCriterionArray

type FilterFindingCriteriaCriterionArray []FilterFindingCriteriaCriterionInput

func (FilterFindingCriteriaCriterionArray) ElementType

func (FilterFindingCriteriaCriterionArray) ToFilterFindingCriteriaCriterionArrayOutput

func (i FilterFindingCriteriaCriterionArray) ToFilterFindingCriteriaCriterionArrayOutput() FilterFindingCriteriaCriterionArrayOutput

func (FilterFindingCriteriaCriterionArray) ToFilterFindingCriteriaCriterionArrayOutputWithContext

func (i FilterFindingCriteriaCriterionArray) ToFilterFindingCriteriaCriterionArrayOutputWithContext(ctx context.Context) FilterFindingCriteriaCriterionArrayOutput

type FilterFindingCriteriaCriterionArrayInput

type FilterFindingCriteriaCriterionArrayInput interface {
	pulumi.Input

	ToFilterFindingCriteriaCriterionArrayOutput() FilterFindingCriteriaCriterionArrayOutput
	ToFilterFindingCriteriaCriterionArrayOutputWithContext(context.Context) FilterFindingCriteriaCriterionArrayOutput
}

FilterFindingCriteriaCriterionArrayInput is an input type that accepts FilterFindingCriteriaCriterionArray and FilterFindingCriteriaCriterionArrayOutput values. You can construct a concrete instance of `FilterFindingCriteriaCriterionArrayInput` via:

FilterFindingCriteriaCriterionArray{ FilterFindingCriteriaCriterionArgs{...} }

type FilterFindingCriteriaCriterionArrayOutput

type FilterFindingCriteriaCriterionArrayOutput struct{ *pulumi.OutputState }

func (FilterFindingCriteriaCriterionArrayOutput) ElementType

func (FilterFindingCriteriaCriterionArrayOutput) Index

func (FilterFindingCriteriaCriterionArrayOutput) ToFilterFindingCriteriaCriterionArrayOutput

func (o FilterFindingCriteriaCriterionArrayOutput) ToFilterFindingCriteriaCriterionArrayOutput() FilterFindingCriteriaCriterionArrayOutput

func (FilterFindingCriteriaCriterionArrayOutput) ToFilterFindingCriteriaCriterionArrayOutputWithContext

func (o FilterFindingCriteriaCriterionArrayOutput) ToFilterFindingCriteriaCriterionArrayOutputWithContext(ctx context.Context) FilterFindingCriteriaCriterionArrayOutput

type FilterFindingCriteriaCriterionInput

type FilterFindingCriteriaCriterionInput interface {
	pulumi.Input

	ToFilterFindingCriteriaCriterionOutput() FilterFindingCriteriaCriterionOutput
	ToFilterFindingCriteriaCriterionOutputWithContext(context.Context) FilterFindingCriteriaCriterionOutput
}

FilterFindingCriteriaCriterionInput is an input type that accepts FilterFindingCriteriaCriterionArgs and FilterFindingCriteriaCriterionOutput values. You can construct a concrete instance of `FilterFindingCriteriaCriterionInput` via:

FilterFindingCriteriaCriterionArgs{...}

type FilterFindingCriteriaCriterionOutput

type FilterFindingCriteriaCriterionOutput struct{ *pulumi.OutputState }

func (FilterFindingCriteriaCriterionOutput) ElementType

func (FilterFindingCriteriaCriterionOutput) Equals

List of string values to be evaluated.

func (FilterFindingCriteriaCriterionOutput) Field

The name of the field to be evaluated. The full list of field names can be found in [AWS documentation](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_filter-findings.html#filter_criteria).

func (FilterFindingCriteriaCriterionOutput) GreaterThan

A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (FilterFindingCriteriaCriterionOutput) GreaterThanOrEqual

A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (FilterFindingCriteriaCriterionOutput) LessThan

A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (FilterFindingCriteriaCriterionOutput) LessThanOrEqual

A value to be evaluated. Accepts either an integer or a date in [RFC 3339 format](https://tools.ietf.org/html/rfc3339#section-5.8).

func (FilterFindingCriteriaCriterionOutput) NotEquals

List of string values to be evaluated.

func (FilterFindingCriteriaCriterionOutput) ToFilterFindingCriteriaCriterionOutput

func (o FilterFindingCriteriaCriterionOutput) ToFilterFindingCriteriaCriterionOutput() FilterFindingCriteriaCriterionOutput

func (FilterFindingCriteriaCriterionOutput) ToFilterFindingCriteriaCriterionOutputWithContext

func (o FilterFindingCriteriaCriterionOutput) ToFilterFindingCriteriaCriterionOutputWithContext(ctx context.Context) FilterFindingCriteriaCriterionOutput

type FilterFindingCriteriaInput

type FilterFindingCriteriaInput interface {
	pulumi.Input

	ToFilterFindingCriteriaOutput() FilterFindingCriteriaOutput
	ToFilterFindingCriteriaOutputWithContext(context.Context) FilterFindingCriteriaOutput
}

FilterFindingCriteriaInput is an input type that accepts FilterFindingCriteriaArgs and FilterFindingCriteriaOutput values. You can construct a concrete instance of `FilterFindingCriteriaInput` via:

FilterFindingCriteriaArgs{...}

type FilterFindingCriteriaOutput

type FilterFindingCriteriaOutput struct{ *pulumi.OutputState }

func (FilterFindingCriteriaOutput) Criterions

func (FilterFindingCriteriaOutput) ElementType

func (FilterFindingCriteriaOutput) ToFilterFindingCriteriaOutput

func (o FilterFindingCriteriaOutput) ToFilterFindingCriteriaOutput() FilterFindingCriteriaOutput

func (FilterFindingCriteriaOutput) ToFilterFindingCriteriaOutputWithContext

func (o FilterFindingCriteriaOutput) ToFilterFindingCriteriaOutputWithContext(ctx context.Context) FilterFindingCriteriaOutput

func (FilterFindingCriteriaOutput) ToFilterFindingCriteriaPtrOutput

func (o FilterFindingCriteriaOutput) ToFilterFindingCriteriaPtrOutput() FilterFindingCriteriaPtrOutput

func (FilterFindingCriteriaOutput) ToFilterFindingCriteriaPtrOutputWithContext

func (o FilterFindingCriteriaOutput) ToFilterFindingCriteriaPtrOutputWithContext(ctx context.Context) FilterFindingCriteriaPtrOutput

type FilterFindingCriteriaPtrInput

type FilterFindingCriteriaPtrInput interface {
	pulumi.Input

	ToFilterFindingCriteriaPtrOutput() FilterFindingCriteriaPtrOutput
	ToFilterFindingCriteriaPtrOutputWithContext(context.Context) FilterFindingCriteriaPtrOutput
}

FilterFindingCriteriaPtrInput is an input type that accepts FilterFindingCriteriaArgs, FilterFindingCriteriaPtr and FilterFindingCriteriaPtrOutput values. You can construct a concrete instance of `FilterFindingCriteriaPtrInput` via:

        FilterFindingCriteriaArgs{...}

or:

        nil

type FilterFindingCriteriaPtrOutput

type FilterFindingCriteriaPtrOutput struct{ *pulumi.OutputState }

func (FilterFindingCriteriaPtrOutput) Criterions

func (FilterFindingCriteriaPtrOutput) Elem

func (FilterFindingCriteriaPtrOutput) ElementType

func (FilterFindingCriteriaPtrOutput) ToFilterFindingCriteriaPtrOutput

func (o FilterFindingCriteriaPtrOutput) ToFilterFindingCriteriaPtrOutput() FilterFindingCriteriaPtrOutput

func (FilterFindingCriteriaPtrOutput) ToFilterFindingCriteriaPtrOutputWithContext

func (o FilterFindingCriteriaPtrOutput) ToFilterFindingCriteriaPtrOutputWithContext(ctx context.Context) FilterFindingCriteriaPtrOutput

type FilterInput

type FilterInput interface {
	pulumi.Input

	ToFilterOutput() FilterOutput
	ToFilterOutputWithContext(ctx context.Context) FilterOutput
}

type FilterMap

type FilterMap map[string]FilterInput

func (FilterMap) ElementType

func (FilterMap) ElementType() reflect.Type

func (FilterMap) ToFilterMapOutput

func (i FilterMap) ToFilterMapOutput() FilterMapOutput

func (FilterMap) ToFilterMapOutputWithContext

func (i FilterMap) ToFilterMapOutputWithContext(ctx context.Context) FilterMapOutput

type FilterMapInput

type FilterMapInput interface {
	pulumi.Input

	ToFilterMapOutput() FilterMapOutput
	ToFilterMapOutputWithContext(context.Context) FilterMapOutput
}

FilterMapInput is an input type that accepts FilterMap and FilterMapOutput values. You can construct a concrete instance of `FilterMapInput` via:

FilterMap{ "key": FilterArgs{...} }

type FilterMapOutput

type FilterMapOutput struct{ *pulumi.OutputState }

func (FilterMapOutput) ElementType

func (FilterMapOutput) ElementType() reflect.Type

func (FilterMapOutput) MapIndex

func (FilterMapOutput) ToFilterMapOutput

func (o FilterMapOutput) ToFilterMapOutput() FilterMapOutput

func (FilterMapOutput) ToFilterMapOutputWithContext

func (o FilterMapOutput) ToFilterMapOutputWithContext(ctx context.Context) FilterMapOutput

type FilterOutput

type FilterOutput struct{ *pulumi.OutputState }

func (FilterOutput) ElementType

func (FilterOutput) ElementType() reflect.Type

func (FilterOutput) ToFilterOutput

func (o FilterOutput) ToFilterOutput() FilterOutput

func (FilterOutput) ToFilterOutputWithContext

func (o FilterOutput) ToFilterOutputWithContext(ctx context.Context) FilterOutput

type FilterState

type FilterState struct {
	// Specifies the action that is to be applied to the findings that match the filter. Can be one of `ARCHIVE` or `NOOP`.
	Action pulumi.StringPtrInput
	// The ARN of the GuardDuty filter.
	Arn pulumi.StringPtrInput
	// Description of the filter.
	Description pulumi.StringPtrInput
	// ID of a GuardDuty detector, attached to your account.
	DetectorId pulumi.StringPtrInput
	// Represents the criteria to be used in the filter for querying findings. Contains one or more `criterion` blocks, documented below.
	FindingCriteria FilterFindingCriteriaPtrInput
	// The name of your filter.
	Name pulumi.StringPtrInput
	// Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.
	Rank pulumi.IntPtrInput
	// The tags that you want to add to the Filter resource. A tag consists of a key and a value. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (FilterState) ElementType

func (FilterState) ElementType() reflect.Type

type IPSet

type IPSet struct {
	pulumi.CustomResourceState

	// Specifies whether GuardDuty is to start using the uploaded IPSet.
	Activate pulumi.BoolOutput `pulumi:"activate"`
	// Amazon Resource Name (ARN) of the GuardDuty IPSet.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// The format of the file that contains the IPSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringOutput `pulumi:"format"`
	// The URI of the file that contains the IPSet.
	Location pulumi.StringOutput `pulumi:"location"`
	// The friendly name to identify the IPSet.
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of resource tags. .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"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to manage a GuardDuty IPSet.

> **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage IPSets. IPSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-ip-set.html)

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := guardduty.NewDetector(ctx, "primary", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		myIPSet, err := s3.NewBucketObject(ctx, "myIPSet", &s3.BucketObjectArgs{
			Acl:     pulumi.String("public-read"),
			Content: pulumi.String("10.0.0.0/8\n"),
			Bucket:  bucket.ID(),
			Key:     pulumi.String("MyIPSet"),
		})
		if err != nil {
			return err
		}
		_, err = guardduty.NewIPSet(ctx, "example", &guardduty.IPSetArgs{
			Activate:   pulumi.Bool(true),
			DetectorId: primary.ID(),
			Format:     pulumi.String("TXT"),
			Location: pulumi.All(myIPSet.Bucket, myIPSet.Key).ApplyT(func(_args []interface{}) (string, error) {
				bucket := _args[0].(string)
				key := _args[1].(string)
				return fmt.Sprintf("%v%v%v%v", "https://s3.amazonaws.com/", bucket, "/", key), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty IPSet can be imported using the the primary GuardDuty detector ID and IPSet ID, e.g.,

```sh

$ pulumi import aws:guardduty/iPSet:IPSet MyIPSet 00b00fd5aecc0ab60a708659477e9617:123456789012

```

func GetIPSet

func GetIPSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IPSetState, opts ...pulumi.ResourceOption) (*IPSet, error)

GetIPSet gets an existing IPSet 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 NewIPSet

func NewIPSet(ctx *pulumi.Context,
	name string, args *IPSetArgs, opts ...pulumi.ResourceOption) (*IPSet, error)

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

func (*IPSet) ElementType

func (*IPSet) ElementType() reflect.Type

func (*IPSet) ToIPSetOutput

func (i *IPSet) ToIPSetOutput() IPSetOutput

func (*IPSet) ToIPSetOutputWithContext

func (i *IPSet) ToIPSetOutputWithContext(ctx context.Context) IPSetOutput

type IPSetArgs

type IPSetArgs struct {
	// Specifies whether GuardDuty is to start using the uploaded IPSet.
	Activate pulumi.BoolInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringInput
	// The format of the file that contains the IPSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringInput
	// The URI of the file that contains the IPSet.
	Location pulumi.StringInput
	// The friendly name to identify the IPSet.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .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 IPSet resource.

func (IPSetArgs) ElementType

func (IPSetArgs) ElementType() reflect.Type

type IPSetArray

type IPSetArray []IPSetInput

func (IPSetArray) ElementType

func (IPSetArray) ElementType() reflect.Type

func (IPSetArray) ToIPSetArrayOutput

func (i IPSetArray) ToIPSetArrayOutput() IPSetArrayOutput

func (IPSetArray) ToIPSetArrayOutputWithContext

func (i IPSetArray) ToIPSetArrayOutputWithContext(ctx context.Context) IPSetArrayOutput

type IPSetArrayInput

type IPSetArrayInput interface {
	pulumi.Input

	ToIPSetArrayOutput() IPSetArrayOutput
	ToIPSetArrayOutputWithContext(context.Context) IPSetArrayOutput
}

IPSetArrayInput is an input type that accepts IPSetArray and IPSetArrayOutput values. You can construct a concrete instance of `IPSetArrayInput` via:

IPSetArray{ IPSetArgs{...} }

type IPSetArrayOutput

type IPSetArrayOutput struct{ *pulumi.OutputState }

func (IPSetArrayOutput) ElementType

func (IPSetArrayOutput) ElementType() reflect.Type

func (IPSetArrayOutput) Index

func (IPSetArrayOutput) ToIPSetArrayOutput

func (o IPSetArrayOutput) ToIPSetArrayOutput() IPSetArrayOutput

func (IPSetArrayOutput) ToIPSetArrayOutputWithContext

func (o IPSetArrayOutput) ToIPSetArrayOutputWithContext(ctx context.Context) IPSetArrayOutput

type IPSetInput

type IPSetInput interface {
	pulumi.Input

	ToIPSetOutput() IPSetOutput
	ToIPSetOutputWithContext(ctx context.Context) IPSetOutput
}

type IPSetMap

type IPSetMap map[string]IPSetInput

func (IPSetMap) ElementType

func (IPSetMap) ElementType() reflect.Type

func (IPSetMap) ToIPSetMapOutput

func (i IPSetMap) ToIPSetMapOutput() IPSetMapOutput

func (IPSetMap) ToIPSetMapOutputWithContext

func (i IPSetMap) ToIPSetMapOutputWithContext(ctx context.Context) IPSetMapOutput

type IPSetMapInput

type IPSetMapInput interface {
	pulumi.Input

	ToIPSetMapOutput() IPSetMapOutput
	ToIPSetMapOutputWithContext(context.Context) IPSetMapOutput
}

IPSetMapInput is an input type that accepts IPSetMap and IPSetMapOutput values. You can construct a concrete instance of `IPSetMapInput` via:

IPSetMap{ "key": IPSetArgs{...} }

type IPSetMapOutput

type IPSetMapOutput struct{ *pulumi.OutputState }

func (IPSetMapOutput) ElementType

func (IPSetMapOutput) ElementType() reflect.Type

func (IPSetMapOutput) MapIndex

func (IPSetMapOutput) ToIPSetMapOutput

func (o IPSetMapOutput) ToIPSetMapOutput() IPSetMapOutput

func (IPSetMapOutput) ToIPSetMapOutputWithContext

func (o IPSetMapOutput) ToIPSetMapOutputWithContext(ctx context.Context) IPSetMapOutput

type IPSetOutput

type IPSetOutput struct{ *pulumi.OutputState }

func (IPSetOutput) ElementType

func (IPSetOutput) ElementType() reflect.Type

func (IPSetOutput) ToIPSetOutput

func (o IPSetOutput) ToIPSetOutput() IPSetOutput

func (IPSetOutput) ToIPSetOutputWithContext

func (o IPSetOutput) ToIPSetOutputWithContext(ctx context.Context) IPSetOutput

type IPSetState

type IPSetState struct {
	// Specifies whether GuardDuty is to start using the uploaded IPSet.
	Activate pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of the GuardDuty IPSet.
	Arn pulumi.StringPtrInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringPtrInput
	// The format of the file that contains the IPSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringPtrInput
	// The URI of the file that contains the IPSet.
	Location pulumi.StringPtrInput
	// The friendly name to identify the IPSet.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (IPSetState) ElementType

func (IPSetState) ElementType() reflect.Type

type InviteAccepter

type InviteAccepter struct {
	pulumi.CustomResourceState

	// The detector ID of the member GuardDuty account.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// AWS account ID for primary account.
	MasterAccountId pulumi.StringOutput `pulumi:"masterAccountId"`
}

Provides a resource to accept a pending GuardDuty invite on creation, ensure the detector has the correct primary account on read, and disassociate with the primary account upon removal.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/providers"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "primary", nil)
		if err != nil {
			return err
		}
		_, err = providers.Newaws(ctx, "member", nil)
		if err != nil {
			return err
		}
		primaryDetector, err := guardduty.NewDetector(ctx, "primaryDetector", nil, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		memberDetector, err := guardduty.NewDetector(ctx, "memberDetector", nil, pulumi.Provider(aws.Member))
		if err != nil {
			return err
		}
		memberMember, err := guardduty.NewMember(ctx, "memberMember", &guardduty.MemberArgs{
			AccountId:  memberDetector.AccountId,
			DetectorId: primaryDetector.ID(),
			Email:      pulumi.String("required@example.com"),
			Invite:     pulumi.Bool(true),
		}, pulumi.Provider(aws.Primary))
		if err != nil {
			return err
		}
		_, err = guardduty.NewInviteAccepter(ctx, "memberInviteAccepter", &guardduty.InviteAccepterArgs{
			DetectorId:      memberDetector.ID(),
			MasterAccountId: primaryDetector.AccountId,
		}, pulumi.Provider(aws.Member), pulumi.DependsOn([]pulumi.Resource{
			memberMember,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_guardduty_invite_accepter` can be imported using the the member GuardDuty detector ID, e.g.,

```sh

$ pulumi import aws:guardduty/inviteAccepter:InviteAccepter member 00b00fd5aecc0ab60a708659477e9617

```

func GetInviteAccepter

func GetInviteAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InviteAccepterState, opts ...pulumi.ResourceOption) (*InviteAccepter, error)

GetInviteAccepter gets an existing InviteAccepter 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 NewInviteAccepter

func NewInviteAccepter(ctx *pulumi.Context,
	name string, args *InviteAccepterArgs, opts ...pulumi.ResourceOption) (*InviteAccepter, error)

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

func (*InviteAccepter) ElementType

func (*InviteAccepter) ElementType() reflect.Type

func (*InviteAccepter) ToInviteAccepterOutput

func (i *InviteAccepter) ToInviteAccepterOutput() InviteAccepterOutput

func (*InviteAccepter) ToInviteAccepterOutputWithContext

func (i *InviteAccepter) ToInviteAccepterOutputWithContext(ctx context.Context) InviteAccepterOutput

type InviteAccepterArgs

type InviteAccepterArgs struct {
	// The detector ID of the member GuardDuty account.
	DetectorId pulumi.StringInput
	// AWS account ID for primary account.
	MasterAccountId pulumi.StringInput
}

The set of arguments for constructing a InviteAccepter resource.

func (InviteAccepterArgs) ElementType

func (InviteAccepterArgs) ElementType() reflect.Type

type InviteAccepterArray

type InviteAccepterArray []InviteAccepterInput

func (InviteAccepterArray) ElementType

func (InviteAccepterArray) ElementType() reflect.Type

func (InviteAccepterArray) ToInviteAccepterArrayOutput

func (i InviteAccepterArray) ToInviteAccepterArrayOutput() InviteAccepterArrayOutput

func (InviteAccepterArray) ToInviteAccepterArrayOutputWithContext

func (i InviteAccepterArray) ToInviteAccepterArrayOutputWithContext(ctx context.Context) InviteAccepterArrayOutput

type InviteAccepterArrayInput

type InviteAccepterArrayInput interface {
	pulumi.Input

	ToInviteAccepterArrayOutput() InviteAccepterArrayOutput
	ToInviteAccepterArrayOutputWithContext(context.Context) InviteAccepterArrayOutput
}

InviteAccepterArrayInput is an input type that accepts InviteAccepterArray and InviteAccepterArrayOutput values. You can construct a concrete instance of `InviteAccepterArrayInput` via:

InviteAccepterArray{ InviteAccepterArgs{...} }

type InviteAccepterArrayOutput

type InviteAccepterArrayOutput struct{ *pulumi.OutputState }

func (InviteAccepterArrayOutput) ElementType

func (InviteAccepterArrayOutput) ElementType() reflect.Type

func (InviteAccepterArrayOutput) Index

func (InviteAccepterArrayOutput) ToInviteAccepterArrayOutput

func (o InviteAccepterArrayOutput) ToInviteAccepterArrayOutput() InviteAccepterArrayOutput

func (InviteAccepterArrayOutput) ToInviteAccepterArrayOutputWithContext

func (o InviteAccepterArrayOutput) ToInviteAccepterArrayOutputWithContext(ctx context.Context) InviteAccepterArrayOutput

type InviteAccepterInput

type InviteAccepterInput interface {
	pulumi.Input

	ToInviteAccepterOutput() InviteAccepterOutput
	ToInviteAccepterOutputWithContext(ctx context.Context) InviteAccepterOutput
}

type InviteAccepterMap

type InviteAccepterMap map[string]InviteAccepterInput

func (InviteAccepterMap) ElementType

func (InviteAccepterMap) ElementType() reflect.Type

func (InviteAccepterMap) ToInviteAccepterMapOutput

func (i InviteAccepterMap) ToInviteAccepterMapOutput() InviteAccepterMapOutput

func (InviteAccepterMap) ToInviteAccepterMapOutputWithContext

func (i InviteAccepterMap) ToInviteAccepterMapOutputWithContext(ctx context.Context) InviteAccepterMapOutput

type InviteAccepterMapInput

type InviteAccepterMapInput interface {
	pulumi.Input

	ToInviteAccepterMapOutput() InviteAccepterMapOutput
	ToInviteAccepterMapOutputWithContext(context.Context) InviteAccepterMapOutput
}

InviteAccepterMapInput is an input type that accepts InviteAccepterMap and InviteAccepterMapOutput values. You can construct a concrete instance of `InviteAccepterMapInput` via:

InviteAccepterMap{ "key": InviteAccepterArgs{...} }

type InviteAccepterMapOutput

type InviteAccepterMapOutput struct{ *pulumi.OutputState }

func (InviteAccepterMapOutput) ElementType

func (InviteAccepterMapOutput) ElementType() reflect.Type

func (InviteAccepterMapOutput) MapIndex

func (InviteAccepterMapOutput) ToInviteAccepterMapOutput

func (o InviteAccepterMapOutput) ToInviteAccepterMapOutput() InviteAccepterMapOutput

func (InviteAccepterMapOutput) ToInviteAccepterMapOutputWithContext

func (o InviteAccepterMapOutput) ToInviteAccepterMapOutputWithContext(ctx context.Context) InviteAccepterMapOutput

type InviteAccepterOutput

type InviteAccepterOutput struct{ *pulumi.OutputState }

func (InviteAccepterOutput) ElementType

func (InviteAccepterOutput) ElementType() reflect.Type

func (InviteAccepterOutput) ToInviteAccepterOutput

func (o InviteAccepterOutput) ToInviteAccepterOutput() InviteAccepterOutput

func (InviteAccepterOutput) ToInviteAccepterOutputWithContext

func (o InviteAccepterOutput) ToInviteAccepterOutputWithContext(ctx context.Context) InviteAccepterOutput

type InviteAccepterState

type InviteAccepterState struct {
	// The detector ID of the member GuardDuty account.
	DetectorId pulumi.StringPtrInput
	// AWS account ID for primary account.
	MasterAccountId pulumi.StringPtrInput
}

func (InviteAccepterState) ElementType

func (InviteAccepterState) ElementType() reflect.Type

type LookupDetectorArgs

type LookupDetectorArgs struct {
	// The ID of the detector.
	Id *string `pulumi:"id"`
}

A collection of arguments for invoking getDetector.

type LookupDetectorOutputArgs added in v4.21.0

type LookupDetectorOutputArgs struct {
	// The ID of the detector.
	Id pulumi.StringPtrInput `pulumi:"id"`
}

A collection of arguments for invoking getDetector.

func (LookupDetectorOutputArgs) ElementType added in v4.21.0

func (LookupDetectorOutputArgs) ElementType() reflect.Type

type LookupDetectorResult

type LookupDetectorResult struct {
	// The frequency of notifications sent about subsequent finding occurrences.
	FindingPublishingFrequency string `pulumi:"findingPublishingFrequency"`
	Id                         string `pulumi:"id"`
	// The service-linked role that grants GuardDuty access to the resources in the AWS account.
	ServiceRoleArn string `pulumi:"serviceRoleArn"`
	// The current status of the detector.
	Status string `pulumi:"status"`
}

A collection of values returned by getDetector.

func LookupDetector

func LookupDetector(ctx *pulumi.Context, args *LookupDetectorArgs, opts ...pulumi.InvokeOption) (*LookupDetectorResult, error)

Retrieve information about a GuardDuty detector.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := guardduty.LookupDetector(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDetectorResultOutput added in v4.21.0

type LookupDetectorResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDetector.

func LookupDetectorOutput added in v4.21.0

func LookupDetectorOutput(ctx *pulumi.Context, args LookupDetectorOutputArgs, opts ...pulumi.InvokeOption) LookupDetectorResultOutput

func (LookupDetectorResultOutput) ElementType added in v4.21.0

func (LookupDetectorResultOutput) ElementType() reflect.Type

func (LookupDetectorResultOutput) FindingPublishingFrequency added in v4.21.0

func (o LookupDetectorResultOutput) FindingPublishingFrequency() pulumi.StringOutput

The frequency of notifications sent about subsequent finding occurrences.

func (LookupDetectorResultOutput) Id added in v4.21.0

func (LookupDetectorResultOutput) ServiceRoleArn added in v4.21.0

func (o LookupDetectorResultOutput) ServiceRoleArn() pulumi.StringOutput

The service-linked role that grants GuardDuty access to the resources in the AWS account.

func (LookupDetectorResultOutput) Status added in v4.21.0

The current status of the detector.

func (LookupDetectorResultOutput) ToLookupDetectorResultOutput added in v4.21.0

func (o LookupDetectorResultOutput) ToLookupDetectorResultOutput() LookupDetectorResultOutput

func (LookupDetectorResultOutput) ToLookupDetectorResultOutputWithContext added in v4.21.0

func (o LookupDetectorResultOutput) ToLookupDetectorResultOutputWithContext(ctx context.Context) LookupDetectorResultOutput

type Member

type Member struct {
	pulumi.CustomResourceState

	// AWS account ID for member account.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// The detector ID of the GuardDuty account where you want to create member accounts.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// Boolean whether an email notification is sent to the accounts. Defaults to `false`.
	DisableEmailNotification pulumi.BoolPtrOutput `pulumi:"disableEmailNotification"`
	// Email address for member account.
	Email pulumi.StringOutput `pulumi:"email"`
	// Message for invitation.
	InvitationMessage pulumi.StringPtrOutput `pulumi:"invitationMessage"`
	// Boolean whether to invite the account to GuardDuty as a member. Defaults to `false`. To detect if an invitation needs to be (re-)sent, the this provider state value is `true` based on a `relationshipStatus` of `Disabled`, `Enabled`, `Invited`, or `EmailVerificationInProgress`.
	Invite pulumi.BoolPtrOutput `pulumi:"invite"`
	// The status of the relationship between the member account and its primary account. More information can be found in [Amazon GuardDuty API Reference](https://docs.aws.amazon.com/guardduty/latest/ug/get-members.html).
	RelationshipStatus pulumi.StringOutput `pulumi:"relationshipStatus"`
}

Provides a resource to manage a GuardDuty member. To accept invitations in member accounts, see the `guardduty.InviteAccepter` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := guardduty.NewDetector(ctx, "primary", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		memberDetector, err := guardduty.NewDetector(ctx, "memberDetector", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		}, pulumi.Provider(aws.Dev))
		if err != nil {
			return err
		}
		_, err = guardduty.NewMember(ctx, "memberMember", &guardduty.MemberArgs{
			AccountId:         memberDetector.AccountId,
			DetectorId:        primary.ID(),
			Email:             pulumi.String("required@example.com"),
			Invite:            pulumi.Bool(true),
			InvitationMessage: pulumi.String("please accept guardduty invitation"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty members can be imported using the the primary GuardDuty detector ID and member AWS account ID, e.g.,

```sh

$ pulumi import aws:guardduty/member:Member MyMember 00b00fd5aecc0ab60a708659477e9617:123456789012

```

func GetMember

func GetMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MemberState, opts ...pulumi.ResourceOption) (*Member, error)

GetMember gets an existing Member 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 NewMember

func NewMember(ctx *pulumi.Context,
	name string, args *MemberArgs, opts ...pulumi.ResourceOption) (*Member, error)

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

func (*Member) ElementType

func (*Member) ElementType() reflect.Type

func (*Member) ToMemberOutput

func (i *Member) ToMemberOutput() MemberOutput

func (*Member) ToMemberOutputWithContext

func (i *Member) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberArgs

type MemberArgs struct {
	// AWS account ID for member account.
	AccountId pulumi.StringInput
	// The detector ID of the GuardDuty account where you want to create member accounts.
	DetectorId pulumi.StringInput
	// Boolean whether an email notification is sent to the accounts. Defaults to `false`.
	DisableEmailNotification pulumi.BoolPtrInput
	// Email address for member account.
	Email pulumi.StringInput
	// Message for invitation.
	InvitationMessage pulumi.StringPtrInput
	// Boolean whether to invite the account to GuardDuty as a member. Defaults to `false`. To detect if an invitation needs to be (re-)sent, the this provider state value is `true` based on a `relationshipStatus` of `Disabled`, `Enabled`, `Invited`, or `EmailVerificationInProgress`.
	Invite pulumi.BoolPtrInput
}

The set of arguments for constructing a Member resource.

func (MemberArgs) ElementType

func (MemberArgs) ElementType() reflect.Type

type MemberArray

type MemberArray []MemberInput

func (MemberArray) ElementType

func (MemberArray) ElementType() reflect.Type

func (MemberArray) ToMemberArrayOutput

func (i MemberArray) ToMemberArrayOutput() MemberArrayOutput

func (MemberArray) ToMemberArrayOutputWithContext

func (i MemberArray) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberArrayInput

type MemberArrayInput interface {
	pulumi.Input

	ToMemberArrayOutput() MemberArrayOutput
	ToMemberArrayOutputWithContext(context.Context) MemberArrayOutput
}

MemberArrayInput is an input type that accepts MemberArray and MemberArrayOutput values. You can construct a concrete instance of `MemberArrayInput` via:

MemberArray{ MemberArgs{...} }

type MemberArrayOutput

type MemberArrayOutput struct{ *pulumi.OutputState }

func (MemberArrayOutput) ElementType

func (MemberArrayOutput) ElementType() reflect.Type

func (MemberArrayOutput) Index

func (MemberArrayOutput) ToMemberArrayOutput

func (o MemberArrayOutput) ToMemberArrayOutput() MemberArrayOutput

func (MemberArrayOutput) ToMemberArrayOutputWithContext

func (o MemberArrayOutput) ToMemberArrayOutputWithContext(ctx context.Context) MemberArrayOutput

type MemberInput

type MemberInput interface {
	pulumi.Input

	ToMemberOutput() MemberOutput
	ToMemberOutputWithContext(ctx context.Context) MemberOutput
}

type MemberMap

type MemberMap map[string]MemberInput

func (MemberMap) ElementType

func (MemberMap) ElementType() reflect.Type

func (MemberMap) ToMemberMapOutput

func (i MemberMap) ToMemberMapOutput() MemberMapOutput

func (MemberMap) ToMemberMapOutputWithContext

func (i MemberMap) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberMapInput

type MemberMapInput interface {
	pulumi.Input

	ToMemberMapOutput() MemberMapOutput
	ToMemberMapOutputWithContext(context.Context) MemberMapOutput
}

MemberMapInput is an input type that accepts MemberMap and MemberMapOutput values. You can construct a concrete instance of `MemberMapInput` via:

MemberMap{ "key": MemberArgs{...} }

type MemberMapOutput

type MemberMapOutput struct{ *pulumi.OutputState }

func (MemberMapOutput) ElementType

func (MemberMapOutput) ElementType() reflect.Type

func (MemberMapOutput) MapIndex

func (MemberMapOutput) ToMemberMapOutput

func (o MemberMapOutput) ToMemberMapOutput() MemberMapOutput

func (MemberMapOutput) ToMemberMapOutputWithContext

func (o MemberMapOutput) ToMemberMapOutputWithContext(ctx context.Context) MemberMapOutput

type MemberOutput

type MemberOutput struct{ *pulumi.OutputState }

func (MemberOutput) ElementType

func (MemberOutput) ElementType() reflect.Type

func (MemberOutput) ToMemberOutput

func (o MemberOutput) ToMemberOutput() MemberOutput

func (MemberOutput) ToMemberOutputWithContext

func (o MemberOutput) ToMemberOutputWithContext(ctx context.Context) MemberOutput

type MemberState

type MemberState struct {
	// AWS account ID for member account.
	AccountId pulumi.StringPtrInput
	// The detector ID of the GuardDuty account where you want to create member accounts.
	DetectorId pulumi.StringPtrInput
	// Boolean whether an email notification is sent to the accounts. Defaults to `false`.
	DisableEmailNotification pulumi.BoolPtrInput
	// Email address for member account.
	Email pulumi.StringPtrInput
	// Message for invitation.
	InvitationMessage pulumi.StringPtrInput
	// Boolean whether to invite the account to GuardDuty as a member. Defaults to `false`. To detect if an invitation needs to be (re-)sent, the this provider state value is `true` based on a `relationshipStatus` of `Disabled`, `Enabled`, `Invited`, or `EmailVerificationInProgress`.
	Invite pulumi.BoolPtrInput
	// The status of the relationship between the member account and its primary account. More information can be found in [Amazon GuardDuty API Reference](https://docs.aws.amazon.com/guardduty/latest/ug/get-members.html).
	RelationshipStatus pulumi.StringPtrInput
}

func (MemberState) ElementType

func (MemberState) ElementType() reflect.Type

type OrganizationAdminAccount

type OrganizationAdminAccount struct {
	pulumi.CustomResourceState

	// AWS account identifier to designate as a delegated administrator for GuardDuty.
	AdminAccountId pulumi.StringOutput `pulumi:"adminAccountId"`
}

Manages a GuardDuty Organization Admin Account. The AWS account utilizing this resource must be an Organizations primary account. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleOrganization, err := organizations.NewOrganization(ctx, "exampleOrganization", &organizations.OrganizationArgs{
			AwsServiceAccessPrincipals: pulumi.StringArray{
				pulumi.String("guardduty.amazonaws.com"),
			},
			FeatureSet: pulumi.String("ALL"),
		})
		if err != nil {
			return err
		}
		_, err = guardduty.NewDetector(ctx, "exampleDetector", nil)
		if err != nil {
			return err
		}
		_, err = guardduty.NewOrganizationAdminAccount(ctx, "exampleOrganizationAdminAccount", &guardduty.OrganizationAdminAccountArgs{
			AdminAccountId: pulumi.String("123456789012"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleOrganization,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty Organization Admin Account can be imported using the AWS account ID, e.g.,

```sh

$ pulumi import aws:guardduty/organizationAdminAccount:OrganizationAdminAccount example 123456789012

```

func GetOrganizationAdminAccount

func GetOrganizationAdminAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationAdminAccountState, opts ...pulumi.ResourceOption) (*OrganizationAdminAccount, error)

GetOrganizationAdminAccount gets an existing OrganizationAdminAccount 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 NewOrganizationAdminAccount

func NewOrganizationAdminAccount(ctx *pulumi.Context,
	name string, args *OrganizationAdminAccountArgs, opts ...pulumi.ResourceOption) (*OrganizationAdminAccount, error)

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

func (*OrganizationAdminAccount) ElementType

func (*OrganizationAdminAccount) ElementType() reflect.Type

func (*OrganizationAdminAccount) ToOrganizationAdminAccountOutput

func (i *OrganizationAdminAccount) ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput

func (*OrganizationAdminAccount) ToOrganizationAdminAccountOutputWithContext

func (i *OrganizationAdminAccount) ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput

type OrganizationAdminAccountArgs

type OrganizationAdminAccountArgs struct {
	// AWS account identifier to designate as a delegated administrator for GuardDuty.
	AdminAccountId pulumi.StringInput
}

The set of arguments for constructing a OrganizationAdminAccount resource.

func (OrganizationAdminAccountArgs) ElementType

type OrganizationAdminAccountArray

type OrganizationAdminAccountArray []OrganizationAdminAccountInput

func (OrganizationAdminAccountArray) ElementType

func (OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutput

func (i OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput

func (OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutputWithContext

func (i OrganizationAdminAccountArray) ToOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationAdminAccountArrayOutput

type OrganizationAdminAccountArrayInput

type OrganizationAdminAccountArrayInput interface {
	pulumi.Input

	ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput
	ToOrganizationAdminAccountArrayOutputWithContext(context.Context) OrganizationAdminAccountArrayOutput
}

OrganizationAdminAccountArrayInput is an input type that accepts OrganizationAdminAccountArray and OrganizationAdminAccountArrayOutput values. You can construct a concrete instance of `OrganizationAdminAccountArrayInput` via:

OrganizationAdminAccountArray{ OrganizationAdminAccountArgs{...} }

type OrganizationAdminAccountArrayOutput

type OrganizationAdminAccountArrayOutput struct{ *pulumi.OutputState }

func (OrganizationAdminAccountArrayOutput) ElementType

func (OrganizationAdminAccountArrayOutput) Index

func (OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutput

func (o OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutput() OrganizationAdminAccountArrayOutput

func (OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutputWithContext

func (o OrganizationAdminAccountArrayOutput) ToOrganizationAdminAccountArrayOutputWithContext(ctx context.Context) OrganizationAdminAccountArrayOutput

type OrganizationAdminAccountInput

type OrganizationAdminAccountInput interface {
	pulumi.Input

	ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput
	ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput
}

type OrganizationAdminAccountMap

type OrganizationAdminAccountMap map[string]OrganizationAdminAccountInput

func (OrganizationAdminAccountMap) ElementType

func (OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutput

func (i OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput

func (OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutputWithContext

func (i OrganizationAdminAccountMap) ToOrganizationAdminAccountMapOutputWithContext(ctx context.Context) OrganizationAdminAccountMapOutput

type OrganizationAdminAccountMapInput

type OrganizationAdminAccountMapInput interface {
	pulumi.Input

	ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput
	ToOrganizationAdminAccountMapOutputWithContext(context.Context) OrganizationAdminAccountMapOutput
}

OrganizationAdminAccountMapInput is an input type that accepts OrganizationAdminAccountMap and OrganizationAdminAccountMapOutput values. You can construct a concrete instance of `OrganizationAdminAccountMapInput` via:

OrganizationAdminAccountMap{ "key": OrganizationAdminAccountArgs{...} }

type OrganizationAdminAccountMapOutput

type OrganizationAdminAccountMapOutput struct{ *pulumi.OutputState }

func (OrganizationAdminAccountMapOutput) ElementType

func (OrganizationAdminAccountMapOutput) MapIndex

func (OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutput

func (o OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutput() OrganizationAdminAccountMapOutput

func (OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutputWithContext

func (o OrganizationAdminAccountMapOutput) ToOrganizationAdminAccountMapOutputWithContext(ctx context.Context) OrganizationAdminAccountMapOutput

type OrganizationAdminAccountOutput

type OrganizationAdminAccountOutput struct{ *pulumi.OutputState }

func (OrganizationAdminAccountOutput) ElementType

func (OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutput

func (o OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutput() OrganizationAdminAccountOutput

func (OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutputWithContext

func (o OrganizationAdminAccountOutput) ToOrganizationAdminAccountOutputWithContext(ctx context.Context) OrganizationAdminAccountOutput

type OrganizationAdminAccountState

type OrganizationAdminAccountState struct {
	// AWS account identifier to designate as a delegated administrator for GuardDuty.
	AdminAccountId pulumi.StringPtrInput
}

func (OrganizationAdminAccountState) ElementType

type OrganizationConfiguration

type OrganizationConfiguration struct {
	pulumi.CustomResourceState

	// When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.
	AutoEnable pulumi.BoolOutput `pulumi:"autoEnable"`
	// Configuration for the collected datasources.
	Datasources OrganizationConfigurationDatasourcesOutput `pulumi:"datasources"`
	// The detector ID of the GuardDuty account.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
}

Manages the GuardDuty Organization Configuration in the current AWS Region. The AWS account utilizing this resource must have been assigned as a delegated Organization administrator account, e.g. via the `guardduty.OrganizationAdminAccount` resource. More information about Organizations support in GuardDuty can be found in the [GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html).

> **NOTE:** This is an advanced resource. The provider will automatically assume management of the GuardDuty Organization Configuration without import and perform no actions on removal from the resource configuration.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDetector, err := guardduty.NewDetector(ctx, "exampleDetector", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = guardduty.NewOrganizationConfiguration(ctx, "exampleOrganizationConfiguration", &guardduty.OrganizationConfigurationArgs{
			AutoEnable: pulumi.Bool(true),
			DetectorId: exampleDetector.ID(),
			Datasources: &guardduty.OrganizationConfigurationDatasourcesArgs{
				S3Logs: &guardduty.OrganizationConfigurationDatasourcesS3LogsArgs{
					AutoEnable: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty Organization Configurations can be imported using the GuardDuty Detector ID, e.g.,

```sh

$ pulumi import aws:guardduty/organizationConfiguration:OrganizationConfiguration example 00b00fd5aecc0ab60a708659477e9617

```

func GetOrganizationConfiguration

func GetOrganizationConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationConfigurationState, opts ...pulumi.ResourceOption) (*OrganizationConfiguration, error)

GetOrganizationConfiguration gets an existing OrganizationConfiguration 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 NewOrganizationConfiguration

func NewOrganizationConfiguration(ctx *pulumi.Context,
	name string, args *OrganizationConfigurationArgs, opts ...pulumi.ResourceOption) (*OrganizationConfiguration, error)

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

func (*OrganizationConfiguration) ElementType

func (*OrganizationConfiguration) ElementType() reflect.Type

func (*OrganizationConfiguration) ToOrganizationConfigurationOutput

func (i *OrganizationConfiguration) ToOrganizationConfigurationOutput() OrganizationConfigurationOutput

func (*OrganizationConfiguration) ToOrganizationConfigurationOutputWithContext

func (i *OrganizationConfiguration) ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput

type OrganizationConfigurationArgs

type OrganizationConfigurationArgs struct {
	// When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.
	AutoEnable pulumi.BoolInput
	// Configuration for the collected datasources.
	Datasources OrganizationConfigurationDatasourcesPtrInput
	// The detector ID of the GuardDuty account.
	DetectorId pulumi.StringInput
}

The set of arguments for constructing a OrganizationConfiguration resource.

func (OrganizationConfigurationArgs) ElementType

type OrganizationConfigurationArray

type OrganizationConfigurationArray []OrganizationConfigurationInput

func (OrganizationConfigurationArray) ElementType

func (OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutput

func (i OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput

func (OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutputWithContext

func (i OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutputWithContext(ctx context.Context) OrganizationConfigurationArrayOutput

type OrganizationConfigurationArrayInput

type OrganizationConfigurationArrayInput interface {
	pulumi.Input

	ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput
	ToOrganizationConfigurationArrayOutputWithContext(context.Context) OrganizationConfigurationArrayOutput
}

OrganizationConfigurationArrayInput is an input type that accepts OrganizationConfigurationArray and OrganizationConfigurationArrayOutput values. You can construct a concrete instance of `OrganizationConfigurationArrayInput` via:

OrganizationConfigurationArray{ OrganizationConfigurationArgs{...} }

type OrganizationConfigurationArrayOutput

type OrganizationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationArrayOutput) ElementType

func (OrganizationConfigurationArrayOutput) Index

func (OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutput

func (o OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput

func (OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutputWithContext

func (o OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutputWithContext(ctx context.Context) OrganizationConfigurationArrayOutput

type OrganizationConfigurationDatasources added in v4.13.0

type OrganizationConfigurationDatasources struct {
	// Configuration for the builds to store logs to S3.
	S3Logs *OrganizationConfigurationDatasourcesS3Logs `pulumi:"s3Logs"`
}

type OrganizationConfigurationDatasourcesArgs added in v4.13.0

type OrganizationConfigurationDatasourcesArgs struct {
	// Configuration for the builds to store logs to S3.
	S3Logs OrganizationConfigurationDatasourcesS3LogsPtrInput `pulumi:"s3Logs"`
}

func (OrganizationConfigurationDatasourcesArgs) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesOutput added in v4.13.0

func (i OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesOutput() OrganizationConfigurationDatasourcesOutput

func (OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesOutputWithContext added in v4.13.0

func (i OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesOutput

func (OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesPtrOutput added in v4.13.0

func (i OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesPtrOutput() OrganizationConfigurationDatasourcesPtrOutput

func (OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesPtrOutputWithContext added in v4.13.0

func (i OrganizationConfigurationDatasourcesArgs) ToOrganizationConfigurationDatasourcesPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesPtrOutput

type OrganizationConfigurationDatasourcesInput added in v4.13.0

type OrganizationConfigurationDatasourcesInput interface {
	pulumi.Input

	ToOrganizationConfigurationDatasourcesOutput() OrganizationConfigurationDatasourcesOutput
	ToOrganizationConfigurationDatasourcesOutputWithContext(context.Context) OrganizationConfigurationDatasourcesOutput
}

OrganizationConfigurationDatasourcesInput is an input type that accepts OrganizationConfigurationDatasourcesArgs and OrganizationConfigurationDatasourcesOutput values. You can construct a concrete instance of `OrganizationConfigurationDatasourcesInput` via:

OrganizationConfigurationDatasourcesArgs{...}

type OrganizationConfigurationDatasourcesOutput added in v4.13.0

type OrganizationConfigurationDatasourcesOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationDatasourcesOutput) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesOutput) S3Logs added in v4.13.0

Configuration for the builds to store logs to S3.

func (OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesOutput() OrganizationConfigurationDatasourcesOutput

func (OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesOutput

func (OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesPtrOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesPtrOutput() OrganizationConfigurationDatasourcesPtrOutput

func (OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesPtrOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesOutput) ToOrganizationConfigurationDatasourcesPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesPtrOutput

type OrganizationConfigurationDatasourcesPtrInput added in v4.13.0

type OrganizationConfigurationDatasourcesPtrInput interface {
	pulumi.Input

	ToOrganizationConfigurationDatasourcesPtrOutput() OrganizationConfigurationDatasourcesPtrOutput
	ToOrganizationConfigurationDatasourcesPtrOutputWithContext(context.Context) OrganizationConfigurationDatasourcesPtrOutput
}

OrganizationConfigurationDatasourcesPtrInput is an input type that accepts OrganizationConfigurationDatasourcesArgs, OrganizationConfigurationDatasourcesPtr and OrganizationConfigurationDatasourcesPtrOutput values. You can construct a concrete instance of `OrganizationConfigurationDatasourcesPtrInput` via:

        OrganizationConfigurationDatasourcesArgs{...}

or:

        nil

type OrganizationConfigurationDatasourcesPtrOutput added in v4.13.0

type OrganizationConfigurationDatasourcesPtrOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationDatasourcesPtrOutput) Elem added in v4.13.0

func (OrganizationConfigurationDatasourcesPtrOutput) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesPtrOutput) S3Logs added in v4.13.0

Configuration for the builds to store logs to S3.

func (OrganizationConfigurationDatasourcesPtrOutput) ToOrganizationConfigurationDatasourcesPtrOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesPtrOutput) ToOrganizationConfigurationDatasourcesPtrOutput() OrganizationConfigurationDatasourcesPtrOutput

func (OrganizationConfigurationDatasourcesPtrOutput) ToOrganizationConfigurationDatasourcesPtrOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesPtrOutput) ToOrganizationConfigurationDatasourcesPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesPtrOutput

type OrganizationConfigurationDatasourcesS3Logs added in v4.13.0

type OrganizationConfigurationDatasourcesS3Logs struct {
	// When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.
	AutoEnable bool `pulumi:"autoEnable"`
}

type OrganizationConfigurationDatasourcesS3LogsArgs added in v4.13.0

type OrganizationConfigurationDatasourcesS3LogsArgs struct {
	// When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.
	AutoEnable pulumi.BoolInput `pulumi:"autoEnable"`
}

func (OrganizationConfigurationDatasourcesS3LogsArgs) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsOutput added in v4.13.0

func (i OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsOutput() OrganizationConfigurationDatasourcesS3LogsOutput

func (OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsOutputWithContext added in v4.13.0

func (i OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesS3LogsOutput

func (OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput added in v4.13.0

func (i OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput() OrganizationConfigurationDatasourcesS3LogsPtrOutput

func (OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (i OrganizationConfigurationDatasourcesS3LogsArgs) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesS3LogsPtrOutput

type OrganizationConfigurationDatasourcesS3LogsInput added in v4.13.0

type OrganizationConfigurationDatasourcesS3LogsInput interface {
	pulumi.Input

	ToOrganizationConfigurationDatasourcesS3LogsOutput() OrganizationConfigurationDatasourcesS3LogsOutput
	ToOrganizationConfigurationDatasourcesS3LogsOutputWithContext(context.Context) OrganizationConfigurationDatasourcesS3LogsOutput
}

OrganizationConfigurationDatasourcesS3LogsInput is an input type that accepts OrganizationConfigurationDatasourcesS3LogsArgs and OrganizationConfigurationDatasourcesS3LogsOutput values. You can construct a concrete instance of `OrganizationConfigurationDatasourcesS3LogsInput` via:

OrganizationConfigurationDatasourcesS3LogsArgs{...}

type OrganizationConfigurationDatasourcesS3LogsOutput added in v4.13.0

type OrganizationConfigurationDatasourcesS3LogsOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationDatasourcesS3LogsOutput) AutoEnable added in v4.13.0

When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.

func (OrganizationConfigurationDatasourcesS3LogsOutput) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsOutput() OrganizationConfigurationDatasourcesS3LogsOutput

func (OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesS3LogsOutput

func (OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput() OrganizationConfigurationDatasourcesS3LogsPtrOutput

func (OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesS3LogsPtrOutput

type OrganizationConfigurationDatasourcesS3LogsPtrInput added in v4.13.0

type OrganizationConfigurationDatasourcesS3LogsPtrInput interface {
	pulumi.Input

	ToOrganizationConfigurationDatasourcesS3LogsPtrOutput() OrganizationConfigurationDatasourcesS3LogsPtrOutput
	ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext(context.Context) OrganizationConfigurationDatasourcesS3LogsPtrOutput
}

OrganizationConfigurationDatasourcesS3LogsPtrInput is an input type that accepts OrganizationConfigurationDatasourcesS3LogsArgs, OrganizationConfigurationDatasourcesS3LogsPtr and OrganizationConfigurationDatasourcesS3LogsPtrOutput values. You can construct a concrete instance of `OrganizationConfigurationDatasourcesS3LogsPtrInput` via:

        OrganizationConfigurationDatasourcesS3LogsArgs{...}

or:

        nil

type OrganizationConfigurationDatasourcesS3LogsPtrOutput added in v4.13.0

type OrganizationConfigurationDatasourcesS3LogsPtrOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationDatasourcesS3LogsPtrOutput) AutoEnable added in v4.13.0

When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.

func (OrganizationConfigurationDatasourcesS3LogsPtrOutput) Elem added in v4.13.0

func (OrganizationConfigurationDatasourcesS3LogsPtrOutput) ElementType added in v4.13.0

func (OrganizationConfigurationDatasourcesS3LogsPtrOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsPtrOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutput() OrganizationConfigurationDatasourcesS3LogsPtrOutput

func (OrganizationConfigurationDatasourcesS3LogsPtrOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext added in v4.13.0

func (o OrganizationConfigurationDatasourcesS3LogsPtrOutput) ToOrganizationConfigurationDatasourcesS3LogsPtrOutputWithContext(ctx context.Context) OrganizationConfigurationDatasourcesS3LogsPtrOutput

type OrganizationConfigurationInput

type OrganizationConfigurationInput interface {
	pulumi.Input

	ToOrganizationConfigurationOutput() OrganizationConfigurationOutput
	ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput
}

type OrganizationConfigurationMap

type OrganizationConfigurationMap map[string]OrganizationConfigurationInput

func (OrganizationConfigurationMap) ElementType

func (OrganizationConfigurationMap) ToOrganizationConfigurationMapOutput

func (i OrganizationConfigurationMap) ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput

func (OrganizationConfigurationMap) ToOrganizationConfigurationMapOutputWithContext

func (i OrganizationConfigurationMap) ToOrganizationConfigurationMapOutputWithContext(ctx context.Context) OrganizationConfigurationMapOutput

type OrganizationConfigurationMapInput

type OrganizationConfigurationMapInput interface {
	pulumi.Input

	ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput
	ToOrganizationConfigurationMapOutputWithContext(context.Context) OrganizationConfigurationMapOutput
}

OrganizationConfigurationMapInput is an input type that accepts OrganizationConfigurationMap and OrganizationConfigurationMapOutput values. You can construct a concrete instance of `OrganizationConfigurationMapInput` via:

OrganizationConfigurationMap{ "key": OrganizationConfigurationArgs{...} }

type OrganizationConfigurationMapOutput

type OrganizationConfigurationMapOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationMapOutput) ElementType

func (OrganizationConfigurationMapOutput) MapIndex

func (OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutput

func (o OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput

func (OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutputWithContext

func (o OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutputWithContext(ctx context.Context) OrganizationConfigurationMapOutput

type OrganizationConfigurationOutput

type OrganizationConfigurationOutput struct{ *pulumi.OutputState }

func (OrganizationConfigurationOutput) ElementType

func (OrganizationConfigurationOutput) ToOrganizationConfigurationOutput

func (o OrganizationConfigurationOutput) ToOrganizationConfigurationOutput() OrganizationConfigurationOutput

func (OrganizationConfigurationOutput) ToOrganizationConfigurationOutputWithContext

func (o OrganizationConfigurationOutput) ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput

type OrganizationConfigurationState

type OrganizationConfigurationState struct {
	// When this setting is enabled, all new accounts that are created in, or added to, the organization are added as a member accounts of the organization’s GuardDuty delegated administrator and GuardDuty is enabled in that AWS Region.
	AutoEnable pulumi.BoolPtrInput
	// Configuration for the collected datasources.
	Datasources OrganizationConfigurationDatasourcesPtrInput
	// The detector ID of the GuardDuty account.
	DetectorId pulumi.StringPtrInput
}

func (OrganizationConfigurationState) ElementType

type PublishingDestination

type PublishingDestination struct {
	pulumi.CustomResourceState

	// The bucket arn and prefix under which the findings get exported. Bucket-ARN is required, the prefix is optional and will be `AWSLogs/[Account-ID]/GuardDuty/[Region]/` if not provided
	DestinationArn pulumi.StringOutput `pulumi:"destinationArn"`
	// Currently there is only "S3" available as destination type which is also the default value
	DestinationType pulumi.StringPtrOutput `pulumi:"destinationType"`
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// The ARN of the KMS key used to encrypt GuardDuty findings. GuardDuty enforces this to be encrypted.
	KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"`
}

Provides a resource to manage a GuardDuty PublishingDestination. Requires an existing GuardDuty Detector.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/kms"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentRegion, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		gdBucket, err := s3.NewBucket(ctx, "gdBucket", &s3.BucketArgs{
			Acl:          pulumi.String("private"),
			ForceDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		bucketPol := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Sid: pulumi.String("Allow PutObject"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:PutObject"),
					},
					Resources: pulumi.StringArray{
						gdBucket.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v%v", arn, "/*"), nil
						}).(pulumi.StringOutput),
					},
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("Service"),
							Identifiers: pulumi.StringArray{
								pulumi.String("guardduty.amazonaws.com"),
							},
						},
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Sid: pulumi.String("Allow GetBucketLocation"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetBucketLocation"),
					},
					Resources: pulumi.StringArray{
						gdBucket.Arn,
					},
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("Service"),
							Identifiers: pulumi.StringArray{
								pulumi.String("guardduty.amazonaws.com"),
							},
						},
					},
				},
			},
		}, nil)
		kmsPol, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Sid: pulumi.StringRef("Allow GuardDuty to encrypt findings"),
					Actions: []string{
						"kms:GenerateDataKey",
					},
					Resources: []string{
						fmt.Sprintf("%v%v%v%v%v", "arn:aws:kms:", currentRegion.Name, ":", currentCallerIdentity.AccountId, ":key/*"),
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Type: "Service",
							Identifiers: []string{
								"guardduty.amazonaws.com",
							},
						},
					},
				},
				iam.GetPolicyDocumentStatement{
					Sid: pulumi.StringRef("Allow all users to modify/delete key (test only)"),
					Actions: []string{
						"kms:*",
					},
					Resources: []string{
						fmt.Sprintf("%v%v%v%v%v", "arn:aws:kms:", currentRegion.Name, ":", currentCallerIdentity.AccountId, ":key/*"),
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Type: "AWS",
							Identifiers: []string{
								fmt.Sprintf("%v%v%v", "arn:aws:iam::", currentCallerIdentity.AccountId, ":root"),
							},
						},
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		testGd, err := guardduty.NewDetector(ctx, "testGd", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		gdBucketPolicy, err := s3.NewBucketPolicy(ctx, "gdBucketPolicy", &s3.BucketPolicyArgs{
			Bucket: gdBucket.ID(),
			Policy: bucketPol.ApplyT(func(bucketPol iam.GetPolicyDocumentResult) (string, error) {
				return bucketPol.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		gdKey, err := kms.NewKey(ctx, "gdKey", &kms.KeyArgs{
			Description:          pulumi.String("Temporary key for AccTest of TF"),
			DeletionWindowInDays: pulumi.Int(7),
			Policy:               pulumi.String(kmsPol.Json),
		})
		if err != nil {
			return err
		}
		_, err = guardduty.NewPublishingDestination(ctx, "test", &guardduty.PublishingDestinationArgs{
			DetectorId:     testGd.ID(),
			DestinationArn: gdBucket.Arn,
			KmsKeyArn:      gdKey.Arn,
		}, pulumi.DependsOn([]pulumi.Resource{
			gdBucketPolicy,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **Note:** Please do not use this simple example for Bucket-Policy and KMS Key Policy in a production environment. It is much too open for such a use-case. Refer to the AWS documentation here: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html

## Import

GuardDuty PublishingDestination can be imported using the the master GuardDuty detector ID and PublishingDestinationID, e.g.,

```sh

$ pulumi import aws:guardduty/publishingDestination:PublishingDestination test a4b86f26fa42e7e7cf0d1c333ea77777:a4b86f27a0e464e4a7e0516d242f1234

```

func GetPublishingDestination

func GetPublishingDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublishingDestinationState, opts ...pulumi.ResourceOption) (*PublishingDestination, error)

GetPublishingDestination gets an existing PublishingDestination 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 NewPublishingDestination

func NewPublishingDestination(ctx *pulumi.Context,
	name string, args *PublishingDestinationArgs, opts ...pulumi.ResourceOption) (*PublishingDestination, error)

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

func (*PublishingDestination) ElementType

func (*PublishingDestination) ElementType() reflect.Type

func (*PublishingDestination) ToPublishingDestinationOutput

func (i *PublishingDestination) ToPublishingDestinationOutput() PublishingDestinationOutput

func (*PublishingDestination) ToPublishingDestinationOutputWithContext

func (i *PublishingDestination) ToPublishingDestinationOutputWithContext(ctx context.Context) PublishingDestinationOutput

type PublishingDestinationArgs

type PublishingDestinationArgs struct {
	// The bucket arn and prefix under which the findings get exported. Bucket-ARN is required, the prefix is optional and will be `AWSLogs/[Account-ID]/GuardDuty/[Region]/` if not provided
	DestinationArn pulumi.StringInput
	// Currently there is only "S3" available as destination type which is also the default value
	DestinationType pulumi.StringPtrInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringInput
	// The ARN of the KMS key used to encrypt GuardDuty findings. GuardDuty enforces this to be encrypted.
	KmsKeyArn pulumi.StringInput
}

The set of arguments for constructing a PublishingDestination resource.

func (PublishingDestinationArgs) ElementType

func (PublishingDestinationArgs) ElementType() reflect.Type

type PublishingDestinationArray

type PublishingDestinationArray []PublishingDestinationInput

func (PublishingDestinationArray) ElementType

func (PublishingDestinationArray) ElementType() reflect.Type

func (PublishingDestinationArray) ToPublishingDestinationArrayOutput

func (i PublishingDestinationArray) ToPublishingDestinationArrayOutput() PublishingDestinationArrayOutput

func (PublishingDestinationArray) ToPublishingDestinationArrayOutputWithContext

func (i PublishingDestinationArray) ToPublishingDestinationArrayOutputWithContext(ctx context.Context) PublishingDestinationArrayOutput

type PublishingDestinationArrayInput

type PublishingDestinationArrayInput interface {
	pulumi.Input

	ToPublishingDestinationArrayOutput() PublishingDestinationArrayOutput
	ToPublishingDestinationArrayOutputWithContext(context.Context) PublishingDestinationArrayOutput
}

PublishingDestinationArrayInput is an input type that accepts PublishingDestinationArray and PublishingDestinationArrayOutput values. You can construct a concrete instance of `PublishingDestinationArrayInput` via:

PublishingDestinationArray{ PublishingDestinationArgs{...} }

type PublishingDestinationArrayOutput

type PublishingDestinationArrayOutput struct{ *pulumi.OutputState }

func (PublishingDestinationArrayOutput) ElementType

func (PublishingDestinationArrayOutput) Index

func (PublishingDestinationArrayOutput) ToPublishingDestinationArrayOutput

func (o PublishingDestinationArrayOutput) ToPublishingDestinationArrayOutput() PublishingDestinationArrayOutput

func (PublishingDestinationArrayOutput) ToPublishingDestinationArrayOutputWithContext

func (o PublishingDestinationArrayOutput) ToPublishingDestinationArrayOutputWithContext(ctx context.Context) PublishingDestinationArrayOutput

type PublishingDestinationInput

type PublishingDestinationInput interface {
	pulumi.Input

	ToPublishingDestinationOutput() PublishingDestinationOutput
	ToPublishingDestinationOutputWithContext(ctx context.Context) PublishingDestinationOutput
}

type PublishingDestinationMap

type PublishingDestinationMap map[string]PublishingDestinationInput

func (PublishingDestinationMap) ElementType

func (PublishingDestinationMap) ElementType() reflect.Type

func (PublishingDestinationMap) ToPublishingDestinationMapOutput

func (i PublishingDestinationMap) ToPublishingDestinationMapOutput() PublishingDestinationMapOutput

func (PublishingDestinationMap) ToPublishingDestinationMapOutputWithContext

func (i PublishingDestinationMap) ToPublishingDestinationMapOutputWithContext(ctx context.Context) PublishingDestinationMapOutput

type PublishingDestinationMapInput

type PublishingDestinationMapInput interface {
	pulumi.Input

	ToPublishingDestinationMapOutput() PublishingDestinationMapOutput
	ToPublishingDestinationMapOutputWithContext(context.Context) PublishingDestinationMapOutput
}

PublishingDestinationMapInput is an input type that accepts PublishingDestinationMap and PublishingDestinationMapOutput values. You can construct a concrete instance of `PublishingDestinationMapInput` via:

PublishingDestinationMap{ "key": PublishingDestinationArgs{...} }

type PublishingDestinationMapOutput

type PublishingDestinationMapOutput struct{ *pulumi.OutputState }

func (PublishingDestinationMapOutput) ElementType

func (PublishingDestinationMapOutput) MapIndex

func (PublishingDestinationMapOutput) ToPublishingDestinationMapOutput

func (o PublishingDestinationMapOutput) ToPublishingDestinationMapOutput() PublishingDestinationMapOutput

func (PublishingDestinationMapOutput) ToPublishingDestinationMapOutputWithContext

func (o PublishingDestinationMapOutput) ToPublishingDestinationMapOutputWithContext(ctx context.Context) PublishingDestinationMapOutput

type PublishingDestinationOutput

type PublishingDestinationOutput struct{ *pulumi.OutputState }

func (PublishingDestinationOutput) ElementType

func (PublishingDestinationOutput) ToPublishingDestinationOutput

func (o PublishingDestinationOutput) ToPublishingDestinationOutput() PublishingDestinationOutput

func (PublishingDestinationOutput) ToPublishingDestinationOutputWithContext

func (o PublishingDestinationOutput) ToPublishingDestinationOutputWithContext(ctx context.Context) PublishingDestinationOutput

type PublishingDestinationState

type PublishingDestinationState struct {
	// The bucket arn and prefix under which the findings get exported. Bucket-ARN is required, the prefix is optional and will be `AWSLogs/[Account-ID]/GuardDuty/[Region]/` if not provided
	DestinationArn pulumi.StringPtrInput
	// Currently there is only "S3" available as destination type which is also the default value
	DestinationType pulumi.StringPtrInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringPtrInput
	// The ARN of the KMS key used to encrypt GuardDuty findings. GuardDuty enforces this to be encrypted.
	KmsKeyArn pulumi.StringPtrInput
}

func (PublishingDestinationState) ElementType

func (PublishingDestinationState) ElementType() reflect.Type

type ThreatIntelSet

type ThreatIntelSet struct {
	pulumi.CustomResourceState

	// Specifies whether GuardDuty is to start using the uploaded ThreatIntelSet.
	Activate pulumi.BoolOutput `pulumi:"activate"`
	// Amazon Resource Name (ARN) of the GuardDuty ThreatIntelSet.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringOutput `pulumi:"detectorId"`
	// The format of the file that contains the ThreatIntelSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringOutput `pulumi:"format"`
	// The URI of the file that contains the ThreatIntelSet.
	Location pulumi.StringOutput `pulumi:"location"`
	// The friendly name to identify the ThreatIntelSet.
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of resource tags. .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"`
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a resource to manage a GuardDuty ThreatIntelSet.

> **Note:** Currently in GuardDuty, users from member accounts cannot upload and further manage ThreatIntelSets. ThreatIntelSets that are uploaded by the primary account are imposed on GuardDuty functionality in its member accounts. See the [GuardDuty API Documentation](https://docs.aws.amazon.com/guardduty/latest/ug/create-threat-intel-set.html)

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/guardduty"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := guardduty.NewDetector(ctx, "primary", &guardduty.DetectorArgs{
			Enable: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			Acl: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		myThreatIntelSetBucketObject, err := s3.NewBucketObject(ctx, "myThreatIntelSetBucketObject", &s3.BucketObjectArgs{
			Acl:     pulumi.String("public-read"),
			Content: pulumi.String("10.0.0.0/8\n"),
			Bucket:  bucket.ID(),
			Key:     pulumi.String("MyThreatIntelSet"),
		})
		if err != nil {
			return err
		}
		_, err = guardduty.NewThreatIntelSet(ctx, "myThreatIntelSetThreatIntelSet", &guardduty.ThreatIntelSetArgs{
			Activate:   pulumi.Bool(true),
			DetectorId: primary.ID(),
			Format:     pulumi.String("TXT"),
			Location: pulumi.All(myThreatIntelSetBucketObject.Bucket, myThreatIntelSetBucketObject.Key).ApplyT(func(_args []interface{}) (string, error) {
				bucket := _args[0].(string)
				key := _args[1].(string)
				return fmt.Sprintf("%v%v%v%v", "https://s3.amazonaws.com/", bucket, "/", key), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GuardDuty ThreatIntelSet can be imported using the the primary GuardDuty detector ID and ThreatIntelSetID, e.g.,

```sh

$ pulumi import aws:guardduty/threatIntelSet:ThreatIntelSet MyThreatIntelSet 00b00fd5aecc0ab60a708659477e9617:123456789012

```

func GetThreatIntelSet

func GetThreatIntelSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ThreatIntelSetState, opts ...pulumi.ResourceOption) (*ThreatIntelSet, error)

GetThreatIntelSet gets an existing ThreatIntelSet 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 NewThreatIntelSet

func NewThreatIntelSet(ctx *pulumi.Context,
	name string, args *ThreatIntelSetArgs, opts ...pulumi.ResourceOption) (*ThreatIntelSet, error)

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

func (*ThreatIntelSet) ElementType

func (*ThreatIntelSet) ElementType() reflect.Type

func (*ThreatIntelSet) ToThreatIntelSetOutput

func (i *ThreatIntelSet) ToThreatIntelSetOutput() ThreatIntelSetOutput

func (*ThreatIntelSet) ToThreatIntelSetOutputWithContext

func (i *ThreatIntelSet) ToThreatIntelSetOutputWithContext(ctx context.Context) ThreatIntelSetOutput

type ThreatIntelSetArgs

type ThreatIntelSetArgs struct {
	// Specifies whether GuardDuty is to start using the uploaded ThreatIntelSet.
	Activate pulumi.BoolInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringInput
	// The format of the file that contains the ThreatIntelSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringInput
	// The URI of the file that contains the ThreatIntelSet.
	Location pulumi.StringInput
	// The friendly name to identify the ThreatIntelSet.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .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 ThreatIntelSet resource.

func (ThreatIntelSetArgs) ElementType

func (ThreatIntelSetArgs) ElementType() reflect.Type

type ThreatIntelSetArray

type ThreatIntelSetArray []ThreatIntelSetInput

func (ThreatIntelSetArray) ElementType

func (ThreatIntelSetArray) ElementType() reflect.Type

func (ThreatIntelSetArray) ToThreatIntelSetArrayOutput

func (i ThreatIntelSetArray) ToThreatIntelSetArrayOutput() ThreatIntelSetArrayOutput

func (ThreatIntelSetArray) ToThreatIntelSetArrayOutputWithContext

func (i ThreatIntelSetArray) ToThreatIntelSetArrayOutputWithContext(ctx context.Context) ThreatIntelSetArrayOutput

type ThreatIntelSetArrayInput

type ThreatIntelSetArrayInput interface {
	pulumi.Input

	ToThreatIntelSetArrayOutput() ThreatIntelSetArrayOutput
	ToThreatIntelSetArrayOutputWithContext(context.Context) ThreatIntelSetArrayOutput
}

ThreatIntelSetArrayInput is an input type that accepts ThreatIntelSetArray and ThreatIntelSetArrayOutput values. You can construct a concrete instance of `ThreatIntelSetArrayInput` via:

ThreatIntelSetArray{ ThreatIntelSetArgs{...} }

type ThreatIntelSetArrayOutput

type ThreatIntelSetArrayOutput struct{ *pulumi.OutputState }

func (ThreatIntelSetArrayOutput) ElementType

func (ThreatIntelSetArrayOutput) ElementType() reflect.Type

func (ThreatIntelSetArrayOutput) Index

func (ThreatIntelSetArrayOutput) ToThreatIntelSetArrayOutput

func (o ThreatIntelSetArrayOutput) ToThreatIntelSetArrayOutput() ThreatIntelSetArrayOutput

func (ThreatIntelSetArrayOutput) ToThreatIntelSetArrayOutputWithContext

func (o ThreatIntelSetArrayOutput) ToThreatIntelSetArrayOutputWithContext(ctx context.Context) ThreatIntelSetArrayOutput

type ThreatIntelSetInput

type ThreatIntelSetInput interface {
	pulumi.Input

	ToThreatIntelSetOutput() ThreatIntelSetOutput
	ToThreatIntelSetOutputWithContext(ctx context.Context) ThreatIntelSetOutput
}

type ThreatIntelSetMap

type ThreatIntelSetMap map[string]ThreatIntelSetInput

func (ThreatIntelSetMap) ElementType

func (ThreatIntelSetMap) ElementType() reflect.Type

func (ThreatIntelSetMap) ToThreatIntelSetMapOutput

func (i ThreatIntelSetMap) ToThreatIntelSetMapOutput() ThreatIntelSetMapOutput

func (ThreatIntelSetMap) ToThreatIntelSetMapOutputWithContext

func (i ThreatIntelSetMap) ToThreatIntelSetMapOutputWithContext(ctx context.Context) ThreatIntelSetMapOutput

type ThreatIntelSetMapInput

type ThreatIntelSetMapInput interface {
	pulumi.Input

	ToThreatIntelSetMapOutput() ThreatIntelSetMapOutput
	ToThreatIntelSetMapOutputWithContext(context.Context) ThreatIntelSetMapOutput
}

ThreatIntelSetMapInput is an input type that accepts ThreatIntelSetMap and ThreatIntelSetMapOutput values. You can construct a concrete instance of `ThreatIntelSetMapInput` via:

ThreatIntelSetMap{ "key": ThreatIntelSetArgs{...} }

type ThreatIntelSetMapOutput

type ThreatIntelSetMapOutput struct{ *pulumi.OutputState }

func (ThreatIntelSetMapOutput) ElementType

func (ThreatIntelSetMapOutput) ElementType() reflect.Type

func (ThreatIntelSetMapOutput) MapIndex

func (ThreatIntelSetMapOutput) ToThreatIntelSetMapOutput

func (o ThreatIntelSetMapOutput) ToThreatIntelSetMapOutput() ThreatIntelSetMapOutput

func (ThreatIntelSetMapOutput) ToThreatIntelSetMapOutputWithContext

func (o ThreatIntelSetMapOutput) ToThreatIntelSetMapOutputWithContext(ctx context.Context) ThreatIntelSetMapOutput

type ThreatIntelSetOutput

type ThreatIntelSetOutput struct{ *pulumi.OutputState }

func (ThreatIntelSetOutput) ElementType

func (ThreatIntelSetOutput) ElementType() reflect.Type

func (ThreatIntelSetOutput) ToThreatIntelSetOutput

func (o ThreatIntelSetOutput) ToThreatIntelSetOutput() ThreatIntelSetOutput

func (ThreatIntelSetOutput) ToThreatIntelSetOutputWithContext

func (o ThreatIntelSetOutput) ToThreatIntelSetOutputWithContext(ctx context.Context) ThreatIntelSetOutput

type ThreatIntelSetState

type ThreatIntelSetState struct {
	// Specifies whether GuardDuty is to start using the uploaded ThreatIntelSet.
	Activate pulumi.BoolPtrInput
	// Amazon Resource Name (ARN) of the GuardDuty ThreatIntelSet.
	Arn pulumi.StringPtrInput
	// The detector ID of the GuardDuty.
	DetectorId pulumi.StringPtrInput
	// The format of the file that contains the ThreatIntelSet. Valid values: `TXT` | `STIX` | `OTX_CSV` | `ALIEN_VAULT` | `PROOF_POINT` | `FIRE_EYE`
	Format pulumi.StringPtrInput
	// The URI of the file that contains the ThreatIntelSet.
	Location pulumi.StringPtrInput
	// The friendly name to identify the ThreatIntelSet.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider .
	TagsAll pulumi.StringMapInput
}

func (ThreatIntelSetState) ElementType

func (ThreatIntelSetState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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