/* * 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 elasticmapreduce-2009-03-31.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.ElasticMapReduce.Model { /// /// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules /// is set to true, Amazon EMR prevents cluster creation if one of the cluster's /// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a /// port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. /// public partial class BlockPublicAccessConfiguration { private bool? _blockPublicSecurityGroupRules; private List _permittedPublicSecurityGroupRuleRanges = new List(); /// /// Gets and sets the property BlockPublicSecurityGroupRules. /// /// Indicates whether Amazon EMR block public access is enabled (true) or /// disabled (false). By default, the value is false for accounts /// that have created Amazon EMR clusters before July 2019. For accounts created after /// this, the default is true. /// /// [AWSProperty(Required=true)] public bool BlockPublicSecurityGroupRules { get { return this._blockPublicSecurityGroupRules.GetValueOrDefault(); } set { this._blockPublicSecurityGroupRules = value; } } // Check to see if BlockPublicSecurityGroupRules property is set internal bool IsSetBlockPublicSecurityGroupRules() { return this._blockPublicSecurityGroupRules.HasValue; } /// /// Gets and sets the property PermittedPublicSecurityGroupRuleRanges. /// /// Specifies ports and port ranges that are permitted to have security group rules that /// allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is /// specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows /// cluster creation if a security group associated with the cluster has a rule that allows /// inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source. /// /// /// /// By default, Port 22, which is used for SSH access to the cluster Amazon EC2 instances, /// is in the list of PermittedPublicSecurityGroupRuleRanges. /// /// public List PermittedPublicSecurityGroupRuleRanges { get { return this._permittedPublicSecurityGroupRuleRanges; } set { this._permittedPublicSecurityGroupRuleRanges = value; } } // Check to see if PermittedPublicSecurityGroupRuleRanges property is set internal bool IsSetPermittedPublicSecurityGroupRuleRanges() { return this._permittedPublicSecurityGroupRuleRanges != null && this._permittedPublicSecurityGroupRuleRanges.Count > 0; } } }