/* * 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 CreateFirewall operation. /// Creates an Network Firewall Firewall and accompanying FirewallStatus /// for a VPC. /// /// /// /// The firewall defines the configuration settings for an Network Firewall firewall. /// The settings that you can define at creation include the firewall policy, the subnets /// in your VPC to use for the firewall endpoints, and any tags that are attached to the /// firewall Amazon Web Services resource. /// /// /// /// After you create a firewall, you can provide additional settings, like the logging /// configuration. /// /// /// /// To update the settings for a firewall, you use the operations that apply to the settings /// themselves, for example UpdateLoggingConfiguration, AssociateSubnets, /// and UpdateFirewallDeleteProtection. /// /// /// /// To manage a firewall's tags, use the standard Amazon Web Services resource tagging /// operations, ListTagsForResource, TagResource, and UntagResource. /// /// /// /// To retrieve information about firewalls, use ListFirewalls and DescribeFirewall. /// /// public partial class CreateFirewallRequest : AmazonNetworkFirewallRequest { private bool? _deleteProtection; private string _description; private EncryptionConfiguration _encryptionConfiguration; private string _firewallName; private string _firewallPolicyArn; private bool? _firewallPolicyChangeProtection; private bool? _subnetChangeProtection; private List _subnetMappings = new List(); private List _tags = new List(); private string _vpcId; /// /// Gets and sets the property DeleteProtection. /// /// A flag indicating whether it is possible to delete the firewall. A setting of TRUE /// indicates that the firewall is protected against deletion. Use this setting to protect /// against accidentally deleting a firewall that is in use. When you create a firewall, /// the operation initializes this flag to TRUE. /// /// public bool DeleteProtection { get { return this._deleteProtection.GetValueOrDefault(); } set { this._deleteProtection = value; } } // Check to see if DeleteProtection property is set internal bool IsSetDeleteProtection() { return this._deleteProtection.HasValue; } /// /// Gets and sets the property Description. /// /// A description of the firewall. /// /// [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 EncryptionConfiguration. /// /// A complex type that contains settings for encryption of your firewall 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 FirewallName. /// /// The descriptive name of the firewall. You can't change the name of a firewall after /// you create it. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string FirewallName { get { return this._firewallName; } set { this._firewallName = value; } } // Check to see if FirewallName property is set internal bool IsSetFirewallName() { return this._firewallName != null; } /// /// Gets and sets the property FirewallPolicyArn. /// /// The Amazon Resource Name (ARN) of the FirewallPolicy that you want to use for /// the firewall. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string FirewallPolicyArn { get { return this._firewallPolicyArn; } set { this._firewallPolicyArn = value; } } // Check to see if FirewallPolicyArn property is set internal bool IsSetFirewallPolicyArn() { return this._firewallPolicyArn != null; } /// /// Gets and sets the property FirewallPolicyChangeProtection. /// /// A setting indicating whether the firewall is protected against a change to the firewall /// policy association. Use this setting to protect against accidentally modifying the /// firewall policy for a firewall that is in use. When you create a firewall, the operation /// initializes this setting to TRUE. /// /// public bool FirewallPolicyChangeProtection { get { return this._firewallPolicyChangeProtection.GetValueOrDefault(); } set { this._firewallPolicyChangeProtection = value; } } // Check to see if FirewallPolicyChangeProtection property is set internal bool IsSetFirewallPolicyChangeProtection() { return this._firewallPolicyChangeProtection.HasValue; } /// /// Gets and sets the property SubnetChangeProtection. /// /// A setting indicating whether the firewall is protected against changes to the subnet /// associations. Use this setting to protect against accidentally modifying the subnet /// associations for a firewall that is in use. When you create a firewall, the operation /// initializes this setting to TRUE. /// /// public bool SubnetChangeProtection { get { return this._subnetChangeProtection.GetValueOrDefault(); } set { this._subnetChangeProtection = value; } } // Check to see if SubnetChangeProtection property is set internal bool IsSetSubnetChangeProtection() { return this._subnetChangeProtection.HasValue; } /// /// Gets and sets the property SubnetMappings. /// /// The public subnets to use for your Network Firewall firewalls. Each subnet must belong /// to a different Availability Zone in the VPC. Network Firewall creates a firewall endpoint /// in each subnet. /// /// [AWSProperty(Required=true)] public List SubnetMappings { get { return this._subnetMappings; } set { this._subnetMappings = value; } } // Check to see if SubnetMappings property is set internal bool IsSetSubnetMappings() { return this._subnetMappings != null && this._subnetMappings.Count > 0; } /// /// Gets and sets the property Tags. /// /// The key:value pairs to associate with the resource. /// /// [AWSProperty(Min=1, Max=200)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property VpcId. /// /// The unique identifier of the VPC where Network Firewall should create the firewall. /// /// /// /// /// You can't change this setting after you create the firewall. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string VpcId { get { return this._vpcId; } set { this._vpcId = value; } } // Check to see if VpcId property is set internal bool IsSetVpcId() { return this._vpcId != null; } } }