github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/guardduty/organizationConfigurationFeature.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 guardduty 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource to manage a single Amazon GuardDuty [organization configuration feature](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html#guardduty-features). 16 // 17 // > **NOTE:** Deleting this resource does not disable the organization configuration feature, the resource in simply removed from state instead. 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/guardduty" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // example, err := guardduty.NewDetector(ctx, "example", &guardduty.DetectorArgs{ 35 // Enable: pulumi.Bool(true), 36 // }) 37 // if err != nil { 38 // return err 39 // } 40 // _, err = guardduty.NewOrganizationConfigurationFeature(ctx, "eks_runtime_monitoring", &guardduty.OrganizationConfigurationFeatureArgs{ 41 // DetectorId: example.ID(), 42 // Name: pulumi.String("EKS_RUNTIME_MONITORING"), 43 // AutoEnable: pulumi.String("ALL"), 44 // AdditionalConfigurations: guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArray{ 45 // &guardduty.OrganizationConfigurationFeatureAdditionalConfigurationArgs{ 46 // Name: pulumi.String("EKS_ADDON_MANAGEMENT"), 47 // AutoEnable: pulumi.String("NEW"), 48 // }, 49 // }, 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 type OrganizationConfigurationFeature struct { 61 pulumi.CustomResourceState 62 63 // The additional information that will be configured for the organization See below. 64 AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput `pulumi:"additionalConfigurations"` 65 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 66 AutoEnable pulumi.StringOutput `pulumi:"autoEnable"` 67 // The ID of the detector that configures the delegated administrator. 68 DetectorId pulumi.StringOutput `pulumi:"detectorId"` 69 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 70 Name pulumi.StringOutput `pulumi:"name"` 71 } 72 73 // NewOrganizationConfigurationFeature registers a new resource with the given unique name, arguments, and options. 74 func NewOrganizationConfigurationFeature(ctx *pulumi.Context, 75 name string, args *OrganizationConfigurationFeatureArgs, opts ...pulumi.ResourceOption) (*OrganizationConfigurationFeature, error) { 76 if args == nil { 77 return nil, errors.New("missing one or more required arguments") 78 } 79 80 if args.AutoEnable == nil { 81 return nil, errors.New("invalid value for required argument 'AutoEnable'") 82 } 83 if args.DetectorId == nil { 84 return nil, errors.New("invalid value for required argument 'DetectorId'") 85 } 86 opts = internal.PkgResourceDefaultOpts(opts) 87 var resource OrganizationConfigurationFeature 88 err := ctx.RegisterResource("aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature", name, args, &resource, opts...) 89 if err != nil { 90 return nil, err 91 } 92 return &resource, nil 93 } 94 95 // GetOrganizationConfigurationFeature gets an existing OrganizationConfigurationFeature resource's state with the given name, ID, and optional 96 // state properties that are used to uniquely qualify the lookup (nil if not required). 97 func GetOrganizationConfigurationFeature(ctx *pulumi.Context, 98 name string, id pulumi.IDInput, state *OrganizationConfigurationFeatureState, opts ...pulumi.ResourceOption) (*OrganizationConfigurationFeature, error) { 99 var resource OrganizationConfigurationFeature 100 err := ctx.ReadResource("aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature", name, id, state, &resource, opts...) 101 if err != nil { 102 return nil, err 103 } 104 return &resource, nil 105 } 106 107 // Input properties used for looking up and filtering OrganizationConfigurationFeature resources. 108 type organizationConfigurationFeatureState struct { 109 // The additional information that will be configured for the organization See below. 110 AdditionalConfigurations []OrganizationConfigurationFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` 111 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 112 AutoEnable *string `pulumi:"autoEnable"` 113 // The ID of the detector that configures the delegated administrator. 114 DetectorId *string `pulumi:"detectorId"` 115 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 116 Name *string `pulumi:"name"` 117 } 118 119 type OrganizationConfigurationFeatureState struct { 120 // The additional information that will be configured for the organization See below. 121 AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayInput 122 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 123 AutoEnable pulumi.StringPtrInput 124 // The ID of the detector that configures the delegated administrator. 125 DetectorId pulumi.StringPtrInput 126 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 127 Name pulumi.StringPtrInput 128 } 129 130 func (OrganizationConfigurationFeatureState) ElementType() reflect.Type { 131 return reflect.TypeOf((*organizationConfigurationFeatureState)(nil)).Elem() 132 } 133 134 type organizationConfigurationFeatureArgs struct { 135 // The additional information that will be configured for the organization See below. 136 AdditionalConfigurations []OrganizationConfigurationFeatureAdditionalConfiguration `pulumi:"additionalConfigurations"` 137 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 138 AutoEnable string `pulumi:"autoEnable"` 139 // The ID of the detector that configures the delegated administrator. 140 DetectorId string `pulumi:"detectorId"` 141 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 142 Name *string `pulumi:"name"` 143 } 144 145 // The set of arguments for constructing a OrganizationConfigurationFeature resource. 146 type OrganizationConfigurationFeatureArgs struct { 147 // The additional information that will be configured for the organization See below. 148 AdditionalConfigurations OrganizationConfigurationFeatureAdditionalConfigurationArrayInput 149 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 150 AutoEnable pulumi.StringInput 151 // The ID of the detector that configures the delegated administrator. 152 DetectorId pulumi.StringInput 153 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 154 Name pulumi.StringPtrInput 155 } 156 157 func (OrganizationConfigurationFeatureArgs) ElementType() reflect.Type { 158 return reflect.TypeOf((*organizationConfigurationFeatureArgs)(nil)).Elem() 159 } 160 161 type OrganizationConfigurationFeatureInput interface { 162 pulumi.Input 163 164 ToOrganizationConfigurationFeatureOutput() OrganizationConfigurationFeatureOutput 165 ToOrganizationConfigurationFeatureOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureOutput 166 } 167 168 func (*OrganizationConfigurationFeature) ElementType() reflect.Type { 169 return reflect.TypeOf((**OrganizationConfigurationFeature)(nil)).Elem() 170 } 171 172 func (i *OrganizationConfigurationFeature) ToOrganizationConfigurationFeatureOutput() OrganizationConfigurationFeatureOutput { 173 return i.ToOrganizationConfigurationFeatureOutputWithContext(context.Background()) 174 } 175 176 func (i *OrganizationConfigurationFeature) ToOrganizationConfigurationFeatureOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureOutput { 177 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationFeatureOutput) 178 } 179 180 // OrganizationConfigurationFeatureArrayInput is an input type that accepts OrganizationConfigurationFeatureArray and OrganizationConfigurationFeatureArrayOutput values. 181 // You can construct a concrete instance of `OrganizationConfigurationFeatureArrayInput` via: 182 // 183 // OrganizationConfigurationFeatureArray{ OrganizationConfigurationFeatureArgs{...} } 184 type OrganizationConfigurationFeatureArrayInput interface { 185 pulumi.Input 186 187 ToOrganizationConfigurationFeatureArrayOutput() OrganizationConfigurationFeatureArrayOutput 188 ToOrganizationConfigurationFeatureArrayOutputWithContext(context.Context) OrganizationConfigurationFeatureArrayOutput 189 } 190 191 type OrganizationConfigurationFeatureArray []OrganizationConfigurationFeatureInput 192 193 func (OrganizationConfigurationFeatureArray) ElementType() reflect.Type { 194 return reflect.TypeOf((*[]*OrganizationConfigurationFeature)(nil)).Elem() 195 } 196 197 func (i OrganizationConfigurationFeatureArray) ToOrganizationConfigurationFeatureArrayOutput() OrganizationConfigurationFeatureArrayOutput { 198 return i.ToOrganizationConfigurationFeatureArrayOutputWithContext(context.Background()) 199 } 200 201 func (i OrganizationConfigurationFeatureArray) ToOrganizationConfigurationFeatureArrayOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureArrayOutput { 202 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationFeatureArrayOutput) 203 } 204 205 // OrganizationConfigurationFeatureMapInput is an input type that accepts OrganizationConfigurationFeatureMap and OrganizationConfigurationFeatureMapOutput values. 206 // You can construct a concrete instance of `OrganizationConfigurationFeatureMapInput` via: 207 // 208 // OrganizationConfigurationFeatureMap{ "key": OrganizationConfigurationFeatureArgs{...} } 209 type OrganizationConfigurationFeatureMapInput interface { 210 pulumi.Input 211 212 ToOrganizationConfigurationFeatureMapOutput() OrganizationConfigurationFeatureMapOutput 213 ToOrganizationConfigurationFeatureMapOutputWithContext(context.Context) OrganizationConfigurationFeatureMapOutput 214 } 215 216 type OrganizationConfigurationFeatureMap map[string]OrganizationConfigurationFeatureInput 217 218 func (OrganizationConfigurationFeatureMap) ElementType() reflect.Type { 219 return reflect.TypeOf((*map[string]*OrganizationConfigurationFeature)(nil)).Elem() 220 } 221 222 func (i OrganizationConfigurationFeatureMap) ToOrganizationConfigurationFeatureMapOutput() OrganizationConfigurationFeatureMapOutput { 223 return i.ToOrganizationConfigurationFeatureMapOutputWithContext(context.Background()) 224 } 225 226 func (i OrganizationConfigurationFeatureMap) ToOrganizationConfigurationFeatureMapOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureMapOutput { 227 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationFeatureMapOutput) 228 } 229 230 type OrganizationConfigurationFeatureOutput struct{ *pulumi.OutputState } 231 232 func (OrganizationConfigurationFeatureOutput) ElementType() reflect.Type { 233 return reflect.TypeOf((**OrganizationConfigurationFeature)(nil)).Elem() 234 } 235 236 func (o OrganizationConfigurationFeatureOutput) ToOrganizationConfigurationFeatureOutput() OrganizationConfigurationFeatureOutput { 237 return o 238 } 239 240 func (o OrganizationConfigurationFeatureOutput) ToOrganizationConfigurationFeatureOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureOutput { 241 return o 242 } 243 244 // The additional information that will be configured for the organization See below. 245 func (o OrganizationConfigurationFeatureOutput) AdditionalConfigurations() OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput { 246 return o.ApplyT(func(v *OrganizationConfigurationFeature) OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput { 247 return v.AdditionalConfigurations 248 }).(OrganizationConfigurationFeatureAdditionalConfigurationArrayOutput) 249 } 250 251 // The status of the feature that is configured for the member accounts within the organization. Valid values: `NEW`, `ALL`, `NONE`. 252 func (o OrganizationConfigurationFeatureOutput) AutoEnable() pulumi.StringOutput { 253 return o.ApplyT(func(v *OrganizationConfigurationFeature) pulumi.StringOutput { return v.AutoEnable }).(pulumi.StringOutput) 254 } 255 256 // The ID of the detector that configures the delegated administrator. 257 func (o OrganizationConfigurationFeatureOutput) DetectorId() pulumi.StringOutput { 258 return o.ApplyT(func(v *OrganizationConfigurationFeature) pulumi.StringOutput { return v.DetectorId }).(pulumi.StringOutput) 259 } 260 261 // The name of the feature that will be configured for the organization. Valid values: `S3_DATA_EVENTS`, `EKS_AUDIT_LOGS`, `EBS_MALWARE_PROTECTION`, `RDS_LOGIN_EVENTS`, `EKS_RUNTIME_MONITORING`, `LAMBDA_NETWORK_LOGS`, `RUNTIME_MONITORING`. 262 func (o OrganizationConfigurationFeatureOutput) Name() pulumi.StringOutput { 263 return o.ApplyT(func(v *OrganizationConfigurationFeature) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 264 } 265 266 type OrganizationConfigurationFeatureArrayOutput struct{ *pulumi.OutputState } 267 268 func (OrganizationConfigurationFeatureArrayOutput) ElementType() reflect.Type { 269 return reflect.TypeOf((*[]*OrganizationConfigurationFeature)(nil)).Elem() 270 } 271 272 func (o OrganizationConfigurationFeatureArrayOutput) ToOrganizationConfigurationFeatureArrayOutput() OrganizationConfigurationFeatureArrayOutput { 273 return o 274 } 275 276 func (o OrganizationConfigurationFeatureArrayOutput) ToOrganizationConfigurationFeatureArrayOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureArrayOutput { 277 return o 278 } 279 280 func (o OrganizationConfigurationFeatureArrayOutput) Index(i pulumi.IntInput) OrganizationConfigurationFeatureOutput { 281 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationConfigurationFeature { 282 return vs[0].([]*OrganizationConfigurationFeature)[vs[1].(int)] 283 }).(OrganizationConfigurationFeatureOutput) 284 } 285 286 type OrganizationConfigurationFeatureMapOutput struct{ *pulumi.OutputState } 287 288 func (OrganizationConfigurationFeatureMapOutput) ElementType() reflect.Type { 289 return reflect.TypeOf((*map[string]*OrganizationConfigurationFeature)(nil)).Elem() 290 } 291 292 func (o OrganizationConfigurationFeatureMapOutput) ToOrganizationConfigurationFeatureMapOutput() OrganizationConfigurationFeatureMapOutput { 293 return o 294 } 295 296 func (o OrganizationConfigurationFeatureMapOutput) ToOrganizationConfigurationFeatureMapOutputWithContext(ctx context.Context) OrganizationConfigurationFeatureMapOutput { 297 return o 298 } 299 300 func (o OrganizationConfigurationFeatureMapOutput) MapIndex(k pulumi.StringInput) OrganizationConfigurationFeatureOutput { 301 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationConfigurationFeature { 302 return vs[0].(map[string]*OrganizationConfigurationFeature)[vs[1].(string)] 303 }).(OrganizationConfigurationFeatureOutput) 304 } 305 306 func init() { 307 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationFeatureInput)(nil)).Elem(), &OrganizationConfigurationFeature{}) 308 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationFeatureArrayInput)(nil)).Elem(), OrganizationConfigurationFeatureArray{}) 309 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationFeatureMapInput)(nil)).Elem(), OrganizationConfigurationFeatureMap{}) 310 pulumi.RegisterOutputType(OrganizationConfigurationFeatureOutput{}) 311 pulumi.RegisterOutputType(OrganizationConfigurationFeatureArrayOutput{}) 312 pulumi.RegisterOutputType(OrganizationConfigurationFeatureMapOutput{}) 313 }