/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Information about an Amazon OpenSearch Service domain.

See * Also:

AWS * API Reference

*/ class AwsOpenSearchServiceDomainDetails { public: AWS_SECURITYHUB_API AwsOpenSearchServiceDomainDetails(); AWS_SECURITYHUB_API AwsOpenSearchServiceDomainDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsOpenSearchServiceDomainDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ARN of the OpenSearch Service domain.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the OpenSearch Service domain.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the OpenSearch Service domain.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the OpenSearch Service domain.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the OpenSearch Service domain.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the OpenSearch Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the OpenSearch Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the OpenSearch Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithArn(const char* value) { SetArn(value); return *this;} /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline const Aws::String& GetAccessPolicies() const{ return m_accessPolicies; } /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline bool AccessPoliciesHasBeenSet() const { return m_accessPoliciesHasBeenSet; } /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline void SetAccessPolicies(const Aws::String& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = value; } /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline void SetAccessPolicies(Aws::String&& value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies = std::move(value); } /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline void SetAccessPolicies(const char* value) { m_accessPoliciesHasBeenSet = true; m_accessPolicies.assign(value); } /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithAccessPolicies(const Aws::String& value) { SetAccessPolicies(value); return *this;} /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithAccessPolicies(Aws::String&& value) { SetAccessPolicies(std::move(value)); return *this;} /** *

IAM policy document that specifies the access policies for the OpenSearch * Service domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithAccessPolicies(const char* value) { SetAccessPolicies(value); return *this;} /** *

The name of the endpoint.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The name of the endpoint.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The name of the endpoint.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The name of the endpoint.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The name of the endpoint.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The name of the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The name of the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The name of the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

The identifier of the domain.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier of the domain.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier of the domain.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier of the domain.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier of the domain.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier of the domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier of the domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier of the domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithId(const char* value) { SetId(value); return *this;} /** *

The domain endpoint.

*/ inline const Aws::String& GetDomainEndpoint() const{ return m_domainEndpoint; } /** *

The domain endpoint.

*/ inline bool DomainEndpointHasBeenSet() const { return m_domainEndpointHasBeenSet; } /** *

The domain endpoint.

*/ inline void SetDomainEndpoint(const Aws::String& value) { m_domainEndpointHasBeenSet = true; m_domainEndpoint = value; } /** *

The domain endpoint.

*/ inline void SetDomainEndpoint(Aws::String&& value) { m_domainEndpointHasBeenSet = true; m_domainEndpoint = std::move(value); } /** *

The domain endpoint.

*/ inline void SetDomainEndpoint(const char* value) { m_domainEndpointHasBeenSet = true; m_domainEndpoint.assign(value); } /** *

The domain endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpoint(const Aws::String& value) { SetDomainEndpoint(value); return *this;} /** *

The domain endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpoint(Aws::String&& value) { SetDomainEndpoint(std::move(value)); return *this;} /** *

The domain endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpoint(const char* value) { SetDomainEndpoint(value); return *this;} /** *

The version of the domain engine.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The version of the domain engine.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The version of the domain engine.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The version of the domain engine.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The version of the domain engine.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The version of the domain engine.

*/ inline AwsOpenSearchServiceDomainDetails& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The version of the domain engine.

*/ inline AwsOpenSearchServiceDomainDetails& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The version of the domain engine.

*/ inline AwsOpenSearchServiceDomainDetails& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

Details about the configuration for encryption at rest.

*/ inline const AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails& GetEncryptionAtRestOptions() const{ return m_encryptionAtRestOptions; } /** *

Details about the configuration for encryption at rest.

*/ inline bool EncryptionAtRestOptionsHasBeenSet() const { return m_encryptionAtRestOptionsHasBeenSet; } /** *

Details about the configuration for encryption at rest.

*/ inline void SetEncryptionAtRestOptions(const AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = value; } /** *

Details about the configuration for encryption at rest.

*/ inline void SetEncryptionAtRestOptions(AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails&& value) { m_encryptionAtRestOptionsHasBeenSet = true; m_encryptionAtRestOptions = std::move(value); } /** *

Details about the configuration for encryption at rest.

*/ inline AwsOpenSearchServiceDomainDetails& WithEncryptionAtRestOptions(const AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails& value) { SetEncryptionAtRestOptions(value); return *this;} /** *

Details about the configuration for encryption at rest.

*/ inline AwsOpenSearchServiceDomainDetails& WithEncryptionAtRestOptions(AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails&& value) { SetEncryptionAtRestOptions(std::move(value)); return *this;} /** *

Details about the configuration for node-to-node encryption.

*/ inline const AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails& GetNodeToNodeEncryptionOptions() const{ return m_nodeToNodeEncryptionOptions; } /** *

Details about the configuration for node-to-node encryption.

*/ inline bool NodeToNodeEncryptionOptionsHasBeenSet() const { return m_nodeToNodeEncryptionOptionsHasBeenSet; } /** *

Details about the configuration for node-to-node encryption.

*/ inline void SetNodeToNodeEncryptionOptions(const AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = value; } /** *

Details about the configuration for node-to-node encryption.

*/ inline void SetNodeToNodeEncryptionOptions(AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails&& value) { m_nodeToNodeEncryptionOptionsHasBeenSet = true; m_nodeToNodeEncryptionOptions = std::move(value); } /** *

Details about the configuration for node-to-node encryption.

*/ inline AwsOpenSearchServiceDomainDetails& WithNodeToNodeEncryptionOptions(const AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails& value) { SetNodeToNodeEncryptionOptions(value); return *this;} /** *

Details about the configuration for node-to-node encryption.

*/ inline AwsOpenSearchServiceDomainDetails& WithNodeToNodeEncryptionOptions(AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails&& value) { SetNodeToNodeEncryptionOptions(std::move(value)); return *this;} /** *

Information about the status of a domain relative to the latest service * software.

*/ inline const AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails& GetServiceSoftwareOptions() const{ return m_serviceSoftwareOptions; } /** *

Information about the status of a domain relative to the latest service * software.

*/ inline bool ServiceSoftwareOptionsHasBeenSet() const { return m_serviceSoftwareOptionsHasBeenSet; } /** *

Information about the status of a domain relative to the latest service * software.

*/ inline void SetServiceSoftwareOptions(const AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails& value) { m_serviceSoftwareOptionsHasBeenSet = true; m_serviceSoftwareOptions = value; } /** *

Information about the status of a domain relative to the latest service * software.

*/ inline void SetServiceSoftwareOptions(AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails&& value) { m_serviceSoftwareOptionsHasBeenSet = true; m_serviceSoftwareOptions = std::move(value); } /** *

Information about the status of a domain relative to the latest service * software.

*/ inline AwsOpenSearchServiceDomainDetails& WithServiceSoftwareOptions(const AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails& value) { SetServiceSoftwareOptions(value); return *this;} /** *

Information about the status of a domain relative to the latest service * software.

*/ inline AwsOpenSearchServiceDomainDetails& WithServiceSoftwareOptions(AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails&& value) { SetServiceSoftwareOptions(std::move(value)); return *this;} /** *

Details about the configuration of an OpenSearch cluster.

*/ inline const AwsOpenSearchServiceDomainClusterConfigDetails& GetClusterConfig() const{ return m_clusterConfig; } /** *

Details about the configuration of an OpenSearch cluster.

*/ inline bool ClusterConfigHasBeenSet() const { return m_clusterConfigHasBeenSet; } /** *

Details about the configuration of an OpenSearch cluster.

*/ inline void SetClusterConfig(const AwsOpenSearchServiceDomainClusterConfigDetails& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = value; } /** *

Details about the configuration of an OpenSearch cluster.

*/ inline void SetClusterConfig(AwsOpenSearchServiceDomainClusterConfigDetails&& value) { m_clusterConfigHasBeenSet = true; m_clusterConfig = std::move(value); } /** *

Details about the configuration of an OpenSearch cluster.

*/ inline AwsOpenSearchServiceDomainDetails& WithClusterConfig(const AwsOpenSearchServiceDomainClusterConfigDetails& value) { SetClusterConfig(value); return *this;} /** *

Details about the configuration of an OpenSearch cluster.

*/ inline AwsOpenSearchServiceDomainDetails& WithClusterConfig(AwsOpenSearchServiceDomainClusterConfigDetails&& value) { SetClusterConfig(std::move(value)); return *this;} /** *

Additional options for the domain endpoint.

*/ inline const AwsOpenSearchServiceDomainDomainEndpointOptionsDetails& GetDomainEndpointOptions() const{ return m_domainEndpointOptions; } /** *

Additional options for the domain endpoint.

*/ inline bool DomainEndpointOptionsHasBeenSet() const { return m_domainEndpointOptionsHasBeenSet; } /** *

Additional options for the domain endpoint.

*/ inline void SetDomainEndpointOptions(const AwsOpenSearchServiceDomainDomainEndpointOptionsDetails& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = value; } /** *

Additional options for the domain endpoint.

*/ inline void SetDomainEndpointOptions(AwsOpenSearchServiceDomainDomainEndpointOptionsDetails&& value) { m_domainEndpointOptionsHasBeenSet = true; m_domainEndpointOptions = std::move(value); } /** *

Additional options for the domain endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpointOptions(const AwsOpenSearchServiceDomainDomainEndpointOptionsDetails& value) { SetDomainEndpointOptions(value); return *this;} /** *

Additional options for the domain endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpointOptions(AwsOpenSearchServiceDomainDomainEndpointOptionsDetails&& value) { SetDomainEndpointOptions(std::move(value)); return *this;} /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline const AwsOpenSearchServiceDomainVpcOptionsDetails& GetVpcOptions() const{ return m_vpcOptions; } /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline bool VpcOptionsHasBeenSet() const { return m_vpcOptionsHasBeenSet; } /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline void SetVpcOptions(const AwsOpenSearchServiceDomainVpcOptionsDetails& value) { m_vpcOptionsHasBeenSet = true; m_vpcOptions = value; } /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline void SetVpcOptions(AwsOpenSearchServiceDomainVpcOptionsDetails&& value) { m_vpcOptionsHasBeenSet = true; m_vpcOptions = std::move(value); } /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithVpcOptions(const AwsOpenSearchServiceDomainVpcOptionsDetails& value) { SetVpcOptions(value); return *this;} /** *

Information that OpenSearch Service derives based on VPCOptions * for the domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithVpcOptions(AwsOpenSearchServiceDomainVpcOptionsDetails&& value) { SetVpcOptions(std::move(value)); return *this;} /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline const AwsOpenSearchServiceDomainLogPublishingOptionsDetails& GetLogPublishingOptions() const{ return m_logPublishingOptions; } /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline bool LogPublishingOptionsHasBeenSet() const { return m_logPublishingOptionsHasBeenSet; } /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline void SetLogPublishingOptions(const AwsOpenSearchServiceDomainLogPublishingOptionsDetails& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = value; } /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline void SetLogPublishingOptions(AwsOpenSearchServiceDomainLogPublishingOptionsDetails&& value) { m_logPublishingOptionsHasBeenSet = true; m_logPublishingOptions = std::move(value); } /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithLogPublishingOptions(const AwsOpenSearchServiceDomainLogPublishingOptionsDetails& value) { SetLogPublishingOptions(value); return *this;} /** *

Configures the CloudWatch Logs to publish for the OpenSearch domain.

*/ inline AwsOpenSearchServiceDomainDetails& WithLogPublishingOptions(AwsOpenSearchServiceDomainLogPublishingOptionsDetails&& value) { SetLogPublishingOptions(std::move(value)); return *this;} /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline const Aws::Map& GetDomainEndpoints() const{ return m_domainEndpoints; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline bool DomainEndpointsHasBeenSet() const { return m_domainEndpointsHasBeenSet; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline void SetDomainEndpoints(const Aws::Map& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints = value; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline void SetDomainEndpoints(Aws::Map&& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints = std::move(value); } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpoints(const Aws::Map& value) { SetDomainEndpoints(value); return *this;} /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& WithDomainEndpoints(Aws::Map&& value) { SetDomainEndpoints(std::move(value)); return *this;} /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(const Aws::String& key, const Aws::String& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(key, value); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(Aws::String&& key, const Aws::String& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(std::move(key), value); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(const Aws::String& key, Aws::String&& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(key, std::move(value)); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(Aws::String&& key, Aws::String&& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(std::move(key), std::move(value)); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(const char* key, Aws::String&& value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(key, std::move(value)); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(Aws::String&& key, const char* value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(std::move(key), value); return *this; } /** *

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

*

This is a map of key-value pairs. The key is always vpc. The * value is the endpoint.

*/ inline AwsOpenSearchServiceDomainDetails& AddDomainEndpoints(const char* key, const char* value) { m_domainEndpointsHasBeenSet = true; m_domainEndpoints.emplace(key, value); return *this; } /** *

Specifies options for fine-grained access control.

*/ inline const AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails& GetAdvancedSecurityOptions() const{ return m_advancedSecurityOptions; } /** *

Specifies options for fine-grained access control.

*/ inline bool AdvancedSecurityOptionsHasBeenSet() const { return m_advancedSecurityOptionsHasBeenSet; } /** *

Specifies options for fine-grained access control.

*/ inline void SetAdvancedSecurityOptions(const AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = value; } /** *

Specifies options for fine-grained access control.

*/ inline void SetAdvancedSecurityOptions(AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails&& value) { m_advancedSecurityOptionsHasBeenSet = true; m_advancedSecurityOptions = std::move(value); } /** *

Specifies options for fine-grained access control.

*/ inline AwsOpenSearchServiceDomainDetails& WithAdvancedSecurityOptions(const AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails& value) { SetAdvancedSecurityOptions(value); return *this;} /** *

Specifies options for fine-grained access control.

*/ inline AwsOpenSearchServiceDomainDetails& WithAdvancedSecurityOptions(AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_accessPolicies; bool m_accessPoliciesHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_domainEndpoint; bool m_domainEndpointHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails m_encryptionAtRestOptions; bool m_encryptionAtRestOptionsHasBeenSet = false; AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails m_nodeToNodeEncryptionOptions; bool m_nodeToNodeEncryptionOptionsHasBeenSet = false; AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails m_serviceSoftwareOptions; bool m_serviceSoftwareOptionsHasBeenSet = false; AwsOpenSearchServiceDomainClusterConfigDetails m_clusterConfig; bool m_clusterConfigHasBeenSet = false; AwsOpenSearchServiceDomainDomainEndpointOptionsDetails m_domainEndpointOptions; bool m_domainEndpointOptionsHasBeenSet = false; AwsOpenSearchServiceDomainVpcOptionsDetails m_vpcOptions; bool m_vpcOptionsHasBeenSet = false; AwsOpenSearchServiceDomainLogPublishingOptionsDetails m_logPublishingOptions; bool m_logPublishingOptionsHasBeenSet = false; Aws::Map m_domainEndpoints; bool m_domainEndpointsHasBeenSet = false; AwsOpenSearchServiceDomainAdvancedSecurityOptionsDetails m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws