github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cfg/organizationCustomRule.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 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 // > **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `lambda.Permission` resource. 20 // 21 // ## Example 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-aws/sdk/v6/go/aws/lambda" 31 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations" 32 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 33 // 34 // ) 35 // 36 // func main() { 37 // pulumi.Run(func(ctx *pulumi.Context) error { 38 // example, err := lambda.NewPermission(ctx, "example", &lambda.PermissionArgs{ 39 // Action: pulumi.String("lambda:InvokeFunction"), 40 // Function: pulumi.Any(exampleAwsLambdaFunction.Arn), 41 // Principal: pulumi.String("config.amazonaws.com"), 42 // StatementId: pulumi.String("AllowExecutionFromConfig"), 43 // }) 44 // if err != nil { 45 // return err 46 // } 47 // exampleOrganization, err := organizations.NewOrganization(ctx, "example", &organizations.OrganizationArgs{ 48 // AwsServiceAccessPrincipals: pulumi.StringArray{ 49 // pulumi.String("config-multiaccountsetup.amazonaws.com"), 50 // }, 51 // FeatureSet: pulumi.String("ALL"), 52 // }) 53 // if err != nil { 54 // return err 55 // } 56 // _, err = cfg.NewOrganizationCustomRule(ctx, "example", &cfg.OrganizationCustomRuleArgs{ 57 // LambdaFunctionArn: pulumi.Any(exampleAwsLambdaFunction.Arn), 58 // Name: pulumi.String("example"), 59 // TriggerTypes: pulumi.StringArray{ 60 // pulumi.String("ConfigurationItemChangeNotification"), 61 // }, 62 // }, pulumi.DependsOn([]pulumi.Resource{ 63 // example, 64 // exampleOrganization, 65 // })) 66 // if err != nil { 67 // return err 68 // } 69 // return nil 70 // }) 71 // } 72 // 73 // ``` 74 // <!--End PulumiCodeChooser --> 75 // 76 // ## Import 77 // 78 // Using `pulumi import`, import Config Organization Custom Rules using the name. For example: 79 // 80 // ```sh 81 // $ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example 82 // ``` 83 type OrganizationCustomRule struct { 84 pulumi.CustomResourceState 85 86 // Amazon Resource Name (ARN) of the rule 87 Arn pulumi.StringOutput `pulumi:"arn"` 88 // Description of the rule 89 Description pulumi.StringPtrOutput `pulumi:"description"` 90 // List of AWS account identifiers to exclude from the rule 91 ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"` 92 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 93 InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"` 94 // Amazon Resource Name (ARN) of the rule Lambda Function 95 LambdaFunctionArn pulumi.StringOutput `pulumi:"lambdaFunctionArn"` 96 // The 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`. 97 MaximumExecutionFrequency pulumi.StringPtrOutput `pulumi:"maximumExecutionFrequency"` 98 // The name of the rule 99 Name pulumi.StringOutput `pulumi:"name"` 100 // Identifier of the AWS resource to evaluate 101 ResourceIdScope pulumi.StringPtrOutput `pulumi:"resourceIdScope"` 102 // List of types of AWS resources to evaluate 103 ResourceTypesScopes pulumi.StringArrayOutput `pulumi:"resourceTypesScopes"` 104 // Tag key of AWS resources to evaluate 105 TagKeyScope pulumi.StringPtrOutput `pulumi:"tagKeyScope"` 106 // Tag value of AWS resources to evaluate 107 TagValueScope pulumi.StringPtrOutput `pulumi:"tagValueScope"` 108 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 109 TriggerTypes pulumi.StringArrayOutput `pulumi:"triggerTypes"` 110 } 111 112 // NewOrganizationCustomRule registers a new resource with the given unique name, arguments, and options. 113 func NewOrganizationCustomRule(ctx *pulumi.Context, 114 name string, args *OrganizationCustomRuleArgs, opts ...pulumi.ResourceOption) (*OrganizationCustomRule, error) { 115 if args == nil { 116 return nil, errors.New("missing one or more required arguments") 117 } 118 119 if args.LambdaFunctionArn == nil { 120 return nil, errors.New("invalid value for required argument 'LambdaFunctionArn'") 121 } 122 if args.TriggerTypes == nil { 123 return nil, errors.New("invalid value for required argument 'TriggerTypes'") 124 } 125 opts = internal.PkgResourceDefaultOpts(opts) 126 var resource OrganizationCustomRule 127 err := ctx.RegisterResource("aws:cfg/organizationCustomRule:OrganizationCustomRule", name, args, &resource, opts...) 128 if err != nil { 129 return nil, err 130 } 131 return &resource, nil 132 } 133 134 // GetOrganizationCustomRule gets an existing OrganizationCustomRule resource's state with the given name, ID, and optional 135 // state properties that are used to uniquely qualify the lookup (nil if not required). 136 func GetOrganizationCustomRule(ctx *pulumi.Context, 137 name string, id pulumi.IDInput, state *OrganizationCustomRuleState, opts ...pulumi.ResourceOption) (*OrganizationCustomRule, error) { 138 var resource OrganizationCustomRule 139 err := ctx.ReadResource("aws:cfg/organizationCustomRule:OrganizationCustomRule", name, id, state, &resource, opts...) 140 if err != nil { 141 return nil, err 142 } 143 return &resource, nil 144 } 145 146 // Input properties used for looking up and filtering OrganizationCustomRule resources. 147 type organizationCustomRuleState struct { 148 // Amazon Resource Name (ARN) of the rule 149 Arn *string `pulumi:"arn"` 150 // Description of the rule 151 Description *string `pulumi:"description"` 152 // List of AWS account identifiers to exclude from the rule 153 ExcludedAccounts []string `pulumi:"excludedAccounts"` 154 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 155 InputParameters *string `pulumi:"inputParameters"` 156 // Amazon Resource Name (ARN) of the rule Lambda Function 157 LambdaFunctionArn *string `pulumi:"lambdaFunctionArn"` 158 // The 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`. 159 MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"` 160 // The name of the rule 161 Name *string `pulumi:"name"` 162 // Identifier of the AWS resource to evaluate 163 ResourceIdScope *string `pulumi:"resourceIdScope"` 164 // List of types of AWS resources to evaluate 165 ResourceTypesScopes []string `pulumi:"resourceTypesScopes"` 166 // Tag key of AWS resources to evaluate 167 TagKeyScope *string `pulumi:"tagKeyScope"` 168 // Tag value of AWS resources to evaluate 169 TagValueScope *string `pulumi:"tagValueScope"` 170 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 171 TriggerTypes []string `pulumi:"triggerTypes"` 172 } 173 174 type OrganizationCustomRuleState struct { 175 // Amazon Resource Name (ARN) of the rule 176 Arn pulumi.StringPtrInput 177 // Description of the rule 178 Description pulumi.StringPtrInput 179 // List of AWS account identifiers to exclude from the rule 180 ExcludedAccounts pulumi.StringArrayInput 181 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 182 InputParameters pulumi.StringPtrInput 183 // Amazon Resource Name (ARN) of the rule Lambda Function 184 LambdaFunctionArn pulumi.StringPtrInput 185 // The 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`. 186 MaximumExecutionFrequency pulumi.StringPtrInput 187 // The name of the rule 188 Name pulumi.StringPtrInput 189 // Identifier of the AWS resource to evaluate 190 ResourceIdScope pulumi.StringPtrInput 191 // List of types of AWS resources to evaluate 192 ResourceTypesScopes pulumi.StringArrayInput 193 // Tag key of AWS resources to evaluate 194 TagKeyScope pulumi.StringPtrInput 195 // Tag value of AWS resources to evaluate 196 TagValueScope pulumi.StringPtrInput 197 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 198 TriggerTypes pulumi.StringArrayInput 199 } 200 201 func (OrganizationCustomRuleState) ElementType() reflect.Type { 202 return reflect.TypeOf((*organizationCustomRuleState)(nil)).Elem() 203 } 204 205 type organizationCustomRuleArgs struct { 206 // Description of the rule 207 Description *string `pulumi:"description"` 208 // List of AWS account identifiers to exclude from the rule 209 ExcludedAccounts []string `pulumi:"excludedAccounts"` 210 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 211 InputParameters *string `pulumi:"inputParameters"` 212 // Amazon Resource Name (ARN) of the rule Lambda Function 213 LambdaFunctionArn string `pulumi:"lambdaFunctionArn"` 214 // The 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`. 215 MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"` 216 // The name of the rule 217 Name *string `pulumi:"name"` 218 // Identifier of the AWS resource to evaluate 219 ResourceIdScope *string `pulumi:"resourceIdScope"` 220 // List of types of AWS resources to evaluate 221 ResourceTypesScopes []string `pulumi:"resourceTypesScopes"` 222 // Tag key of AWS resources to evaluate 223 TagKeyScope *string `pulumi:"tagKeyScope"` 224 // Tag value of AWS resources to evaluate 225 TagValueScope *string `pulumi:"tagValueScope"` 226 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 227 TriggerTypes []string `pulumi:"triggerTypes"` 228 } 229 230 // The set of arguments for constructing a OrganizationCustomRule resource. 231 type OrganizationCustomRuleArgs struct { 232 // Description of the rule 233 Description pulumi.StringPtrInput 234 // List of AWS account identifiers to exclude from the rule 235 ExcludedAccounts pulumi.StringArrayInput 236 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 237 InputParameters pulumi.StringPtrInput 238 // Amazon Resource Name (ARN) of the rule Lambda Function 239 LambdaFunctionArn pulumi.StringInput 240 // The 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`. 241 MaximumExecutionFrequency pulumi.StringPtrInput 242 // The name of the rule 243 Name pulumi.StringPtrInput 244 // Identifier of the AWS resource to evaluate 245 ResourceIdScope pulumi.StringPtrInput 246 // List of types of AWS resources to evaluate 247 ResourceTypesScopes pulumi.StringArrayInput 248 // Tag key of AWS resources to evaluate 249 TagKeyScope pulumi.StringPtrInput 250 // Tag value of AWS resources to evaluate 251 TagValueScope pulumi.StringPtrInput 252 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 253 TriggerTypes pulumi.StringArrayInput 254 } 255 256 func (OrganizationCustomRuleArgs) ElementType() reflect.Type { 257 return reflect.TypeOf((*organizationCustomRuleArgs)(nil)).Elem() 258 } 259 260 type OrganizationCustomRuleInput interface { 261 pulumi.Input 262 263 ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput 264 ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput 265 } 266 267 func (*OrganizationCustomRule) ElementType() reflect.Type { 268 return reflect.TypeOf((**OrganizationCustomRule)(nil)).Elem() 269 } 270 271 func (i *OrganizationCustomRule) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput { 272 return i.ToOrganizationCustomRuleOutputWithContext(context.Background()) 273 } 274 275 func (i *OrganizationCustomRule) ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput { 276 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomRuleOutput) 277 } 278 279 // OrganizationCustomRuleArrayInput is an input type that accepts OrganizationCustomRuleArray and OrganizationCustomRuleArrayOutput values. 280 // You can construct a concrete instance of `OrganizationCustomRuleArrayInput` via: 281 // 282 // OrganizationCustomRuleArray{ OrganizationCustomRuleArgs{...} } 283 type OrganizationCustomRuleArrayInput interface { 284 pulumi.Input 285 286 ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput 287 ToOrganizationCustomRuleArrayOutputWithContext(context.Context) OrganizationCustomRuleArrayOutput 288 } 289 290 type OrganizationCustomRuleArray []OrganizationCustomRuleInput 291 292 func (OrganizationCustomRuleArray) ElementType() reflect.Type { 293 return reflect.TypeOf((*[]*OrganizationCustomRule)(nil)).Elem() 294 } 295 296 func (i OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput { 297 return i.ToOrganizationCustomRuleArrayOutputWithContext(context.Background()) 298 } 299 300 func (i OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomRuleArrayOutput { 301 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomRuleArrayOutput) 302 } 303 304 // OrganizationCustomRuleMapInput is an input type that accepts OrganizationCustomRuleMap and OrganizationCustomRuleMapOutput values. 305 // You can construct a concrete instance of `OrganizationCustomRuleMapInput` via: 306 // 307 // OrganizationCustomRuleMap{ "key": OrganizationCustomRuleArgs{...} } 308 type OrganizationCustomRuleMapInput interface { 309 pulumi.Input 310 311 ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput 312 ToOrganizationCustomRuleMapOutputWithContext(context.Context) OrganizationCustomRuleMapOutput 313 } 314 315 type OrganizationCustomRuleMap map[string]OrganizationCustomRuleInput 316 317 func (OrganizationCustomRuleMap) ElementType() reflect.Type { 318 return reflect.TypeOf((*map[string]*OrganizationCustomRule)(nil)).Elem() 319 } 320 321 func (i OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput { 322 return i.ToOrganizationCustomRuleMapOutputWithContext(context.Background()) 323 } 324 325 func (i OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutputWithContext(ctx context.Context) OrganizationCustomRuleMapOutput { 326 return pulumi.ToOutputWithContext(ctx, i).(OrganizationCustomRuleMapOutput) 327 } 328 329 type OrganizationCustomRuleOutput struct{ *pulumi.OutputState } 330 331 func (OrganizationCustomRuleOutput) ElementType() reflect.Type { 332 return reflect.TypeOf((**OrganizationCustomRule)(nil)).Elem() 333 } 334 335 func (o OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput { 336 return o 337 } 338 339 func (o OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput { 340 return o 341 } 342 343 // Amazon Resource Name (ARN) of the rule 344 func (o OrganizationCustomRuleOutput) Arn() pulumi.StringOutput { 345 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 346 } 347 348 // Description of the rule 349 func (o OrganizationCustomRuleOutput) Description() pulumi.StringPtrOutput { 350 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 351 } 352 353 // List of AWS account identifiers to exclude from the rule 354 func (o OrganizationCustomRuleOutput) ExcludedAccounts() pulumi.StringArrayOutput { 355 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringArrayOutput { return v.ExcludedAccounts }).(pulumi.StringArrayOutput) 356 } 357 358 // A string in JSON format that is passed to the AWS Config Rule Lambda Function 359 func (o OrganizationCustomRuleOutput) InputParameters() pulumi.StringPtrOutput { 360 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.InputParameters }).(pulumi.StringPtrOutput) 361 } 362 363 // Amazon Resource Name (ARN) of the rule Lambda Function 364 func (o OrganizationCustomRuleOutput) LambdaFunctionArn() pulumi.StringOutput { 365 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringOutput { return v.LambdaFunctionArn }).(pulumi.StringOutput) 366 } 367 368 // The 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`. 369 func (o OrganizationCustomRuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput { 370 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.MaximumExecutionFrequency }).(pulumi.StringPtrOutput) 371 } 372 373 // The name of the rule 374 func (o OrganizationCustomRuleOutput) Name() pulumi.StringOutput { 375 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 376 } 377 378 // Identifier of the AWS resource to evaluate 379 func (o OrganizationCustomRuleOutput) ResourceIdScope() pulumi.StringPtrOutput { 380 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.ResourceIdScope }).(pulumi.StringPtrOutput) 381 } 382 383 // List of types of AWS resources to evaluate 384 func (o OrganizationCustomRuleOutput) ResourceTypesScopes() pulumi.StringArrayOutput { 385 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringArrayOutput { return v.ResourceTypesScopes }).(pulumi.StringArrayOutput) 386 } 387 388 // Tag key of AWS resources to evaluate 389 func (o OrganizationCustomRuleOutput) TagKeyScope() pulumi.StringPtrOutput { 390 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.TagKeyScope }).(pulumi.StringPtrOutput) 391 } 392 393 // Tag value of AWS resources to evaluate 394 func (o OrganizationCustomRuleOutput) TagValueScope() pulumi.StringPtrOutput { 395 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringPtrOutput { return v.TagValueScope }).(pulumi.StringPtrOutput) 396 } 397 398 // List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification` 399 func (o OrganizationCustomRuleOutput) TriggerTypes() pulumi.StringArrayOutput { 400 return o.ApplyT(func(v *OrganizationCustomRule) pulumi.StringArrayOutput { return v.TriggerTypes }).(pulumi.StringArrayOutput) 401 } 402 403 type OrganizationCustomRuleArrayOutput struct{ *pulumi.OutputState } 404 405 func (OrganizationCustomRuleArrayOutput) ElementType() reflect.Type { 406 return reflect.TypeOf((*[]*OrganizationCustomRule)(nil)).Elem() 407 } 408 409 func (o OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput { 410 return o 411 } 412 413 func (o OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomRuleArrayOutput { 414 return o 415 } 416 417 func (o OrganizationCustomRuleArrayOutput) Index(i pulumi.IntInput) OrganizationCustomRuleOutput { 418 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationCustomRule { 419 return vs[0].([]*OrganizationCustomRule)[vs[1].(int)] 420 }).(OrganizationCustomRuleOutput) 421 } 422 423 type OrganizationCustomRuleMapOutput struct{ *pulumi.OutputState } 424 425 func (OrganizationCustomRuleMapOutput) ElementType() reflect.Type { 426 return reflect.TypeOf((*map[string]*OrganizationCustomRule)(nil)).Elem() 427 } 428 429 func (o OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput { 430 return o 431 } 432 433 func (o OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutputWithContext(ctx context.Context) OrganizationCustomRuleMapOutput { 434 return o 435 } 436 437 func (o OrganizationCustomRuleMapOutput) MapIndex(k pulumi.StringInput) OrganizationCustomRuleOutput { 438 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationCustomRule { 439 return vs[0].(map[string]*OrganizationCustomRule)[vs[1].(string)] 440 }).(OrganizationCustomRuleOutput) 441 } 442 443 func init() { 444 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomRuleInput)(nil)).Elem(), &OrganizationCustomRule{}) 445 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomRuleArrayInput)(nil)).Elem(), OrganizationCustomRuleArray{}) 446 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationCustomRuleMapInput)(nil)).Elem(), OrganizationCustomRuleMap{}) 447 pulumi.RegisterOutputType(OrganizationCustomRuleOutput{}) 448 pulumi.RegisterOutputType(OrganizationCustomRuleArrayOutput{}) 449 pulumi.RegisterOutputType(OrganizationCustomRuleMapOutput{}) 450 }