github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cfg/organizationCustomPolicyRule.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 cfg 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 // Manages a Config Organization Custom Policy Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource. 16 // 17 // > **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excludedAccounts` argument. 18 // 19 // ## Example Usage 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := cfg.NewOrganizationCustomPolicyRule(ctx, "example", &cfg.OrganizationCustomPolicyRuleArgs{ 37 // Name: pulumi.String("example_rule_name"), 38 // PolicyRuntime: pulumi.String("guard-2.x.x"), 39 // PolicyText: pulumi.String(`let status = ['ACTIVE'] 40 // 41 // rule tableisactive when 42 // 43 // resourceType == "AWS::DynamoDB::Table" { 44 // configuration.tableStatus == %status 45 // } 46 // 47 // rule checkcompliance when 48 // 49 // resourceType == "AWS::DynamoDB::Table" 50 // tableisactive { 51 // let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus 52 // %pitr == "ENABLED" 53 // } 54 // 55 // `), 56 // 57 // ResourceTypesScopes: pulumi.StringArray{ 58 // pulumi.String("AWS::DynamoDB::Table"), 59 // }, 60 // }) 61 // if err != nil { 62 // return err 63 // } 64 // return nil 65 // }) 66 // } 67 // 68 // ``` 69 // <!--End PulumiCodeChooser --> 70 // 71 // ## Import 72 // 73 // Using `pulumi import`, import a Config Organization Custom Policy Rule using the `name` argument. For example: 74 // 75 // ```sh 76 // $ pulumi import aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule example example_rule_name 77 // ``` 78 type OrganizationCustomPolicyRule struct { 79 pulumi.CustomResourceState 80 81 // Amazon Resource Name (ARN) of the rule 82 Arn pulumi.StringOutput `pulumi:"arn"` 83 // List of AWS account identifiers to exclude from the rule 84 DebugLogDeliveryAccounts pulumi.StringArrayOutput `pulumi:"debugLogDeliveryAccounts"` 85 // Description of the rule 86 Description pulumi.StringPtrOutput `pulumi:"description"` 87 // List of AWS account identifiers to exclude from the rule 88 ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"` 89 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 90 InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"` 91 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 92 MaximumExecutionFrequency pulumi.StringPtrOutput `pulumi:"maximumExecutionFrequency"` 93 // name of the rule 94 Name pulumi.StringOutput `pulumi:"name"` 95 // runtime system for your organization AWS Config Custom Policy rules 96 PolicyRuntime pulumi.StringOutput `pulumi:"policyRuntime"` 97 // policy definition containing the logic for your organization AWS Config Custom Policy rule 98 PolicyText pulumi.StringOutput `pulumi:"policyText"` 99 // Identifier of the AWS resource to evaluate 100 ResourceIdScope pulumi.StringPtrOutput `pulumi:"resourceIdScope"` 101 // List of types of AWS resources to evaluate 102 ResourceTypesScopes pulumi.StringArrayOutput `pulumi:"resourceTypesScopes"` 103 // Tag key of AWS resources to evaluate 104 TagKeyScope pulumi.StringPtrOutput `pulumi:"tagKeyScope"` 105 // Tag value of AWS resources to evaluate 106 TagValueScope pulumi.StringPtrOutput `pulumi:"tagValueScope"` 107 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 108 // 109 // The following arguments are optional: 110 TriggerTypes pulumi.StringArrayOutput `pulumi:"triggerTypes"` 111 } 112 113 // NewOrganizationCustomPolicyRule registers a new resource with the given unique name, arguments, and options. 114 func NewOrganizationCustomPolicyRule(ctx *pulumi.Context, 115 name string, args *OrganizationCustomPolicyRuleArgs, opts ...pulumi.ResourceOption) (*OrganizationCustomPolicyRule, error) { 116 if args == nil { 117 return nil, errors.New("missing one or more required arguments") 118 } 119 120 if args.PolicyRuntime == nil { 121 return nil, errors.New("invalid value for required argument 'PolicyRuntime'") 122 } 123 if args.PolicyText == nil { 124 return nil, errors.New("invalid value for required argument 'PolicyText'") 125 } 126 if args.TriggerTypes == nil { 127 return nil, errors.New("invalid value for required argument 'TriggerTypes'") 128 } 129 opts = internal.PkgResourceDefaultOpts(opts) 130 var resource OrganizationCustomPolicyRule 131 err := ctx.RegisterResource("aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule", name, args, &resource, opts...) 132 if err != nil { 133 return nil, err 134 } 135 return &resource, nil 136 } 137 138 // GetOrganizationCustomPolicyRule gets an existing OrganizationCustomPolicyRule resource's state with the given name, ID, and optional 139 // state properties that are used to uniquely qualify the lookup (nil if not required). 140 func GetOrganizationCustomPolicyRule(ctx *pulumi.Context, 141 name string, id pulumi.IDInput, state *OrganizationCustomPolicyRuleState, opts ...pulumi.ResourceOption) (*OrganizationCustomPolicyRule, error) { 142 var resource OrganizationCustomPolicyRule 143 err := ctx.ReadResource("aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule", name, id, state, &resource, opts...) 144 if err != nil { 145 return nil, err 146 } 147 return &resource, nil 148 } 149 150 // Input properties used for looking up and filtering OrganizationCustomPolicyRule resources. 151 type organizationCustomPolicyRuleState struct { 152 // Amazon Resource Name (ARN) of the rule 153 Arn *string `pulumi:"arn"` 154 // List of AWS account identifiers to exclude from the rule 155 DebugLogDeliveryAccounts []string `pulumi:"debugLogDeliveryAccounts"` 156 // Description of the rule 157 Description *string `pulumi:"description"` 158 // List of AWS account identifiers to exclude from the rule 159 ExcludedAccounts []string `pulumi:"excludedAccounts"` 160 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 161 InputParameters *string `pulumi:"inputParameters"` 162 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 163 MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"` 164 // name of the rule 165 Name *string `pulumi:"name"` 166 // runtime system for your organization AWS Config Custom Policy rules 167 PolicyRuntime *string `pulumi:"policyRuntime"` 168 // policy definition containing the logic for your organization AWS Config Custom Policy rule 169 PolicyText *string `pulumi:"policyText"` 170 // Identifier of the AWS resource to evaluate 171 ResourceIdScope *string `pulumi:"resourceIdScope"` 172 // List of types of AWS resources to evaluate 173 ResourceTypesScopes []string `pulumi:"resourceTypesScopes"` 174 // Tag key of AWS resources to evaluate 175 TagKeyScope *string `pulumi:"tagKeyScope"` 176 // Tag value of AWS resources to evaluate 177 TagValueScope *string `pulumi:"tagValueScope"` 178 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 179 // 180 // The following arguments are optional: 181 TriggerTypes []string `pulumi:"triggerTypes"` 182 } 183 184 type OrganizationCustomPolicyRuleState struct { 185 // Amazon Resource Name (ARN) of the rule 186 Arn pulumi.StringPtrInput 187 // List of AWS account identifiers to exclude from the rule 188 DebugLogDeliveryAccounts pulumi.StringArrayInput 189 // Description of the rule 190 Description pulumi.StringPtrInput 191 // List of AWS account identifiers to exclude from the rule 192 ExcludedAccounts pulumi.StringArrayInput 193 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 194 InputParameters pulumi.StringPtrInput 195 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 196 MaximumExecutionFrequency pulumi.StringPtrInput 197 // name of the rule 198 Name pulumi.StringPtrInput 199 // runtime system for your organization AWS Config Custom Policy rules 200 PolicyRuntime pulumi.StringPtrInput 201 // policy definition containing the logic for your organization AWS Config Custom Policy rule 202 PolicyText pulumi.StringPtrInput 203 // Identifier of the AWS resource to evaluate 204 ResourceIdScope pulumi.StringPtrInput 205 // List of types of AWS resources to evaluate 206 ResourceTypesScopes pulumi.StringArrayInput 207 // Tag key of AWS resources to evaluate 208 TagKeyScope pulumi.StringPtrInput 209 // Tag value of AWS resources to evaluate 210 TagValueScope pulumi.StringPtrInput 211 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 212 // 213 // The following arguments are optional: 214 TriggerTypes pulumi.StringArrayInput 215 } 216 217 func (OrganizationCustomPolicyRuleState) ElementType() reflect.Type { 218 return reflect.TypeOf((*organizationCustomPolicyRuleState)(nil)).Elem() 219 } 220 221 type organizationCustomPolicyRuleArgs struct { 222 // List of AWS account identifiers to exclude from the rule 223 DebugLogDeliveryAccounts []string `pulumi:"debugLogDeliveryAccounts"` 224 // Description of the rule 225 Description *string `pulumi:"description"` 226 // List of AWS account identifiers to exclude from the rule 227 ExcludedAccounts []string `pulumi:"excludedAccounts"` 228 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 229 InputParameters *string `pulumi:"inputParameters"` 230 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 231 MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"` 232 // name of the rule 233 Name *string `pulumi:"name"` 234 // runtime system for your organization AWS Config Custom Policy rules 235 PolicyRuntime string `pulumi:"policyRuntime"` 236 // policy definition containing the logic for your organization AWS Config Custom Policy rule 237 PolicyText string `pulumi:"policyText"` 238 // Identifier of the AWS resource to evaluate 239 ResourceIdScope *string `pulumi:"resourceIdScope"` 240 // List of types of AWS resources to evaluate 241 ResourceTypesScopes []string `pulumi:"resourceTypesScopes"` 242 // Tag key of AWS resources to evaluate 243 TagKeyScope *string `pulumi:"tagKeyScope"` 244 // Tag value of AWS resources to evaluate 245 TagValueScope *string `pulumi:"tagValueScope"` 246 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 247 // 248 // The following arguments are optional: 249 TriggerTypes []string `pulumi:"triggerTypes"` 250 } 251 252 // The set of arguments for constructing a OrganizationCustomPolicyRule resource. 253 type OrganizationCustomPolicyRuleArgs struct { 254 // List of AWS account identifiers to exclude from the rule 255 DebugLogDeliveryAccounts pulumi.StringArrayInput 256 // Description of the rule 257 Description pulumi.StringPtrInput 258 // List of AWS account identifiers to exclude from the rule 259 ExcludedAccounts pulumi.StringArrayInput 260 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 261 InputParameters pulumi.StringPtrInput 262 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 263 MaximumExecutionFrequency pulumi.StringPtrInput 264 // name of the rule 265 Name pulumi.StringPtrInput 266 // runtime system for your organization AWS Config Custom Policy rules 267 PolicyRuntime pulumi.StringInput 268 // policy definition containing the logic for your organization AWS Config Custom Policy rule 269 PolicyText pulumi.StringInput 270 // Identifier of the AWS resource to evaluate 271 ResourceIdScope pulumi.StringPtrInput 272 // List of types of AWS resources to evaluate 273 ResourceTypesScopes pulumi.StringArrayInput 274 // Tag key of AWS resources to evaluate 275 TagKeyScope pulumi.StringPtrInput 276 // Tag value of AWS resources to evaluate 277 TagValueScope pulumi.StringPtrInput 278 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 279 // 280 // The following arguments are optional: 281 TriggerTypes pulumi.StringArrayInput 282 } 283 284 func (OrganizationCustomPolicyRuleArgs) ElementType() reflect.Type { 285 return reflect.TypeOf((*organizationCustomPolicyRuleArgs)(nil)).Elem() 286 } 287 288 type OrganizationCustomPolicyRuleInput interface { 289 pulumi.Input 290 291 ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput 292 ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput 293 } 294 295 func (*OrganizationCustomPolicyRule) ElementType() reflect.Type { 296 return reflect.TypeOf((**OrganizationCustomPolicyRule)(nil)).Elem() 297 } 298 299 func (i *OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput { 300 return i.ToOrganizationCustomPolicyRuleOutputWithContext(context.Background()) 301 } 302 303 func (i *OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput { 304 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomPolicyRuleOutput) 305 } 306 307 // OrganizationCustomPolicyRuleArrayInput is an input type that accepts OrganizationCustomPolicyRuleArray and OrganizationCustomPolicyRuleArrayOutput values. 308 // You can construct a concrete instance of `OrganizationCustomPolicyRuleArrayInput` via: 309 // 310 // OrganizationCustomPolicyRuleArray{ OrganizationCustomPolicyRuleArgs{...} } 311 type OrganizationCustomPolicyRuleArrayInput interface { 312 pulumi.Input 313 314 ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput 315 ToOrganizationCustomPolicyRuleArrayOutputWithContext(context.Context) OrganizationCustomPolicyRuleArrayOutput 316 } 317 318 type OrganizationCustomPolicyRuleArray []OrganizationCustomPolicyRuleInput 319 320 func (OrganizationCustomPolicyRuleArray) ElementType() reflect.Type { 321 return reflect.TypeOf((*[]*OrganizationCustomPolicyRule)(nil)).Elem() 322 } 323 324 func (i OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput { 325 return i.ToOrganizationCustomPolicyRuleArrayOutputWithContext(context.Background()) 326 } 327 328 func (i OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleArrayOutput { 329 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomPolicyRuleArrayOutput) 330 } 331 332 // OrganizationCustomPolicyRuleMapInput is an input type that accepts OrganizationCustomPolicyRuleMap and OrganizationCustomPolicyRuleMapOutput values. 333 // You can construct a concrete instance of `OrganizationCustomPolicyRuleMapInput` via: 334 // 335 // OrganizationCustomPolicyRuleMap{ "key": OrganizationCustomPolicyRuleArgs{...} } 336 type OrganizationCustomPolicyRuleMapInput interface { 337 pulumi.Input 338 339 ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput 340 ToOrganizationCustomPolicyRuleMapOutputWithContext(context.Context) OrganizationCustomPolicyRuleMapOutput 341 } 342 343 type OrganizationCustomPolicyRuleMap map[string]OrganizationCustomPolicyRuleInput 344 345 func (OrganizationCustomPolicyRuleMap) ElementType() reflect.Type { 346 return reflect.TypeOf((*map[string]*OrganizationCustomPolicyRule)(nil)).Elem() 347 } 348 349 func (i OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput { 350 return i.ToOrganizationCustomPolicyRuleMapOutputWithContext(context.Background()) 351 } 352 353 func (i OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleMapOutput { 354 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomPolicyRuleMapOutput) 355 } 356 357 type OrganizationCustomPolicyRuleOutput struct{ *pulumi.OutputState } 358 359 func (OrganizationCustomPolicyRuleOutput) ElementType() reflect.Type { 360 return reflect.TypeOf((**OrganizationCustomPolicyRule)(nil)).Elem() 361 } 362 363 func (o OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput { 364 return o 365 } 366 367 func (o OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput { 368 return o 369 } 370 371 // Amazon Resource Name (ARN) of the rule 372 func (o OrganizationCustomPolicyRuleOutput) Arn() pulumi.StringOutput { 373 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 374 } 375 376 // List of AWS account identifiers to exclude from the rule 377 func (o OrganizationCustomPolicyRuleOutput) DebugLogDeliveryAccounts() pulumi.StringArrayOutput { 378 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringArrayOutput { return v.DebugLogDeliveryAccounts }).(pulumi.StringArrayOutput) 379 } 380 381 // Description of the rule 382 func (o OrganizationCustomPolicyRuleOutput) Description() pulumi.StringPtrOutput { 383 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 384 } 385 386 // List of AWS account identifiers to exclude from the rule 387 func (o OrganizationCustomPolicyRuleOutput) ExcludedAccounts() pulumi.StringArrayOutput { 388 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringArrayOutput { return v.ExcludedAccounts }).(pulumi.StringArrayOutput) 389 } 390 391 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 392 func (o OrganizationCustomPolicyRuleOutput) InputParameters() pulumi.StringPtrOutput { 393 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.InputParameters }).(pulumi.StringPtrOutput) 394 } 395 396 // Maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`. 397 func (o OrganizationCustomPolicyRuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput { 398 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.MaximumExecutionFrequency }).(pulumi.StringPtrOutput) 399 } 400 401 // name of the rule 402 func (o OrganizationCustomPolicyRuleOutput) Name() pulumi.StringOutput { 403 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 404 } 405 406 // runtime system for your organization AWS Config Custom Policy rules 407 func (o OrganizationCustomPolicyRuleOutput) PolicyRuntime() pulumi.StringOutput { 408 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringOutput { return v.PolicyRuntime }).(pulumi.StringOutput) 409 } 410 411 // policy definition containing the logic for your organization AWS Config Custom Policy rule 412 func (o OrganizationCustomPolicyRuleOutput) PolicyText() pulumi.StringOutput { 413 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringOutput { return v.PolicyText }).(pulumi.StringOutput) 414 } 415 416 // Identifier of the AWS resource to evaluate 417 func (o OrganizationCustomPolicyRuleOutput) ResourceIdScope() pulumi.StringPtrOutput { 418 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.ResourceIdScope }).(pulumi.StringPtrOutput) 419 } 420 421 // List of types of AWS resources to evaluate 422 func (o OrganizationCustomPolicyRuleOutput) ResourceTypesScopes() pulumi.StringArrayOutput { 423 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringArrayOutput { return v.ResourceTypesScopes }).(pulumi.StringArrayOutput) 424 } 425 426 // Tag key of AWS resources to evaluate 427 func (o OrganizationCustomPolicyRuleOutput) TagKeyScope() pulumi.StringPtrOutput { 428 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.TagKeyScope }).(pulumi.StringPtrOutput) 429 } 430 431 // Tag value of AWS resources to evaluate 432 func (o OrganizationCustomPolicyRuleOutput) TagValueScope() pulumi.StringPtrOutput { 433 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringPtrOutput { return v.TagValueScope }).(pulumi.StringPtrOutput) 434 } 435 436 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification` 437 // 438 // The following arguments are optional: 439 func (o OrganizationCustomPolicyRuleOutput) TriggerTypes() pulumi.StringArrayOutput { 440 return o.ApplyT(func(v *OrganizationCustomPolicyRule) pulumi.StringArrayOutput { return v.TriggerTypes }).(pulumi.StringArrayOutput) 441 } 442 443 type OrganizationCustomPolicyRuleArrayOutput struct{ *pulumi.OutputState } 444 445 func (OrganizationCustomPolicyRuleArrayOutput) ElementType() reflect.Type { 446 return reflect.TypeOf((*[]*OrganizationCustomPolicyRule)(nil)).Elem() 447 } 448 449 func (o OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput { 450 return o 451 } 452 453 func (o OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleArrayOutput { 454 return o 455 } 456 457 func (o OrganizationCustomPolicyRuleArrayOutput) Index(i pulumi.IntInput) OrganizationCustomPolicyRuleOutput { 458 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationCustomPolicyRule { 459 return vs[0].([]*OrganizationCustomPolicyRule)[vs[1].(int)] 460 }).(OrganizationCustomPolicyRuleOutput) 461 } 462 463 type OrganizationCustomPolicyRuleMapOutput struct{ *pulumi.OutputState } 464 465 func (OrganizationCustomPolicyRuleMapOutput) ElementType() reflect.Type { 466 return reflect.TypeOf((*map[string]*OrganizationCustomPolicyRule)(nil)).Elem() 467 } 468 469 func (o OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput { 470 return o 471 } 472 473 func (o OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleMapOutput { 474 return o 475 } 476 477 func (o OrganizationCustomPolicyRuleMapOutput) MapIndex(k pulumi.StringInput) OrganizationCustomPolicyRuleOutput { 478 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationCustomPolicyRule { 479 return vs[0].(map[string]*OrganizationCustomPolicyRule)[vs[1].(string)] 480 }).(OrganizationCustomPolicyRuleOutput) 481 } 482 483 func init() { 484 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomPolicyRuleInput)(nil)).Elem(), &OrganizationCustomPolicyRule{}) 485 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomPolicyRuleArrayInput)(nil)).Elem(), OrganizationCustomPolicyRuleArray{}) 486 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomPolicyRuleMapInput)(nil)).Elem(), OrganizationCustomPolicyRuleMap{}) 487 pulumi.RegisterOutputType(OrganizationCustomPolicyRuleOutput{}) 488 pulumi.RegisterOutputType(OrganizationCustomPolicyRuleArrayOutput{}) 489 pulumi.RegisterOutputType(OrganizationCustomPolicyRuleMapOutput{}) 490 }