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  }