
commonMain.aws.sdk.kotlin.services.opensearch.model.UpdateDomainConfigRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.opensearch.model
/**
* Container for the request parameters to the `UpdateDomain` operation.
*/
public class UpdateDomainConfigRequest private constructor(builder: Builder) {
/**
* Identity and Access Management (IAM) access policy as a JSON-formatted string.
*/
public val accessPolicies: kotlin.String? = builder.accessPolicies
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options).
*/
public val advancedOptions: Map? = builder.advancedOptions
/**
* Options for fine-grained access control.
*/
public val advancedSecurityOptions: aws.sdk.kotlin.services.opensearch.model.AdvancedSecurityOptionsInput? = builder.advancedSecurityOptions
/**
* Options for Auto-Tune.
*/
public val autoTuneOptions: aws.sdk.kotlin.services.opensearch.model.AutoTuneOptions? = builder.autoTuneOptions
/**
* Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.
*/
public val clusterConfig: aws.sdk.kotlin.services.opensearch.model.ClusterConfig? = builder.clusterConfig
/**
* Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.
*/
public val cognitoOptions: aws.sdk.kotlin.services.opensearch.model.CognitoOptions? = builder.cognitoOptions
/**
* Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.
*/
public val domainEndpointOptions: aws.sdk.kotlin.services.opensearch.model.DomainEndpointOptions? = builder.domainEndpointOptions
/**
* The name of the domain that you're updating.
*/
public val domainName: kotlin.String? = builder.domainName
/**
* 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 val dryRun: kotlin.Boolean? = builder.dryRun
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes#validation-check).
*/
public val dryRunMode: aws.sdk.kotlin.services.opensearch.model.DryRunMode? = builder.dryRunMode
/**
* The type and size of the EBS volume to attach to instances in the domain.
*/
public val ebsOptions: aws.sdk.kotlin.services.opensearch.model.EbsOptions? = builder.ebsOptions
/**
* Encryption at rest options for the domain.
*/
public val encryptionAtRestOptions: aws.sdk.kotlin.services.opensearch.model.EncryptionAtRestOptions? = builder.encryptionAtRestOptions
/**
* The type of IP addresses supported by the endpoint for the domain.
*/
public val ipAddressType: aws.sdk.kotlin.services.opensearch.model.IpAddressType? = builder.ipAddressType
/**
* Options to publish OpenSearch logs to Amazon CloudWatch Logs.
*/
public val logPublishingOptions: Map? = builder.logPublishingOptions
/**
* Node-to-node encryption options for the domain.
*/
public val nodeToNodeEncryptionOptions: aws.sdk.kotlin.services.opensearch.model.NodeToNodeEncryptionOptions? = builder.nodeToNodeEncryptionOptions
/**
* Off-peak window options for the domain.
*/
public val offPeakWindowOptions: aws.sdk.kotlin.services.opensearch.model.OffPeakWindowOptions? = builder.offPeakWindowOptions
/**
* Option to set the time, in UTC format, for the daily automated snapshot. Default value is `0` hours.
*/
public val snapshotOptions: aws.sdk.kotlin.services.opensearch.model.SnapshotOptions? = builder.snapshotOptions
/**
* Service software update options for the domain.
*/
public val softwareUpdateOptions: aws.sdk.kotlin.services.opensearch.model.SoftwareUpdateOptions? = builder.softwareUpdateOptions
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
*/
public val vpcOptions: aws.sdk.kotlin.services.opensearch.model.VpcOptions? = builder.vpcOptions
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.opensearch.model.UpdateDomainConfigRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("UpdateDomainConfigRequest(")
append("accessPolicies=$accessPolicies,")
append("advancedOptions=$advancedOptions,")
append("advancedSecurityOptions=$advancedSecurityOptions,")
append("autoTuneOptions=$autoTuneOptions,")
append("clusterConfig=$clusterConfig,")
append("cognitoOptions=$cognitoOptions,")
append("domainEndpointOptions=$domainEndpointOptions,")
append("domainName=$domainName,")
append("dryRun=$dryRun,")
append("dryRunMode=$dryRunMode,")
append("ebsOptions=$ebsOptions,")
append("encryptionAtRestOptions=$encryptionAtRestOptions,")
append("ipAddressType=$ipAddressType,")
append("logPublishingOptions=$logPublishingOptions,")
append("nodeToNodeEncryptionOptions=$nodeToNodeEncryptionOptions,")
append("offPeakWindowOptions=$offPeakWindowOptions,")
append("snapshotOptions=$snapshotOptions,")
append("softwareUpdateOptions=$softwareUpdateOptions,")
append("vpcOptions=$vpcOptions")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = accessPolicies?.hashCode() ?: 0
result = 31 * result + (advancedOptions?.hashCode() ?: 0)
result = 31 * result + (advancedSecurityOptions?.hashCode() ?: 0)
result = 31 * result + (autoTuneOptions?.hashCode() ?: 0)
result = 31 * result + (clusterConfig?.hashCode() ?: 0)
result = 31 * result + (cognitoOptions?.hashCode() ?: 0)
result = 31 * result + (domainEndpointOptions?.hashCode() ?: 0)
result = 31 * result + (domainName?.hashCode() ?: 0)
result = 31 * result + (dryRun?.hashCode() ?: 0)
result = 31 * result + (dryRunMode?.hashCode() ?: 0)
result = 31 * result + (ebsOptions?.hashCode() ?: 0)
result = 31 * result + (encryptionAtRestOptions?.hashCode() ?: 0)
result = 31 * result + (ipAddressType?.hashCode() ?: 0)
result = 31 * result + (logPublishingOptions?.hashCode() ?: 0)
result = 31 * result + (nodeToNodeEncryptionOptions?.hashCode() ?: 0)
result = 31 * result + (offPeakWindowOptions?.hashCode() ?: 0)
result = 31 * result + (snapshotOptions?.hashCode() ?: 0)
result = 31 * result + (softwareUpdateOptions?.hashCode() ?: 0)
result = 31 * result + (vpcOptions?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as UpdateDomainConfigRequest
if (accessPolicies != other.accessPolicies) return false
if (advancedOptions != other.advancedOptions) return false
if (advancedSecurityOptions != other.advancedSecurityOptions) return false
if (autoTuneOptions != other.autoTuneOptions) return false
if (clusterConfig != other.clusterConfig) return false
if (cognitoOptions != other.cognitoOptions) return false
if (domainEndpointOptions != other.domainEndpointOptions) return false
if (domainName != other.domainName) return false
if (dryRun != other.dryRun) return false
if (dryRunMode != other.dryRunMode) return false
if (ebsOptions != other.ebsOptions) return false
if (encryptionAtRestOptions != other.encryptionAtRestOptions) return false
if (ipAddressType != other.ipAddressType) return false
if (logPublishingOptions != other.logPublishingOptions) return false
if (nodeToNodeEncryptionOptions != other.nodeToNodeEncryptionOptions) return false
if (offPeakWindowOptions != other.offPeakWindowOptions) return false
if (snapshotOptions != other.snapshotOptions) return false
if (softwareUpdateOptions != other.softwareUpdateOptions) return false
if (vpcOptions != other.vpcOptions) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.opensearch.model.UpdateDomainConfigRequest = Builder(this).apply(block).build()
public class Builder {
/**
* Identity and Access Management (IAM) access policy as a JSON-formatted string.
*/
public var accessPolicies: kotlin.String? = null
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options).
*/
public var advancedOptions: Map? = null
/**
* Options for fine-grained access control.
*/
public var advancedSecurityOptions: aws.sdk.kotlin.services.opensearch.model.AdvancedSecurityOptionsInput? = null
/**
* Options for Auto-Tune.
*/
public var autoTuneOptions: aws.sdk.kotlin.services.opensearch.model.AutoTuneOptions? = null
/**
* Changes that you want to make to the cluster configuration, such as the instance type and number of EC2 instances.
*/
public var clusterConfig: aws.sdk.kotlin.services.opensearch.model.ClusterConfig? = null
/**
* Key-value pairs to configure Amazon Cognito authentication for OpenSearch Dashboards.
*/
public var cognitoOptions: aws.sdk.kotlin.services.opensearch.model.CognitoOptions? = null
/**
* Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.
*/
public var domainEndpointOptions: aws.sdk.kotlin.services.opensearch.model.DomainEndpointOptions? = null
/**
* The name of the domain that you're updating.
*/
public var domainName: kotlin.String? = null
/**
* 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 var dryRun: kotlin.Boolean? = null
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-configuration-changes#validation-check).
*/
public var dryRunMode: aws.sdk.kotlin.services.opensearch.model.DryRunMode? = null
/**
* The type and size of the EBS volume to attach to instances in the domain.
*/
public var ebsOptions: aws.sdk.kotlin.services.opensearch.model.EbsOptions? = null
/**
* Encryption at rest options for the domain.
*/
public var encryptionAtRestOptions: aws.sdk.kotlin.services.opensearch.model.EncryptionAtRestOptions? = null
/**
* The type of IP addresses supported by the endpoint for the domain.
*/
public var ipAddressType: aws.sdk.kotlin.services.opensearch.model.IpAddressType? = null
/**
* Options to publish OpenSearch logs to Amazon CloudWatch Logs.
*/
public var logPublishingOptions: Map? = null
/**
* Node-to-node encryption options for the domain.
*/
public var nodeToNodeEncryptionOptions: aws.sdk.kotlin.services.opensearch.model.NodeToNodeEncryptionOptions? = null
/**
* Off-peak window options for the domain.
*/
public var offPeakWindowOptions: aws.sdk.kotlin.services.opensearch.model.OffPeakWindowOptions? = null
/**
* Option to set the time, in UTC format, for the daily automated snapshot. Default value is `0` hours.
*/
public var snapshotOptions: aws.sdk.kotlin.services.opensearch.model.SnapshotOptions? = null
/**
* Service software update options for the domain.
*/
public var softwareUpdateOptions: aws.sdk.kotlin.services.opensearch.model.SoftwareUpdateOptions? = null
/**
* 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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
*/
public var vpcOptions: aws.sdk.kotlin.services.opensearch.model.VpcOptions? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.opensearch.model.UpdateDomainConfigRequest) : this() {
this.accessPolicies = x.accessPolicies
this.advancedOptions = x.advancedOptions
this.advancedSecurityOptions = x.advancedSecurityOptions
this.autoTuneOptions = x.autoTuneOptions
this.clusterConfig = x.clusterConfig
this.cognitoOptions = x.cognitoOptions
this.domainEndpointOptions = x.domainEndpointOptions
this.domainName = x.domainName
this.dryRun = x.dryRun
this.dryRunMode = x.dryRunMode
this.ebsOptions = x.ebsOptions
this.encryptionAtRestOptions = x.encryptionAtRestOptions
this.ipAddressType = x.ipAddressType
this.logPublishingOptions = x.logPublishingOptions
this.nodeToNodeEncryptionOptions = x.nodeToNodeEncryptionOptions
this.offPeakWindowOptions = x.offPeakWindowOptions
this.snapshotOptions = x.snapshotOptions
this.softwareUpdateOptions = x.softwareUpdateOptions
this.vpcOptions = x.vpcOptions
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.opensearch.model.UpdateDomainConfigRequest = UpdateDomainConfigRequest(this)
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.AdvancedSecurityOptionsInput] inside the given [block]
*/
public fun advancedSecurityOptions(block: aws.sdk.kotlin.services.opensearch.model.AdvancedSecurityOptionsInput.Builder.() -> kotlin.Unit) {
this.advancedSecurityOptions = aws.sdk.kotlin.services.opensearch.model.AdvancedSecurityOptionsInput.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.AutoTuneOptions] inside the given [block]
*/
public fun autoTuneOptions(block: aws.sdk.kotlin.services.opensearch.model.AutoTuneOptions.Builder.() -> kotlin.Unit) {
this.autoTuneOptions = aws.sdk.kotlin.services.opensearch.model.AutoTuneOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.ClusterConfig] inside the given [block]
*/
public fun clusterConfig(block: aws.sdk.kotlin.services.opensearch.model.ClusterConfig.Builder.() -> kotlin.Unit) {
this.clusterConfig = aws.sdk.kotlin.services.opensearch.model.ClusterConfig.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.CognitoOptions] inside the given [block]
*/
public fun cognitoOptions(block: aws.sdk.kotlin.services.opensearch.model.CognitoOptions.Builder.() -> kotlin.Unit) {
this.cognitoOptions = aws.sdk.kotlin.services.opensearch.model.CognitoOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.DomainEndpointOptions] inside the given [block]
*/
public fun domainEndpointOptions(block: aws.sdk.kotlin.services.opensearch.model.DomainEndpointOptions.Builder.() -> kotlin.Unit) {
this.domainEndpointOptions = aws.sdk.kotlin.services.opensearch.model.DomainEndpointOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.EbsOptions] inside the given [block]
*/
public fun ebsOptions(block: aws.sdk.kotlin.services.opensearch.model.EbsOptions.Builder.() -> kotlin.Unit) {
this.ebsOptions = aws.sdk.kotlin.services.opensearch.model.EbsOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.EncryptionAtRestOptions] inside the given [block]
*/
public fun encryptionAtRestOptions(block: aws.sdk.kotlin.services.opensearch.model.EncryptionAtRestOptions.Builder.() -> kotlin.Unit) {
this.encryptionAtRestOptions = aws.sdk.kotlin.services.opensearch.model.EncryptionAtRestOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.NodeToNodeEncryptionOptions] inside the given [block]
*/
public fun nodeToNodeEncryptionOptions(block: aws.sdk.kotlin.services.opensearch.model.NodeToNodeEncryptionOptions.Builder.() -> kotlin.Unit) {
this.nodeToNodeEncryptionOptions = aws.sdk.kotlin.services.opensearch.model.NodeToNodeEncryptionOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.OffPeakWindowOptions] inside the given [block]
*/
public fun offPeakWindowOptions(block: aws.sdk.kotlin.services.opensearch.model.OffPeakWindowOptions.Builder.() -> kotlin.Unit) {
this.offPeakWindowOptions = aws.sdk.kotlin.services.opensearch.model.OffPeakWindowOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.SnapshotOptions] inside the given [block]
*/
public fun snapshotOptions(block: aws.sdk.kotlin.services.opensearch.model.SnapshotOptions.Builder.() -> kotlin.Unit) {
this.snapshotOptions = aws.sdk.kotlin.services.opensearch.model.SnapshotOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.SoftwareUpdateOptions] inside the given [block]
*/
public fun softwareUpdateOptions(block: aws.sdk.kotlin.services.opensearch.model.SoftwareUpdateOptions.Builder.() -> kotlin.Unit) {
this.softwareUpdateOptions = aws.sdk.kotlin.services.opensearch.model.SoftwareUpdateOptions.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.opensearch.model.VpcOptions] inside the given [block]
*/
public fun vpcOptions(block: aws.sdk.kotlin.services.opensearch.model.VpcOptions.Builder.() -> kotlin.Unit) {
this.vpcOptions = aws.sdk.kotlin.services.opensearch.model.VpcOptions.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy