controltower

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 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 ControlTowerControl

type ControlTowerControl struct {
	pulumi.CustomResourceState

	// The ARN of the control. Only Strongly recommended and Elective controls are permitted, with the exception of the Region deny guardrail.
	ControlIdentifier pulumi.StringOutput `pulumi:"controlIdentifier"`
	// The ARN of the organizational unit.
	TargetIdentifier pulumi.StringOutput `pulumi:"targetIdentifier"`
}

Allows the application of pre-defined controls to organizational units. For more information on usage, please see the [AWS Control Tower User Guide](https://docs.aws.amazon.com/controltower/latest/userguide/enable-guardrails.html).

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/controltower"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleOrganization, err := organizations.LookupOrganization(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleOrganizationalUnits, err := organizations.GetOrganizationalUnits(ctx, &organizations.GetOrganizationalUnitsArgs{
			ParentId: exampleOrganization.Roots[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		_, err = controltower.NewControlTowerControl(ctx, "exampleControlTowerControl", &controltower.ControlTowerControlArgs{
			ControlIdentifier: pulumi.String(fmt.Sprintf("arn:aws:controltower:%v::control/AWS-GR_EC2_VOLUME_INUSE_CHECK", current.Name)),
			TargetIdentifier:  "TODO: For expression"[0],
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Control Tower Controls can be imported using their `organizational_unit_arn/control_identifier`, e.g.,

```sh

$ pulumi import aws:controltower/controlTowerControl:ControlTowerControl example arn:aws:organizations::123456789101:ou/o-qqaejywet/ou-qg5o-ufbhdtv3,arn:aws:controltower:us-east-1::control/WTDSMKDKDNLE

```

func GetControlTowerControl

func GetControlTowerControl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ControlTowerControlState, opts ...pulumi.ResourceOption) (*ControlTowerControl, error)

GetControlTowerControl gets an existing ControlTowerControl 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 NewControlTowerControl

func NewControlTowerControl(ctx *pulumi.Context,
	name string, args *ControlTowerControlArgs, opts ...pulumi.ResourceOption) (*ControlTowerControl, error)

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

func (*ControlTowerControl) ElementType

func (*ControlTowerControl) ElementType() reflect.Type

func (*ControlTowerControl) ToControlTowerControlOutput

func (i *ControlTowerControl) ToControlTowerControlOutput() ControlTowerControlOutput

func (*ControlTowerControl) ToControlTowerControlOutputWithContext

func (i *ControlTowerControl) ToControlTowerControlOutputWithContext(ctx context.Context) ControlTowerControlOutput

type ControlTowerControlArgs

type ControlTowerControlArgs struct {
	// The ARN of the control. Only Strongly recommended and Elective controls are permitted, with the exception of the Region deny guardrail.
	ControlIdentifier pulumi.StringInput
	// The ARN of the organizational unit.
	TargetIdentifier pulumi.StringInput
}

The set of arguments for constructing a ControlTowerControl resource.

func (ControlTowerControlArgs) ElementType

func (ControlTowerControlArgs) ElementType() reflect.Type

type ControlTowerControlArray

type ControlTowerControlArray []ControlTowerControlInput

func (ControlTowerControlArray) ElementType

func (ControlTowerControlArray) ElementType() reflect.Type

func (ControlTowerControlArray) ToControlTowerControlArrayOutput

func (i ControlTowerControlArray) ToControlTowerControlArrayOutput() ControlTowerControlArrayOutput

func (ControlTowerControlArray) ToControlTowerControlArrayOutputWithContext

func (i ControlTowerControlArray) ToControlTowerControlArrayOutputWithContext(ctx context.Context) ControlTowerControlArrayOutput

type ControlTowerControlArrayInput

type ControlTowerControlArrayInput interface {
	pulumi.Input

	ToControlTowerControlArrayOutput() ControlTowerControlArrayOutput
	ToControlTowerControlArrayOutputWithContext(context.Context) ControlTowerControlArrayOutput
}

ControlTowerControlArrayInput is an input type that accepts ControlTowerControlArray and ControlTowerControlArrayOutput values. You can construct a concrete instance of `ControlTowerControlArrayInput` via:

ControlTowerControlArray{ ControlTowerControlArgs{...} }

type ControlTowerControlArrayOutput

type ControlTowerControlArrayOutput struct{ *pulumi.OutputState }

func (ControlTowerControlArrayOutput) ElementType

func (ControlTowerControlArrayOutput) Index

func (ControlTowerControlArrayOutput) ToControlTowerControlArrayOutput

func (o ControlTowerControlArrayOutput) ToControlTowerControlArrayOutput() ControlTowerControlArrayOutput

func (ControlTowerControlArrayOutput) ToControlTowerControlArrayOutputWithContext

func (o ControlTowerControlArrayOutput) ToControlTowerControlArrayOutputWithContext(ctx context.Context) ControlTowerControlArrayOutput

type ControlTowerControlInput

type ControlTowerControlInput interface {
	pulumi.Input

	ToControlTowerControlOutput() ControlTowerControlOutput
	ToControlTowerControlOutputWithContext(ctx context.Context) ControlTowerControlOutput
}

type ControlTowerControlMap

type ControlTowerControlMap map[string]ControlTowerControlInput

func (ControlTowerControlMap) ElementType

func (ControlTowerControlMap) ElementType() reflect.Type

func (ControlTowerControlMap) ToControlTowerControlMapOutput

func (i ControlTowerControlMap) ToControlTowerControlMapOutput() ControlTowerControlMapOutput

func (ControlTowerControlMap) ToControlTowerControlMapOutputWithContext

func (i ControlTowerControlMap) ToControlTowerControlMapOutputWithContext(ctx context.Context) ControlTowerControlMapOutput

type ControlTowerControlMapInput

type ControlTowerControlMapInput interface {
	pulumi.Input

	ToControlTowerControlMapOutput() ControlTowerControlMapOutput
	ToControlTowerControlMapOutputWithContext(context.Context) ControlTowerControlMapOutput
}

ControlTowerControlMapInput is an input type that accepts ControlTowerControlMap and ControlTowerControlMapOutput values. You can construct a concrete instance of `ControlTowerControlMapInput` via:

ControlTowerControlMap{ "key": ControlTowerControlArgs{...} }

type ControlTowerControlMapOutput

type ControlTowerControlMapOutput struct{ *pulumi.OutputState }

func (ControlTowerControlMapOutput) ElementType

func (ControlTowerControlMapOutput) MapIndex

func (ControlTowerControlMapOutput) ToControlTowerControlMapOutput

func (o ControlTowerControlMapOutput) ToControlTowerControlMapOutput() ControlTowerControlMapOutput

func (ControlTowerControlMapOutput) ToControlTowerControlMapOutputWithContext

func (o ControlTowerControlMapOutput) ToControlTowerControlMapOutputWithContext(ctx context.Context) ControlTowerControlMapOutput

type ControlTowerControlOutput

type ControlTowerControlOutput struct{ *pulumi.OutputState }

func (ControlTowerControlOutput) ControlIdentifier

func (o ControlTowerControlOutput) ControlIdentifier() pulumi.StringOutput

The ARN of the control. Only Strongly recommended and Elective controls are permitted, with the exception of the Region deny guardrail.

func (ControlTowerControlOutput) ElementType

func (ControlTowerControlOutput) ElementType() reflect.Type

func (ControlTowerControlOutput) TargetIdentifier

func (o ControlTowerControlOutput) TargetIdentifier() pulumi.StringOutput

The ARN of the organizational unit.

func (ControlTowerControlOutput) ToControlTowerControlOutput

func (o ControlTowerControlOutput) ToControlTowerControlOutput() ControlTowerControlOutput

func (ControlTowerControlOutput) ToControlTowerControlOutputWithContext

func (o ControlTowerControlOutput) ToControlTowerControlOutputWithContext(ctx context.Context) ControlTowerControlOutput

type ControlTowerControlState

type ControlTowerControlState struct {
	// The ARN of the control. Only Strongly recommended and Elective controls are permitted, with the exception of the Region deny guardrail.
	ControlIdentifier pulumi.StringPtrInput
	// The ARN of the organizational unit.
	TargetIdentifier pulumi.StringPtrInput
}

func (ControlTowerControlState) ElementType

func (ControlTowerControlState) ElementType() reflect.Type

type GetControlsArgs

type GetControlsArgs struct {
	// The ARN of the organizational unit.
	TargetIdentifier string `pulumi:"targetIdentifier"`
}

A collection of arguments for invoking getControls.

type GetControlsOutputArgs

type GetControlsOutputArgs struct {
	// The ARN of the organizational unit.
	TargetIdentifier pulumi.StringInput `pulumi:"targetIdentifier"`
}

A collection of arguments for invoking getControls.

func (GetControlsOutputArgs) ElementType

func (GetControlsOutputArgs) ElementType() reflect.Type

type GetControlsResult

type GetControlsResult struct {
	// List of all the ARNs for the controls applied to the `targetIdentifier`.
	EnabledControls []string `pulumi:"enabledControls"`
	// The provider-assigned unique ID for this managed resource.
	Id               string `pulumi:"id"`
	TargetIdentifier string `pulumi:"targetIdentifier"`
}

A collection of values returned by getControls.

func GetControls

func GetControls(ctx *pulumi.Context, args *GetControlsArgs, opts ...pulumi.InvokeOption) (*GetControlsResult, error)

List of Control Tower controls applied to an OU.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/controltower"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		thisOrganization, err := organizations.LookupOrganization(ctx, nil, nil)
		if err != nil {
			return err
		}
		thisOrganizationalUnits, err := organizations.GetOrganizationalUnits(ctx, &organizations.GetOrganizationalUnitsArgs{
			ParentId: thisOrganization.Roots[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		_, err = controltower.GetControls(ctx, &controltower.GetControlsArgs{
			TargetIdentifier: "TODO: For expression"[0],
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetControlsResultOutput

type GetControlsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getControls.

func (GetControlsResultOutput) ElementType

func (GetControlsResultOutput) ElementType() reflect.Type

func (GetControlsResultOutput) EnabledControls

func (o GetControlsResultOutput) EnabledControls() pulumi.StringArrayOutput

List of all the ARNs for the controls applied to the `targetIdentifier`.

func (GetControlsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetControlsResultOutput) TargetIdentifier

func (o GetControlsResultOutput) TargetIdentifier() pulumi.StringOutput

func (GetControlsResultOutput) ToGetControlsResultOutput

func (o GetControlsResultOutput) ToGetControlsResultOutput() GetControlsResultOutput

func (GetControlsResultOutput) ToGetControlsResultOutputWithContext

func (o GetControlsResultOutput) ToGetControlsResultOutputWithContext(ctx context.Context) GetControlsResultOutput

Jump to

Keyboard shortcuts

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