/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace EMR { namespace Model { class GetBlockPublicAccessConfigurationResult { public: AWS_EMR_API GetBlockPublicAccessConfigurationResult(); AWS_EMR_API GetBlockPublicAccessConfigurationResult(const Aws::AmazonWebServiceResult& result); AWS_EMR_API GetBlockPublicAccessConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

A configuration for Amazon EMR block public access. The configuration applies * to all clusters created in your account for the current Region. The * configuration specifies whether block public access is enabled. If block public * access is enabled, security groups associated with the cluster cannot have rules * that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is * specified as an exception using * PermittedPublicSecurityGroupRuleRanges in the * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an * exception, and public access is allowed on this port. You can change this by * updating the block public access configuration to remove the exception.

*

For accounts that created clusters in a Region before November 25, * 2019, block public access is disabled by default in that Region. To use this * feature, you must manually enable and configure it. For accounts that did not * create an Amazon EMR cluster in a Region before this date, block public access * is enabled by default in that Region.

*/ inline const BlockPublicAccessConfiguration& GetBlockPublicAccessConfiguration() const{ return m_blockPublicAccessConfiguration; } /** *

A configuration for Amazon EMR block public access. The configuration applies * to all clusters created in your account for the current Region. The * configuration specifies whether block public access is enabled. If block public * access is enabled, security groups associated with the cluster cannot have rules * that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is * specified as an exception using * PermittedPublicSecurityGroupRuleRanges in the * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an * exception, and public access is allowed on this port. You can change this by * updating the block public access configuration to remove the exception.

*

For accounts that created clusters in a Region before November 25, * 2019, block public access is disabled by default in that Region. To use this * feature, you must manually enable and configure it. For accounts that did not * create an Amazon EMR cluster in a Region before this date, block public access * is enabled by default in that Region.

*/ inline void SetBlockPublicAccessConfiguration(const BlockPublicAccessConfiguration& value) { m_blockPublicAccessConfiguration = value; } /** *

A configuration for Amazon EMR block public access. The configuration applies * to all clusters created in your account for the current Region. The * configuration specifies whether block public access is enabled. If block public * access is enabled, security groups associated with the cluster cannot have rules * that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is * specified as an exception using * PermittedPublicSecurityGroupRuleRanges in the * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an * exception, and public access is allowed on this port. You can change this by * updating the block public access configuration to remove the exception.

*

For accounts that created clusters in a Region before November 25, * 2019, block public access is disabled by default in that Region. To use this * feature, you must manually enable and configure it. For accounts that did not * create an Amazon EMR cluster in a Region before this date, block public access * is enabled by default in that Region.

*/ inline void SetBlockPublicAccessConfiguration(BlockPublicAccessConfiguration&& value) { m_blockPublicAccessConfiguration = std::move(value); } /** *

A configuration for Amazon EMR block public access. The configuration applies * to all clusters created in your account for the current Region. The * configuration specifies whether block public access is enabled. If block public * access is enabled, security groups associated with the cluster cannot have rules * that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is * specified as an exception using * PermittedPublicSecurityGroupRuleRanges in the * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an * exception, and public access is allowed on this port. You can change this by * updating the block public access configuration to remove the exception.

*

For accounts that created clusters in a Region before November 25, * 2019, block public access is disabled by default in that Region. To use this * feature, you must manually enable and configure it. For accounts that did not * create an Amazon EMR cluster in a Region before this date, block public access * is enabled by default in that Region.

*/ inline GetBlockPublicAccessConfigurationResult& WithBlockPublicAccessConfiguration(const BlockPublicAccessConfiguration& value) { SetBlockPublicAccessConfiguration(value); return *this;} /** *

A configuration for Amazon EMR block public access. The configuration applies * to all clusters created in your account for the current Region. The * configuration specifies whether block public access is enabled. If block public * access is enabled, security groups associated with the cluster cannot have rules * that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is * specified as an exception using * PermittedPublicSecurityGroupRuleRanges in the * BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an * exception, and public access is allowed on this port. You can change this by * updating the block public access configuration to remove the exception.

*

For accounts that created clusters in a Region before November 25, * 2019, block public access is disabled by default in that Region. To use this * feature, you must manually enable and configure it. For accounts that did not * create an Amazon EMR cluster in a Region before this date, block public access * is enabled by default in that Region.

*/ inline GetBlockPublicAccessConfigurationResult& WithBlockPublicAccessConfiguration(BlockPublicAccessConfiguration&& value) { SetBlockPublicAccessConfiguration(std::move(value)); return *this;} /** *

Properties that describe the Amazon Web Services principal that created the * BlockPublicAccessConfiguration using the * PutBlockPublicAccessConfiguration action as well as the date and * time that the configuration was created. Each time a configuration for block * public access is updated, Amazon EMR updates this metadata.

*/ inline const BlockPublicAccessConfigurationMetadata& GetBlockPublicAccessConfigurationMetadata() const{ return m_blockPublicAccessConfigurationMetadata; } /** *

Properties that describe the Amazon Web Services principal that created the * BlockPublicAccessConfiguration using the * PutBlockPublicAccessConfiguration action as well as the date and * time that the configuration was created. Each time a configuration for block * public access is updated, Amazon EMR updates this metadata.

*/ inline void SetBlockPublicAccessConfigurationMetadata(const BlockPublicAccessConfigurationMetadata& value) { m_blockPublicAccessConfigurationMetadata = value; } /** *

Properties that describe the Amazon Web Services principal that created the * BlockPublicAccessConfiguration using the * PutBlockPublicAccessConfiguration action as well as the date and * time that the configuration was created. Each time a configuration for block * public access is updated, Amazon EMR updates this metadata.

*/ inline void SetBlockPublicAccessConfigurationMetadata(BlockPublicAccessConfigurationMetadata&& value) { m_blockPublicAccessConfigurationMetadata = std::move(value); } /** *

Properties that describe the Amazon Web Services principal that created the * BlockPublicAccessConfiguration using the * PutBlockPublicAccessConfiguration action as well as the date and * time that the configuration was created. Each time a configuration for block * public access is updated, Amazon EMR updates this metadata.

*/ inline GetBlockPublicAccessConfigurationResult& WithBlockPublicAccessConfigurationMetadata(const BlockPublicAccessConfigurationMetadata& value) { SetBlockPublicAccessConfigurationMetadata(value); return *this;} /** *

Properties that describe the Amazon Web Services principal that created the * BlockPublicAccessConfiguration using the * PutBlockPublicAccessConfiguration action as well as the date and * time that the configuration was created. Each time a configuration for block * public access is updated, Amazon EMR updates this metadata.

*/ inline GetBlockPublicAccessConfigurationResult& WithBlockPublicAccessConfigurationMetadata(BlockPublicAccessConfigurationMetadata&& value) { SetBlockPublicAccessConfigurationMetadata(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetBlockPublicAccessConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetBlockPublicAccessConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetBlockPublicAccessConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: BlockPublicAccessConfiguration m_blockPublicAccessConfiguration; BlockPublicAccessConfigurationMetadata m_blockPublicAccessConfigurationMetadata; Aws::String m_requestId; }; } // namespace Model } // namespace EMR } // namespace Aws