Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.cfg.AggregateConfigRuleArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.cfg;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class AggregateConfigRuleArgs extends com.pulumi.resources.ResourceArgs {
public static final AggregateConfigRuleArgs Empty = new AggregateConfigRuleArgs();
/**
* The name of the rule.
*
*/
@Import(name="aggregateConfigRuleName", required=true)
private Output aggregateConfigRuleName;
/**
* @return The name of the rule.
*
*/
public Output aggregateConfigRuleName() {
return this.aggregateConfigRuleName;
}
/**
* The Aggregator Id.
*
*/
@Import(name="aggregatorId", required=true)
private Output aggregatorId;
/**
* @return The Aggregator Id.
*
*/
public Output aggregatorId() {
return this.aggregatorId;
}
/**
* The trigger type of the rule. Valid values: `ConfigurationItemChangeNotification`: The rule is triggered upon configuration changes. `ScheduledNotification`: The rule is triggered as scheduled.
*
*/
@Import(name="configRuleTriggerTypes", required=true)
private Output configRuleTriggerTypes;
/**
* @return The trigger type of the rule. Valid values: `ConfigurationItemChangeNotification`: The rule is triggered upon configuration changes. `ScheduledNotification`: The rule is triggered as scheduled.
*
*/
public Output configRuleTriggerTypes() {
return this.configRuleTriggerTypes;
}
/**
* The description of the rule.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description of the rule.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The rule monitors excluded resource IDs, multiple of which are separated by commas, only applies to rules created based on managed rules, , custom rule this field is empty.
*
*/
@Import(name="excludeResourceIdsScope")
private @Nullable Output excludeResourceIdsScope;
/**
* @return The rule monitors excluded resource IDs, multiple of which are separated by commas, only applies to rules created based on managed rules, , custom rule this field is empty.
*
*/
public Optional> excludeResourceIdsScope() {
return Optional.ofNullable(this.excludeResourceIdsScope);
}
/**
* The settings map of the input parameters for the rule.
*
*/
@Import(name="inputParameters")
private @Nullable Output> inputParameters;
/**
* @return The settings map of the input parameters for the rule.
*
*/
public Optional>> inputParameters() {
return Optional.ofNullable(this.inputParameters);
}
/**
* The frequency of the compliance evaluations. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, `TwentyFour_Hours`. System default value is `TwentyFour_Hours` and valid when the `config_rule_trigger_types` is `ScheduledNotification`.
*
*/
@Import(name="maximumExecutionFrequency")
private @Nullable Output maximumExecutionFrequency;
/**
* @return The frequency of the compliance evaluations. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, `TwentyFour_Hours`. System default value is `TwentyFour_Hours` and valid when the `config_rule_trigger_types` is `ScheduledNotification`.
*
*/
public Optional> maximumExecutionFrequency() {
return Optional.ofNullable(this.maximumExecutionFrequency);
}
/**
* The rule monitors region IDs, separated by commas, only applies to rules created based on managed rules.
*
*/
@Import(name="regionIdsScope")
private @Nullable Output regionIdsScope;
/**
* @return The rule monitors region IDs, separated by commas, only applies to rules created based on managed rules.
*
*/
public Optional> regionIdsScope() {
return Optional.ofNullable(this.regionIdsScope);
}
/**
* The rule monitors resource group IDs, separated by commas, only applies to rules created based on managed rules.
*
*/
@Import(name="resourceGroupIdsScope")
private @Nullable Output resourceGroupIdsScope;
/**
* @return The rule monitors resource group IDs, separated by commas, only applies to rules created based on managed rules.
*
*/
public Optional> resourceGroupIdsScope() {
return Optional.ofNullable(this.resourceGroupIdsScope);
}
/**
* Resource types to be evaluated. [Alibaba Cloud services that support Cloud Config.](https://www.alibabacloud.com/help/en/doc-detail/127411.htm)
*
*/
@Import(name="resourceTypesScopes", required=true)
private Output> resourceTypesScopes;
/**
* @return Resource types to be evaluated. [Alibaba Cloud services that support Cloud Config.](https://www.alibabacloud.com/help/en/doc-detail/127411.htm)
*
*/
public Output> resourceTypesScopes() {
return this.resourceTypesScopes;
}
/**
* The risk level of the resources that are not compliant with the rule. Valid values: `1`: critical `2`: warning `3`: info.
*
*/
@Import(name="riskLevel", required=true)
private Output riskLevel;
/**
* @return The risk level of the resources that are not compliant with the rule. Valid values: `1`: critical `2`: warning `3`: info.
*
*/
public Output riskLevel() {
return this.riskLevel;
}
/**
* The identifier of the rule. For a managed rule, the value is the identifier of the managed rule. For a custom rule, the value is the ARN of the custom rule. Using managed rules, refer to [List of Managed rules.](https://www.alibabacloud.com/help/en/doc-detail/127404.htm)
*
*/
@Import(name="sourceIdentifier", required=true)
private Output sourceIdentifier;
/**
* @return The identifier of the rule. For a managed rule, the value is the identifier of the managed rule. For a custom rule, the value is the ARN of the custom rule. Using managed rules, refer to [List of Managed rules.](https://www.alibabacloud.com/help/en/doc-detail/127404.htm)
*
*/
public Output sourceIdentifier() {
return this.sourceIdentifier;
}
/**
* Specifies whether you or Alibaba Cloud owns and manages the rule. Valid values: `CUSTOM_FC`: The rule is a custom rule and you own the rule. `ALIYUN`: The rule is a managed rule and Alibaba Cloud owns the rule.
*
*/
@Import(name="sourceOwner", required=true)
private Output sourceOwner;
/**
* @return Specifies whether you or Alibaba Cloud owns and manages the rule. Valid values: `CUSTOM_FC`: The rule is a custom rule and you own the rule. `ALIYUN`: The rule is a managed rule and Alibaba Cloud owns the rule.
*
*/
public Output sourceOwner() {
return this.sourceOwner;
}
/**
* The rule status. The valid values: `ACTIVE`, `INACTIVE`.
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return The rule status. The valid values: `ACTIVE`, `INACTIVE`.
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* The rule monitors the tag key, only applies to rules created based on managed rules.
*
*/
@Import(name="tagKeyScope")
private @Nullable Output tagKeyScope;
/**
* @return The rule monitors the tag key, only applies to rules created based on managed rules.
*
*/
public Optional> tagKeyScope() {
return Optional.ofNullable(this.tagKeyScope);
}
/**
* The rule monitors the tag value, use with the `tag_key_scope` options. only applies to rules created based on managed rules.
*
*/
@Import(name="tagValueScope")
private @Nullable Output tagValueScope;
/**
* @return The rule monitors the tag value, use with the `tag_key_scope` options. only applies to rules created based on managed rules.
*
*/
public Optional> tagValueScope() {
return Optional.ofNullable(this.tagValueScope);
}
private AggregateConfigRuleArgs() {}
private AggregateConfigRuleArgs(AggregateConfigRuleArgs $) {
this.aggregateConfigRuleName = $.aggregateConfigRuleName;
this.aggregatorId = $.aggregatorId;
this.configRuleTriggerTypes = $.configRuleTriggerTypes;
this.description = $.description;
this.excludeResourceIdsScope = $.excludeResourceIdsScope;
this.inputParameters = $.inputParameters;
this.maximumExecutionFrequency = $.maximumExecutionFrequency;
this.regionIdsScope = $.regionIdsScope;
this.resourceGroupIdsScope = $.resourceGroupIdsScope;
this.resourceTypesScopes = $.resourceTypesScopes;
this.riskLevel = $.riskLevel;
this.sourceIdentifier = $.sourceIdentifier;
this.sourceOwner = $.sourceOwner;
this.status = $.status;
this.tagKeyScope = $.tagKeyScope;
this.tagValueScope = $.tagValueScope;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AggregateConfigRuleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AggregateConfigRuleArgs $;
public Builder() {
$ = new AggregateConfigRuleArgs();
}
public Builder(AggregateConfigRuleArgs defaults) {
$ = new AggregateConfigRuleArgs(Objects.requireNonNull(defaults));
}
/**
* @param aggregateConfigRuleName The name of the rule.
*
* @return builder
*
*/
public Builder aggregateConfigRuleName(Output aggregateConfigRuleName) {
$.aggregateConfigRuleName = aggregateConfigRuleName;
return this;
}
/**
* @param aggregateConfigRuleName The name of the rule.
*
* @return builder
*
*/
public Builder aggregateConfigRuleName(String aggregateConfigRuleName) {
return aggregateConfigRuleName(Output.of(aggregateConfigRuleName));
}
/**
* @param aggregatorId The Aggregator Id.
*
* @return builder
*
*/
public Builder aggregatorId(Output aggregatorId) {
$.aggregatorId = aggregatorId;
return this;
}
/**
* @param aggregatorId The Aggregator Id.
*
* @return builder
*
*/
public Builder aggregatorId(String aggregatorId) {
return aggregatorId(Output.of(aggregatorId));
}
/**
* @param configRuleTriggerTypes The trigger type of the rule. Valid values: `ConfigurationItemChangeNotification`: The rule is triggered upon configuration changes. `ScheduledNotification`: The rule is triggered as scheduled.
*
* @return builder
*
*/
public Builder configRuleTriggerTypes(Output configRuleTriggerTypes) {
$.configRuleTriggerTypes = configRuleTriggerTypes;
return this;
}
/**
* @param configRuleTriggerTypes The trigger type of the rule. Valid values: `ConfigurationItemChangeNotification`: The rule is triggered upon configuration changes. `ScheduledNotification`: The rule is triggered as scheduled.
*
* @return builder
*
*/
public Builder configRuleTriggerTypes(String configRuleTriggerTypes) {
return configRuleTriggerTypes(Output.of(configRuleTriggerTypes));
}
/**
* @param description The description of the rule.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description of the rule.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param excludeResourceIdsScope The rule monitors excluded resource IDs, multiple of which are separated by commas, only applies to rules created based on managed rules, , custom rule this field is empty.
*
* @return builder
*
*/
public Builder excludeResourceIdsScope(@Nullable Output excludeResourceIdsScope) {
$.excludeResourceIdsScope = excludeResourceIdsScope;
return this;
}
/**
* @param excludeResourceIdsScope The rule monitors excluded resource IDs, multiple of which are separated by commas, only applies to rules created based on managed rules, , custom rule this field is empty.
*
* @return builder
*
*/
public Builder excludeResourceIdsScope(String excludeResourceIdsScope) {
return excludeResourceIdsScope(Output.of(excludeResourceIdsScope));
}
/**
* @param inputParameters The settings map of the input parameters for the rule.
*
* @return builder
*
*/
public Builder inputParameters(@Nullable Output> inputParameters) {
$.inputParameters = inputParameters;
return this;
}
/**
* @param inputParameters The settings map of the input parameters for the rule.
*
* @return builder
*
*/
public Builder inputParameters(Map inputParameters) {
return inputParameters(Output.of(inputParameters));
}
/**
* @param maximumExecutionFrequency The frequency of the compliance evaluations. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, `TwentyFour_Hours`. System default value is `TwentyFour_Hours` and valid when the `config_rule_trigger_types` is `ScheduledNotification`.
*
* @return builder
*
*/
public Builder maximumExecutionFrequency(@Nullable Output maximumExecutionFrequency) {
$.maximumExecutionFrequency = maximumExecutionFrequency;
return this;
}
/**
* @param maximumExecutionFrequency The frequency of the compliance evaluations. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, `TwentyFour_Hours`. System default value is `TwentyFour_Hours` and valid when the `config_rule_trigger_types` is `ScheduledNotification`.
*
* @return builder
*
*/
public Builder maximumExecutionFrequency(String maximumExecutionFrequency) {
return maximumExecutionFrequency(Output.of(maximumExecutionFrequency));
}
/**
* @param regionIdsScope The rule monitors region IDs, separated by commas, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder regionIdsScope(@Nullable Output regionIdsScope) {
$.regionIdsScope = regionIdsScope;
return this;
}
/**
* @param regionIdsScope The rule monitors region IDs, separated by commas, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder regionIdsScope(String regionIdsScope) {
return regionIdsScope(Output.of(regionIdsScope));
}
/**
* @param resourceGroupIdsScope The rule monitors resource group IDs, separated by commas, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder resourceGroupIdsScope(@Nullable Output resourceGroupIdsScope) {
$.resourceGroupIdsScope = resourceGroupIdsScope;
return this;
}
/**
* @param resourceGroupIdsScope The rule monitors resource group IDs, separated by commas, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder resourceGroupIdsScope(String resourceGroupIdsScope) {
return resourceGroupIdsScope(Output.of(resourceGroupIdsScope));
}
/**
* @param resourceTypesScopes Resource types to be evaluated. [Alibaba Cloud services that support Cloud Config.](https://www.alibabacloud.com/help/en/doc-detail/127411.htm)
*
* @return builder
*
*/
public Builder resourceTypesScopes(Output> resourceTypesScopes) {
$.resourceTypesScopes = resourceTypesScopes;
return this;
}
/**
* @param resourceTypesScopes Resource types to be evaluated. [Alibaba Cloud services that support Cloud Config.](https://www.alibabacloud.com/help/en/doc-detail/127411.htm)
*
* @return builder
*
*/
public Builder resourceTypesScopes(List resourceTypesScopes) {
return resourceTypesScopes(Output.of(resourceTypesScopes));
}
/**
* @param resourceTypesScopes Resource types to be evaluated. [Alibaba Cloud services that support Cloud Config.](https://www.alibabacloud.com/help/en/doc-detail/127411.htm)
*
* @return builder
*
*/
public Builder resourceTypesScopes(String... resourceTypesScopes) {
return resourceTypesScopes(List.of(resourceTypesScopes));
}
/**
* @param riskLevel The risk level of the resources that are not compliant with the rule. Valid values: `1`: critical `2`: warning `3`: info.
*
* @return builder
*
*/
public Builder riskLevel(Output riskLevel) {
$.riskLevel = riskLevel;
return this;
}
/**
* @param riskLevel The risk level of the resources that are not compliant with the rule. Valid values: `1`: critical `2`: warning `3`: info.
*
* @return builder
*
*/
public Builder riskLevel(Integer riskLevel) {
return riskLevel(Output.of(riskLevel));
}
/**
* @param sourceIdentifier The identifier of the rule. For a managed rule, the value is the identifier of the managed rule. For a custom rule, the value is the ARN of the custom rule. Using managed rules, refer to [List of Managed rules.](https://www.alibabacloud.com/help/en/doc-detail/127404.htm)
*
* @return builder
*
*/
public Builder sourceIdentifier(Output sourceIdentifier) {
$.sourceIdentifier = sourceIdentifier;
return this;
}
/**
* @param sourceIdentifier The identifier of the rule. For a managed rule, the value is the identifier of the managed rule. For a custom rule, the value is the ARN of the custom rule. Using managed rules, refer to [List of Managed rules.](https://www.alibabacloud.com/help/en/doc-detail/127404.htm)
*
* @return builder
*
*/
public Builder sourceIdentifier(String sourceIdentifier) {
return sourceIdentifier(Output.of(sourceIdentifier));
}
/**
* @param sourceOwner Specifies whether you or Alibaba Cloud owns and manages the rule. Valid values: `CUSTOM_FC`: The rule is a custom rule and you own the rule. `ALIYUN`: The rule is a managed rule and Alibaba Cloud owns the rule.
*
* @return builder
*
*/
public Builder sourceOwner(Output sourceOwner) {
$.sourceOwner = sourceOwner;
return this;
}
/**
* @param sourceOwner Specifies whether you or Alibaba Cloud owns and manages the rule. Valid values: `CUSTOM_FC`: The rule is a custom rule and you own the rule. `ALIYUN`: The rule is a managed rule and Alibaba Cloud owns the rule.
*
* @return builder
*
*/
public Builder sourceOwner(String sourceOwner) {
return sourceOwner(Output.of(sourceOwner));
}
/**
* @param status The rule status. The valid values: `ACTIVE`, `INACTIVE`.
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status The rule status. The valid values: `ACTIVE`, `INACTIVE`.
*
* @return builder
*
*/
public Builder status(String status) {
return status(Output.of(status));
}
/**
* @param tagKeyScope The rule monitors the tag key, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder tagKeyScope(@Nullable Output tagKeyScope) {
$.tagKeyScope = tagKeyScope;
return this;
}
/**
* @param tagKeyScope The rule monitors the tag key, only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder tagKeyScope(String tagKeyScope) {
return tagKeyScope(Output.of(tagKeyScope));
}
/**
* @param tagValueScope The rule monitors the tag value, use with the `tag_key_scope` options. only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder tagValueScope(@Nullable Output tagValueScope) {
$.tagValueScope = tagValueScope;
return this;
}
/**
* @param tagValueScope The rule monitors the tag value, use with the `tag_key_scope` options. only applies to rules created based on managed rules.
*
* @return builder
*
*/
public Builder tagValueScope(String tagValueScope) {
return tagValueScope(Output.of(tagValueScope));
}
public AggregateConfigRuleArgs build() {
if ($.aggregateConfigRuleName == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "aggregateConfigRuleName");
}
if ($.aggregatorId == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "aggregatorId");
}
if ($.configRuleTriggerTypes == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "configRuleTriggerTypes");
}
if ($.resourceTypesScopes == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "resourceTypesScopes");
}
if ($.riskLevel == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "riskLevel");
}
if ($.sourceIdentifier == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "sourceIdentifier");
}
if ($.sourceOwner == null) {
throw new MissingRequiredPropertyException("AggregateConfigRuleArgs", "sourceOwner");
}
return $;
}
}
}