Package com.pulumi.aws.cfg
Class OrganizationCustomRule
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.cfg.OrganizationCustomRule
-
public class OrganizationCustomRule extends com.pulumi.resources.CustomResourceManages 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.cfg.OrganizationManagedRule` resource. > **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. > **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 `aws.lambda.Permission` resource. ## Example Usage
## Import ### Identity Schema #### Required * `name` (String) Name of the rule. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Config Organization Custom Rules using the `name`. For example: ```sh $ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import com.pulumi.aws.organizations.Organization; import com.pulumi.aws.organizations.OrganizationArgs; import com.pulumi.aws.cfg.OrganizationCustomRule; import com.pulumi.aws.cfg.OrganizationCustomRuleArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Permission("example", PermissionArgs.builder() .action("lambda:InvokeFunction") .function(exampleAwsLambdaFunction.arn()) .principal("config.amazonaws.com") .statementId("AllowExecutionFromConfig") .build()); var exampleOrganization = new Organization("exampleOrganization", OrganizationArgs.builder() .awsServiceAccessPrincipals("config-multiaccountsetup.amazonaws.com") .featureSet("ALL") .build()); var exampleOrganizationCustomRule = new OrganizationCustomRule("exampleOrganizationCustomRule", OrganizationCustomRuleArgs.builder() .lambdaFunctionArn(exampleAwsLambdaFunction.arn()) .name("example") .triggerTypes("ConfigurationItemChangeNotification") .build(), CustomResourceOptions.builder() .dependsOn( example, exampleOrganization) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description OrganizationCustomRule(java.lang.String name)OrganizationCustomRule(java.lang.String name, OrganizationCustomRuleArgs args)OrganizationCustomRule(java.lang.String name, OrganizationCustomRuleArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>excludedAccounts()static OrganizationCustomRuleget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, OrganizationCustomRuleState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.String>>inputParameters()com.pulumi.core.Output<java.lang.String>lambdaFunctionArn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>maximumExecutionFrequency()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.lang.String>>resourceIdScope()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>resourceTypesScopes()com.pulumi.core.Output<java.util.Optional<java.lang.String>>tagKeyScope()com.pulumi.core.Output<java.util.Optional<java.lang.String>>tagValueScope()com.pulumi.core.Output<java.util.List<java.lang.String>>triggerTypes()
-
-
-
Constructor Detail
-
OrganizationCustomRule
public OrganizationCustomRule(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
OrganizationCustomRule
public OrganizationCustomRule(java.lang.String name, OrganizationCustomRuleArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
OrganizationCustomRule
public OrganizationCustomRule(java.lang.String name, OrganizationCustomRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the rule
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the rule
-
excludedAccounts
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> excludedAccounts()
- Returns:
- List of AWS account identifiers to exclude from the rule
-
inputParameters
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> inputParameters()
- Returns:
- A string in JSON format that is passed to the AWS Config Rule Lambda Function
-
lambdaFunctionArn
public com.pulumi.core.Output<java.lang.String> lambdaFunctionArn()
- Returns:
- ARN of the rule Lambda Function
-
maximumExecutionFrequency
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> maximumExecutionFrequency()
- Returns:
- 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`.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- The name of the rule
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
resourceIdScope
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> resourceIdScope()
- Returns:
- Identifier of the AWS resource to evaluate
-
resourceTypesScopes
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> resourceTypesScopes()
- Returns:
- List of types of AWS resources to evaluate
-
tagKeyScope
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> tagKeyScope()
- Returns:
- Tag key of AWS resources to evaluate
-
tagValueScope
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> tagValueScope()
- Returns:
- Tag value of AWS resources to evaluate
-
triggerTypes
public com.pulumi.core.Output<java.util.List<java.lang.String>> triggerTypes()
- Returns:
- List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification`
-
get
public static OrganizationCustomRule get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable OrganizationCustomRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-