/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the network-firewall-2020-11-12.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.NetworkFirewall.Model { /// /// Container for the parameters to the UpdateRuleGroup operation. /// Updates the rule settings for the specified rule group. You use a rule group by reference /// in one or more firewall policies. When you modify a rule group, you modify all firewall /// policies that use the rule group. /// /// /// /// To update a rule group, first call DescribeRuleGroup to retrieve the current /// RuleGroup object, update the object as needed, and then provide the updated /// object to this call. /// /// public partial class UpdateRuleGroupRequest : AmazonNetworkFirewallRequest { private string _description; private bool? _dryRun; private EncryptionConfiguration _encryptionConfiguration; private RuleGroup _ruleGroup; private string _ruleGroupArn; private string _ruleGroupName; private string _rules; private SourceMetadata _sourceMetadata; private RuleGroupType _type; private string _updateToken; /// /// Gets and sets the property Description. /// /// A description of the rule group. /// /// [AWSProperty(Max=512)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property DryRun. /// /// Indicates whether you want Network Firewall to just check the validity of the request, /// rather than run the request. /// /// /// /// If set to TRUE, Network Firewall checks whether the request can run successfully, /// but doesn't actually make the requested changes. The call returns the value that the /// request would return if you ran it with dry run set to FALSE, but doesn't /// make additions or changes to your resources. This option allows you to make sure that /// you have the required permissions to run the request and that your request parameters /// are valid. /// /// /// /// If set to FALSE, Network Firewall makes the requested changes to your /// resources. /// /// public bool DryRun { get { return this._dryRun.GetValueOrDefault(); } set { this._dryRun = value; } } // Check to see if DryRun property is set internal bool IsSetDryRun() { return this._dryRun.HasValue; } /// /// Gets and sets the property EncryptionConfiguration. /// /// A complex type that contains settings for encryption of your rule group resources. /// /// public EncryptionConfiguration EncryptionConfiguration { get { return this._encryptionConfiguration; } set { this._encryptionConfiguration = value; } } // Check to see if EncryptionConfiguration property is set internal bool IsSetEncryptionConfiguration() { return this._encryptionConfiguration != null; } /// /// Gets and sets the property RuleGroup. /// /// An object that defines the rule group rules. /// /// /// /// You must provide either this rule group setting or a Rules setting, but /// not both. /// /// /// public RuleGroup RuleGroup { get { return this._ruleGroup; } set { this._ruleGroup = value; } } // Check to see if RuleGroup property is set internal bool IsSetRuleGroup() { return this._ruleGroup != null; } /// /// Gets and sets the property RuleGroupArn. /// /// The Amazon Resource Name (ARN) of the rule group. /// /// /// /// You must specify the ARN or the name, and you can specify both. /// /// [AWSProperty(Min=1, Max=256)] public string RuleGroupArn { get { return this._ruleGroupArn; } set { this._ruleGroupArn = value; } } // Check to see if RuleGroupArn property is set internal bool IsSetRuleGroupArn() { return this._ruleGroupArn != null; } /// /// Gets and sets the property RuleGroupName. /// /// The descriptive name of the rule group. You can't change the name of a rule group /// after you create it. /// /// /// /// You must specify the ARN or the name, and you can specify both. /// /// [AWSProperty(Min=1, Max=128)] public string RuleGroupName { get { return this._ruleGroupName; } set { this._ruleGroupName = value; } } // Check to see if RuleGroupName property is set internal bool IsSetRuleGroupName() { return this._ruleGroupName != null; } /// /// Gets and sets the property Rules. /// /// A string containing stateful rule group rules specifications in Suricata flat format, /// with one rule per line. Use this to import your existing Suricata compatible rule /// groups. /// /// /// /// You must provide either this rules setting or a populated RuleGroup setting, /// but not both. /// /// /// /// You can provide your rule group specification in Suricata flat format through this /// setting when you create or update your rule group. The call response returns a RuleGroup /// object that Network Firewall has populated from your string. /// /// [AWSProperty(Min=0, Max=2000000)] public string Rules { get { return this._rules; } set { this._rules = value; } } // Check to see if Rules property is set internal bool IsSetRules() { return this._rules != null; } /// /// Gets and sets the property SourceMetadata. /// /// A complex type that contains metadata about the rule group that your own rule group /// is copied from. You can use the metadata to keep track of updates made to the originating /// rule group. /// /// public SourceMetadata SourceMetadata { get { return this._sourceMetadata; } set { this._sourceMetadata = value; } } // Check to see if SourceMetadata property is set internal bool IsSetSourceMetadata() { return this._sourceMetadata != null; } /// /// Gets and sets the property Type. /// /// Indicates whether the rule group is stateless or stateful. If the rule group is stateless, /// it contains stateless rules. If it is stateful, it contains stateful rules. /// /// /// /// This setting is required for requests that do not include the RuleGroupARN. /// /// /// public RuleGroupType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property UpdateToken. /// /// A token used for optimistic locking. Network Firewall returns a token to your requests /// that access the rule group. The token marks the state of the rule group resource at /// the time of the request. /// /// /// /// To make changes to the rule group, you provide the token in your request. Network /// Firewall uses the token to ensure that the rule group hasn't changed since you last /// retrieved it. If it has changed, the operation fails with an InvalidTokenException. /// If this happens, retrieve the rule group again to get a current copy of it with a /// current token. Reapply your changes as needed, then try the operation again using /// the new token. /// /// [AWSProperty(Required=true, Min=1, Max=1024)] public string UpdateToken { get { return this._updateToken; } set { this._updateToken = value; } } // Check to see if UpdateToken property is set internal bool IsSetUpdateToken() { return this._updateToken != null; } } }