/* * 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 opensearch-2021-01-01.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.OpenSearchService.Model { /// /// Container for the parameters to the UpdateDomainConfig operation. /// Modifies the cluster configuration of the specified Amazon OpenSearch Service domain.sl /// public partial class UpdateDomainConfigRequest : AmazonOpenSearchServiceRequest { private string _accessPolicies; private Dictionary _advancedOptions = new Dictionary(); private AdvancedSecurityOptionsInput _advancedSecurityOptions; private AutoTuneOptions _autoTuneOptions; private ClusterConfig _clusterConfig; private CognitoOptions _cognitoOptions; private DomainEndpointOptions _domainEndpointOptions; private string _domainName; private bool? _dryRun; private DryRunMode _dryRunMode; private EBSOptions _ebsOptions; private EncryptionAtRestOptions _encryptionAtRestOptions; private Dictionary _logPublishingOptions = new Dictionary(); private NodeToNodeEncryptionOptions _nodeToNodeEncryptionOptions; private OffPeakWindowOptions _offPeakWindowOptions; private SnapshotOptions _snapshotOptions; private SoftwareUpdateOptions _softwareUpdateOptions; private VPCOptions _vpcOptions; /// /// Gets and sets the property AccessPolicies. /// /// Identity and Access Management (IAM) access policy as a JSON-formatted string. /// /// [AWSProperty(Min=0, Max=102400)] public string AccessPolicies { get { return this._accessPolicies; } set { this._accessPolicies = value; } } // Check to see if AccessPolicies property is set internal bool IsSetAccessPolicies() { return this._accessPolicies != null; } /// /// Gets and sets the property AdvancedOptions. /// /// Key-value pairs to specify advanced configuration options. The following key-value /// pairs are supported: /// ///
  • /// /// "rest.action.multi.allow_explicit_index": "true" | "false" - Note the /// use of a string rather than a boolean. Specifies whether explicit references to indexes /// are allowed inside the body of HTTP requests. If you want to configure access policies /// for domain sub-resources, such as specific indexes and domain APIs, you must disable /// this property. Default is true. /// ///
  • /// /// "indices.fielddata.cache.size": "80" - Note the use of a string rather /// than a boolean. Specifies the percentage of heap space allocated to field data. Default /// is unbounded. /// ///
  • /// /// "indices.query.bool.max_clause_count": "1024" - Note the use of a string /// rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene /// boolean query. Default is 1,024. Queries with more than the permitted number of clauses /// result in a TooManyClauses error. /// ///
/// /// For more information, see Advanced /// cluster parameters. /// ///
public Dictionary AdvancedOptions { get { return this._advancedOptions; } set { this._advancedOptions = value; } } // Check to see if AdvancedOptions property is set internal bool IsSetAdvancedOptions() { return this._advancedOptions != null && this._advancedOptions.Count > 0; } /// /// Gets and sets the property AdvancedSecurityOptions. /// /// Options for fine-grained access control. /// /// public AdvancedSecurityOptionsInput AdvancedSecurityOptions { get { return this._advancedSecurityOptions; } set { this._advancedSecurityOptions = value; } } // Check to see if AdvancedSecurityOptions property is set internal bool IsSetAdvancedSecurityOptions() { return this._advancedSecurityOptions != null; } /// /// Gets and sets the property AutoTuneOptions. /// /// Options for Auto-Tune. /// /// public AutoTuneOptions AutoTuneOptions { get { return this._autoTuneOptions; } set { this._autoTuneOptions = value; } } // Check to see if AutoTuneOptions property is set internal bool IsSetAutoTuneOptions() { return this._autoTuneOptions != null; } /// /// Gets and sets the property ClusterConfig. /// /// Changes that you want to make to the cluster configuration, such as the instance type /// and number of EC2 instances. /// /// public ClusterConfig ClusterConfig { get { return this._clusterConfig; } set { this._clusterConfig = value; } } // Check to see if ClusterConfig property is set internal bool IsSetClusterConfig() { return this._clusterConfig != null; } /// /// Gets and sets the property CognitoOptions. /// /// Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards. /// /// public CognitoOptions CognitoOptions { get { return this._cognitoOptions; } set { this._cognitoOptions = value; } } // Check to see if CognitoOptions property is set internal bool IsSetCognitoOptions() { return this._cognitoOptions != null; } /// /// Gets and sets the property DomainEndpointOptions. /// /// Additional options for the domain endpoint, such as whether to require HTTPS for all /// traffic. /// /// public DomainEndpointOptions DomainEndpointOptions { get { return this._domainEndpointOptions; } set { this._domainEndpointOptions = value; } } // Check to see if DomainEndpointOptions property is set internal bool IsSetDomainEndpointOptions() { return this._domainEndpointOptions != null; } /// /// Gets and sets the property DomainName. /// /// The name of the domain that you're updating. /// /// [AWSProperty(Required=true, Min=3, Max=28)] public string DomainName { get { return this._domainName; } set { this._domainName = value; } } // Check to see if DomainName property is set internal bool IsSetDomainName() { return this._domainName != null; } /// /// Gets and sets the property DryRun. /// /// This flag, when set to True, specifies whether the UpdateDomain request /// should return the results of a dry run analysis without actually applying the change. /// A dry run determines what type of deployment the update will cause. /// /// 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 DryRunMode. /// /// The type of dry run to perform. /// ///
  • /// /// Basic only returns the type of deployment (blue/green or dynamic) that /// the update will cause. /// ///
  • /// /// Verbose runs an additional check to validate the changes you're making. /// For more information, see Validating /// a domain update. /// ///
///
public DryRunMode DryRunMode { get { return this._dryRunMode; } set { this._dryRunMode = value; } } // Check to see if DryRunMode property is set internal bool IsSetDryRunMode() { return this._dryRunMode != null; } /// /// Gets and sets the property EBSOptions. /// /// The type and size of the EBS volume to attach to instances in the domain. /// /// public EBSOptions EBSOptions { get { return this._ebsOptions; } set { this._ebsOptions = value; } } // Check to see if EBSOptions property is set internal bool IsSetEBSOptions() { return this._ebsOptions != null; } /// /// Gets and sets the property EncryptionAtRestOptions. /// /// Encryption at rest options for the domain. /// /// public EncryptionAtRestOptions EncryptionAtRestOptions { get { return this._encryptionAtRestOptions; } set { this._encryptionAtRestOptions = value; } } // Check to see if EncryptionAtRestOptions property is set internal bool IsSetEncryptionAtRestOptions() { return this._encryptionAtRestOptions != null; } /// /// Gets and sets the property LogPublishingOptions. /// /// Options to publish OpenSearch logs to Amazon CloudWatch Logs. /// /// public Dictionary LogPublishingOptions { get { return this._logPublishingOptions; } set { this._logPublishingOptions = value; } } // Check to see if LogPublishingOptions property is set internal bool IsSetLogPublishingOptions() { return this._logPublishingOptions != null && this._logPublishingOptions.Count > 0; } /// /// Gets and sets the property NodeToNodeEncryptionOptions. /// /// Node-to-node encryption options for the domain. /// /// public NodeToNodeEncryptionOptions NodeToNodeEncryptionOptions { get { return this._nodeToNodeEncryptionOptions; } set { this._nodeToNodeEncryptionOptions = value; } } // Check to see if NodeToNodeEncryptionOptions property is set internal bool IsSetNodeToNodeEncryptionOptions() { return this._nodeToNodeEncryptionOptions != null; } /// /// Gets and sets the property OffPeakWindowOptions. /// /// Off-peak window options for the domain. /// /// public OffPeakWindowOptions OffPeakWindowOptions { get { return this._offPeakWindowOptions; } set { this._offPeakWindowOptions = value; } } // Check to see if OffPeakWindowOptions property is set internal bool IsSetOffPeakWindowOptions() { return this._offPeakWindowOptions != null; } /// /// Gets and sets the property SnapshotOptions. /// /// Option to set the time, in UTC format, for the daily automated snapshot. Default value /// is 0 hours. /// /// public SnapshotOptions SnapshotOptions { get { return this._snapshotOptions; } set { this._snapshotOptions = value; } } // Check to see if SnapshotOptions property is set internal bool IsSetSnapshotOptions() { return this._snapshotOptions != null; } /// /// Gets and sets the property SoftwareUpdateOptions. /// /// Service software update options for the domain. /// /// public SoftwareUpdateOptions SoftwareUpdateOptions { get { return this._softwareUpdateOptions; } set { this._softwareUpdateOptions = value; } } // Check to see if SoftwareUpdateOptions property is set internal bool IsSetSoftwareUpdateOptions() { return this._softwareUpdateOptions != null; } /// /// Gets and sets the property VPCOptions. /// /// Options to specify the subnets and security groups for a VPC endpoint. For more information, /// see Launching /// your Amazon OpenSearch Service domains using a VPC. /// /// public VPCOptions VPCOptions { get { return this._vpcOptions; } set { this._vpcOptions = value; } } // Check to see if VPCOptions property is set internal bool IsSetVPCOptions() { return this._vpcOptions != null; } } }