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 }