1. Packages
  2. AWS
  3. API Docs
  4. auditmanager
  5. getControl
AWS v6.71.0 published on Friday, Mar 7, 2025 by Pulumi

aws.auditmanager.getControl

Explore with Pulumi AI

Data source for managing an AWS Audit Manager Control.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = aws.auditmanager.getControl({
    name: "1. Risk Management",
    type: "Standard",
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.auditmanager.get_control(name="1. Risk Management",
    type="Standard")
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
			Name: "1. Risk Management",
			Type: "Standard",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = Aws.Auditmanager.GetControl.Invoke(new()
    {
        Name = "1. Risk Management",
        Type = "Standard",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.auditmanager.AuditmanagerFunctions;
import com.pulumi.aws.auditmanager.inputs.GetControlArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()
            .name("1. Risk Management")
            .type("Standard")
            .build());

    }
}
Copy
variables:
  example:
    fn::invoke:
      function: aws:auditmanager:getControl
      arguments:
        name: 1. Risk Management
        type: Standard
Copy

With Framework Resource

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = aws.auditmanager.getControl({
    name: "1. Risk Management",
    type: "Standard",
});
const example2 = aws.auditmanager.getControl({
    name: "2. Personnel",
    type: "Standard",
});
const exampleFramework = new aws.auditmanager.Framework("example", {
    name: "example",
    controlSets: [
        {
            name: "example",
            controls: [{
                id: example.then(example => example.id),
            }],
        },
        {
            name: "example2",
            controls: [{
                id: example2.then(example2 => example2.id),
            }],
        },
    ],
});
Copy
import pulumi
import pulumi_aws as aws

example = aws.auditmanager.get_control(name="1. Risk Management",
    type="Standard")
example2 = aws.auditmanager.get_control(name="2. Personnel",
    type="Standard")
example_framework = aws.auditmanager.Framework("example",
    name="example",
    control_sets=[
        {
            "name": "example",
            "controls": [{
                "id": example.id,
            }],
        },
        {
            "name": "example2",
            "controls": [{
                "id": example2.id,
            }],
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
			Name: "1. Risk Management",
			Type: "Standard",
		}, nil)
		if err != nil {
			return err
		}
		example2, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
			Name: "2. Personnel",
			Type: "Standard",
		}, nil)
		if err != nil {
			return err
		}
		_, err = auditmanager.NewFramework(ctx, "example", &auditmanager.FrameworkArgs{
			Name: pulumi.String("example"),
			ControlSets: auditmanager.FrameworkControlSetArray{
				&auditmanager.FrameworkControlSetArgs{
					Name: pulumi.String("example"),
					Controls: auditmanager.FrameworkControlSetControlArray{
						&auditmanager.FrameworkControlSetControlArgs{
							Id: pulumi.String(example.Id),
						},
					},
				},
				&auditmanager.FrameworkControlSetArgs{
					Name: pulumi.String("example2"),
					Controls: auditmanager.FrameworkControlSetControlArray{
						&auditmanager.FrameworkControlSetControlArgs{
							Id: pulumi.String(example2.Id),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var example = Aws.Auditmanager.GetControl.Invoke(new()
    {
        Name = "1. Risk Management",
        Type = "Standard",
    });

    var example2 = Aws.Auditmanager.GetControl.Invoke(new()
    {
        Name = "2. Personnel",
        Type = "Standard",
    });

    var exampleFramework = new Aws.Auditmanager.Framework("example", new()
    {
        Name = "example",
        ControlSets = new[]
        {
            new Aws.Auditmanager.Inputs.FrameworkControlSetArgs
            {
                Name = "example",
                Controls = new[]
                {
                    new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs
                    {
                        Id = example.Apply(getControlResult => getControlResult.Id),
                    },
                },
            },
            new Aws.Auditmanager.Inputs.FrameworkControlSetArgs
            {
                Name = "example2",
                Controls = new[]
                {
                    new Aws.Auditmanager.Inputs.FrameworkControlSetControlArgs
                    {
                        Id = example2.Apply(getControlResult => getControlResult.Id),
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.auditmanager.AuditmanagerFunctions;
import com.pulumi.aws.auditmanager.inputs.GetControlArgs;
import com.pulumi.aws.auditmanager.Framework;
import com.pulumi.aws.auditmanager.FrameworkArgs;
import com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var example = AuditmanagerFunctions.getControl(GetControlArgs.builder()
            .name("1. Risk Management")
            .type("Standard")
            .build());

        final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()
            .name("2. Personnel")
            .type("Standard")
            .build());

        var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder()
            .name("example")
            .controlSets(            
                FrameworkControlSetArgs.builder()
                    .name("example")
                    .controls(FrameworkControlSetControlArgs.builder()
                        .id(example.applyValue(getControlResult -> getControlResult.id()))
                        .build())
                    .build(),
                FrameworkControlSetArgs.builder()
                    .name("example2")
                    .controls(FrameworkControlSetControlArgs.builder()
                        .id(example2.applyValue(getControlResult -> getControlResult.id()))
                        .build())
                    .build())
            .build());

    }
}
Copy
resources:
  exampleFramework:
    type: aws:auditmanager:Framework
    name: example
    properties:
      name: example
      controlSets:
        - name: example
          controls:
            - id: ${example.id}
        - name: example2
          controls:
            - id: ${example2.id}
variables:
  example:
    fn::invoke:
      function: aws:auditmanager:getControl
      arguments:
        name: 1. Risk Management
        type: Standard
  example2:
    fn::invoke:
      function: aws:auditmanager:getControl
      arguments:
        name: 2. Personnel
        type: Standard
Copy

Using getControl

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getControl(args: GetControlArgs, opts?: InvokeOptions): Promise<GetControlResult>
function getControlOutput(args: GetControlOutputArgs, opts?: InvokeOptions): Output<GetControlResult>
Copy
def get_control(control_mapping_sources: Optional[Sequence[GetControlControlMappingSource]] = None,
                name: Optional[str] = None,
                type: Optional[str] = None,
                opts: Optional[InvokeOptions] = None) -> GetControlResult
def get_control_output(control_mapping_sources: Optional[pulumi.Input[Sequence[pulumi.Input[GetControlControlMappingSourceArgs]]]] = None,
                name: Optional[pulumi.Input[str]] = None,
                type: Optional[pulumi.Input[str]] = None,
                opts: Optional[InvokeOptions] = None) -> Output[GetControlResult]
Copy
func LookupControl(ctx *Context, args *LookupControlArgs, opts ...InvokeOption) (*LookupControlResult, error)
func LookupControlOutput(ctx *Context, args *LookupControlOutputArgs, opts ...InvokeOption) LookupControlResultOutput
Copy

> Note: This function is named LookupControl in the Go SDK.

public static class GetControl 
{
    public static Task<GetControlResult> InvokeAsync(GetControlArgs args, InvokeOptions? opts = null)
    public static Output<GetControlResult> Invoke(GetControlInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetControlResult> getControl(GetControlArgs args, InvokeOptions options)
public static Output<GetControlResult> getControl(GetControlArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: aws:auditmanager/getControl:getControl
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name This property is required. string
Name of the control.
Type This property is required. string
Type of control. Valid values are Custom and Standard.
ControlMappingSources List<GetControlControlMappingSource>
Name This property is required. string
Name of the control.
Type This property is required. string
Type of control. Valid values are Custom and Standard.
ControlMappingSources []GetControlControlMappingSource
name This property is required. String
Name of the control.
type This property is required. String
Type of control. Valid values are Custom and Standard.
controlMappingSources List<GetControlControlMappingSource>
name This property is required. string
Name of the control.
type This property is required. string
Type of control. Valid values are Custom and Standard.
controlMappingSources GetControlControlMappingSource[]
name This property is required. str
Name of the control.
type This property is required. str
Type of control. Valid values are Custom and Standard.
control_mapping_sources Sequence[GetControlControlMappingSource]
name This property is required. String
Name of the control.
type This property is required. String
Type of control. Valid values are Custom and Standard.
controlMappingSources List<Property Map>

getControl Result

The following output properties are available:

Supporting Types

GetControlControlMappingSource

SourceDescription This property is required. string
SourceFrequency This property is required. string
SourceId This property is required. string
SourceName This property is required. string
SourceSetUpOption This property is required. string
SourceType This property is required. string
TroubleshootingText This property is required. string
SourceKeyword GetControlControlMappingSourceSourceKeyword
SourceDescription This property is required. string
SourceFrequency This property is required. string
SourceId This property is required. string
SourceName This property is required. string
SourceSetUpOption This property is required. string
SourceType This property is required. string
TroubleshootingText This property is required. string
SourceKeyword GetControlControlMappingSourceSourceKeyword
sourceDescription This property is required. String
sourceFrequency This property is required. String
sourceId This property is required. String
sourceName This property is required. String
sourceSetUpOption This property is required. String
sourceType This property is required. String
troubleshootingText This property is required. String
sourceKeyword GetControlControlMappingSourceSourceKeyword
sourceDescription This property is required. string
sourceFrequency This property is required. string
sourceId This property is required. string
sourceName This property is required. string
sourceSetUpOption This property is required. string
sourceType This property is required. string
troubleshootingText This property is required. string
sourceKeyword GetControlControlMappingSourceSourceKeyword
source_description This property is required. str
source_frequency This property is required. str
source_id This property is required. str
source_name This property is required. str
source_set_up_option This property is required. str
source_type This property is required. str
troubleshooting_text This property is required. str
source_keyword GetControlControlMappingSourceSourceKeyword
sourceDescription This property is required. String
sourceFrequency This property is required. String
sourceId This property is required. String
sourceName This property is required. String
sourceSetUpOption This property is required. String
sourceType This property is required. String
troubleshootingText This property is required. String
sourceKeyword Property Map

GetControlControlMappingSourceSourceKeyword

KeywordInputType This property is required. string
KeywordValue This property is required. string
KeywordInputType This property is required. string
KeywordValue This property is required. string
keywordInputType This property is required. String
keywordValue This property is required. String
keywordInputType This property is required. string
keywordValue This property is required. string
keyword_input_type This property is required. str
keyword_value This property is required. str
keywordInputType This property is required. String
keywordValue This property is required. String

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.