github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/auditmanager/getControl.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package auditmanager
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Data source for managing an AWS Audit Manager Control.
    15  //
    16  // ## Example Usage
    17  //
    18  // ### Basic Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
    34  //				Name: "1. Risk Management",
    35  //				Type: "Standard",
    36  //			}, nil)
    37  //			if err != nil {
    38  //				return err
    39  //			}
    40  //			return nil
    41  //		})
    42  //	}
    43  //
    44  // ```
    45  // <!--End PulumiCodeChooser -->
    46  //
    47  // ### With Framework Resource
    48  //
    49  // <!--Start PulumiCodeChooser -->
    50  // ```go
    51  // package main
    52  //
    53  // import (
    54  //
    55  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/auditmanager"
    56  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    57  //
    58  // )
    59  //
    60  //	func main() {
    61  //		pulumi.Run(func(ctx *pulumi.Context) error {
    62  //			example, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
    63  //				Name: "1. Risk Management",
    64  //				Type: "Standard",
    65  //			}, nil)
    66  //			if err != nil {
    67  //				return err
    68  //			}
    69  //			example2, err := auditmanager.LookupControl(ctx, &auditmanager.LookupControlArgs{
    70  //				Name: "2. Personnel",
    71  //				Type: "Standard",
    72  //			}, nil)
    73  //			if err != nil {
    74  //				return err
    75  //			}
    76  //			_, err = auditmanager.NewFramework(ctx, "example", &auditmanager.FrameworkArgs{
    77  //				Name: pulumi.String("example"),
    78  //				ControlSets: auditmanager.FrameworkControlSetArray{
    79  //					&auditmanager.FrameworkControlSetArgs{
    80  //						Name: pulumi.String("example"),
    81  //						Controls: auditmanager.FrameworkControlSetControlArray{
    82  //							&auditmanager.FrameworkControlSetControlArgs{
    83  //								Id: pulumi.String(example.Id),
    84  //							},
    85  //						},
    86  //					},
    87  //					&auditmanager.FrameworkControlSetArgs{
    88  //						Name: pulumi.String("example2"),
    89  //						Controls: auditmanager.FrameworkControlSetControlArray{
    90  //							&auditmanager.FrameworkControlSetControlArgs{
    91  //								Id: pulumi.String(example2.Id),
    92  //							},
    93  //						},
    94  //					},
    95  //				},
    96  //			})
    97  //			if err != nil {
    98  //				return err
    99  //			}
   100  //			return nil
   101  //		})
   102  //	}
   103  //
   104  // ```
   105  // <!--End PulumiCodeChooser -->
   106  func LookupControl(ctx *pulumi.Context, args *LookupControlArgs, opts ...pulumi.InvokeOption) (*LookupControlResult, error) {
   107  	opts = internal.PkgInvokeDefaultOpts(opts)
   108  	var rv LookupControlResult
   109  	err := ctx.Invoke("aws:auditmanager/getControl:getControl", args, &rv, opts...)
   110  	if err != nil {
   111  		return nil, err
   112  	}
   113  	return &rv, nil
   114  }
   115  
   116  // A collection of arguments for invoking getControl.
   117  type LookupControlArgs struct {
   118  	ControlMappingSources []GetControlControlMappingSource `pulumi:"controlMappingSources"`
   119  	// Name of the control.
   120  	Name string `pulumi:"name"`
   121  	// Type of control. Valid values are `Custom` and `Standard`.
   122  	Type string `pulumi:"type"`
   123  }
   124  
   125  // A collection of values returned by getControl.
   126  type LookupControlResult struct {
   127  	ActionPlanInstructions string                           `pulumi:"actionPlanInstructions"`
   128  	ActionPlanTitle        string                           `pulumi:"actionPlanTitle"`
   129  	Arn                    string                           `pulumi:"arn"`
   130  	ControlMappingSources  []GetControlControlMappingSource `pulumi:"controlMappingSources"`
   131  	Description            string                           `pulumi:"description"`
   132  	Id                     string                           `pulumi:"id"`
   133  	Name                   string                           `pulumi:"name"`
   134  	Tags                   map[string]string                `pulumi:"tags"`
   135  	TestingInformation     string                           `pulumi:"testingInformation"`
   136  	Type                   string                           `pulumi:"type"`
   137  }
   138  
   139  func LookupControlOutput(ctx *pulumi.Context, args LookupControlOutputArgs, opts ...pulumi.InvokeOption) LookupControlResultOutput {
   140  	return pulumi.ToOutputWithContext(context.Background(), args).
   141  		ApplyT(func(v interface{}) (LookupControlResult, error) {
   142  			args := v.(LookupControlArgs)
   143  			r, err := LookupControl(ctx, &args, opts...)
   144  			var s LookupControlResult
   145  			if r != nil {
   146  				s = *r
   147  			}
   148  			return s, err
   149  		}).(LookupControlResultOutput)
   150  }
   151  
   152  // A collection of arguments for invoking getControl.
   153  type LookupControlOutputArgs struct {
   154  	ControlMappingSources GetControlControlMappingSourceArrayInput `pulumi:"controlMappingSources"`
   155  	// Name of the control.
   156  	Name pulumi.StringInput `pulumi:"name"`
   157  	// Type of control. Valid values are `Custom` and `Standard`.
   158  	Type pulumi.StringInput `pulumi:"type"`
   159  }
   160  
   161  func (LookupControlOutputArgs) ElementType() reflect.Type {
   162  	return reflect.TypeOf((*LookupControlArgs)(nil)).Elem()
   163  }
   164  
   165  // A collection of values returned by getControl.
   166  type LookupControlResultOutput struct{ *pulumi.OutputState }
   167  
   168  func (LookupControlResultOutput) ElementType() reflect.Type {
   169  	return reflect.TypeOf((*LookupControlResult)(nil)).Elem()
   170  }
   171  
   172  func (o LookupControlResultOutput) ToLookupControlResultOutput() LookupControlResultOutput {
   173  	return o
   174  }
   175  
   176  func (o LookupControlResultOutput) ToLookupControlResultOutputWithContext(ctx context.Context) LookupControlResultOutput {
   177  	return o
   178  }
   179  
   180  func (o LookupControlResultOutput) ActionPlanInstructions() pulumi.StringOutput {
   181  	return o.ApplyT(func(v LookupControlResult) string { return v.ActionPlanInstructions }).(pulumi.StringOutput)
   182  }
   183  
   184  func (o LookupControlResultOutput) ActionPlanTitle() pulumi.StringOutput {
   185  	return o.ApplyT(func(v LookupControlResult) string { return v.ActionPlanTitle }).(pulumi.StringOutput)
   186  }
   187  
   188  func (o LookupControlResultOutput) Arn() pulumi.StringOutput {
   189  	return o.ApplyT(func(v LookupControlResult) string { return v.Arn }).(pulumi.StringOutput)
   190  }
   191  
   192  func (o LookupControlResultOutput) ControlMappingSources() GetControlControlMappingSourceArrayOutput {
   193  	return o.ApplyT(func(v LookupControlResult) []GetControlControlMappingSource { return v.ControlMappingSources }).(GetControlControlMappingSourceArrayOutput)
   194  }
   195  
   196  func (o LookupControlResultOutput) Description() pulumi.StringOutput {
   197  	return o.ApplyT(func(v LookupControlResult) string { return v.Description }).(pulumi.StringOutput)
   198  }
   199  
   200  func (o LookupControlResultOutput) Id() pulumi.StringOutput {
   201  	return o.ApplyT(func(v LookupControlResult) string { return v.Id }).(pulumi.StringOutput)
   202  }
   203  
   204  func (o LookupControlResultOutput) Name() pulumi.StringOutput {
   205  	return o.ApplyT(func(v LookupControlResult) string { return v.Name }).(pulumi.StringOutput)
   206  }
   207  
   208  func (o LookupControlResultOutput) Tags() pulumi.StringMapOutput {
   209  	return o.ApplyT(func(v LookupControlResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   210  }
   211  
   212  func (o LookupControlResultOutput) TestingInformation() pulumi.StringOutput {
   213  	return o.ApplyT(func(v LookupControlResult) string { return v.TestingInformation }).(pulumi.StringOutput)
   214  }
   215  
   216  func (o LookupControlResultOutput) Type() pulumi.StringOutput {
   217  	return o.ApplyT(func(v LookupControlResult) string { return v.Type }).(pulumi.StringOutput)
   218  }
   219  
   220  func init() {
   221  	pulumi.RegisterOutputType(LookupControlResultOutput{})
   222  }