
commonMain.aws.sdk.kotlin.services.customerprofiles.model.SearchProfilesRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.customerprofiles.model
public class SearchProfilesRequest private constructor(builder: Builder) {
/**
* A list of `AdditionalSearchKey` objects that are each searchable identifiers of a profile. Each `AdditionalSearchKey` object contains a `KeyName` and a list of `Values` associated with that specific key (i.e., a key-value(s) pair). These additional search keys will be used in conjunction with the `LogicalOperator` and the required `KeyName` and `Values` parameters to search for profiles that satisfy the search criteria.
*/
public val additionalSearchKeys: List? = builder.additionalSearchKeys
/**
* The unique name of the domain.
*/
public val domainName: kotlin.String? = requireNotNull(builder.domainName) { "A non-null value must be provided for domainName" }
/**
* A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId, _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId, _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId, _shopifyOrderId.
*/
public val keyName: kotlin.String? = builder.keyName
/**
* Relationship between all specified search keys that will be used to search for profiles. This includes the required `KeyName` and `Values` parameters as well as any key-value(s) pairs specified in the `AdditionalSearchKeys` list.
*
* This parameter influences which profiles will be returned in the response in the following manner:
* + `AND` - The response only includes profiles that match all of the search keys.
* + `OR` - The response includes profiles that match at least one of the search keys.
*
* The `OR` relationship is the default behavior if this parameter is not included in the request.
*/
public val logicalOperator: aws.sdk.kotlin.services.customerprofiles.model.LogicalOperator? = builder.logicalOperator
/**
* The maximum number of objects returned per page.
*
* The default is 20 if this parameter is not included in the request.
*/
public val maxResults: kotlin.Int? = builder.maxResults
/**
* The pagination token from the previous SearchProfiles API call.
*/
public val nextToken: kotlin.String? = builder.nextToken
/**
* A list of key values.
*/
public val values: List? = builder.values
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.customerprofiles.model.SearchProfilesRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("SearchProfilesRequest(")
append("additionalSearchKeys=$additionalSearchKeys,")
append("domainName=$domainName,")
append("keyName=$keyName,")
append("logicalOperator=$logicalOperator,")
append("maxResults=$maxResults,")
append("nextToken=$nextToken,")
append("values=$values")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = additionalSearchKeys?.hashCode() ?: 0
result = 31 * result + (domainName?.hashCode() ?: 0)
result = 31 * result + (keyName?.hashCode() ?: 0)
result = 31 * result + (logicalOperator?.hashCode() ?: 0)
result = 31 * result + (maxResults ?: 0)
result = 31 * result + (nextToken?.hashCode() ?: 0)
result = 31 * result + (values?.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 SearchProfilesRequest
if (additionalSearchKeys != other.additionalSearchKeys) return false
if (domainName != other.domainName) return false
if (keyName != other.keyName) return false
if (logicalOperator != other.logicalOperator) return false
if (maxResults != other.maxResults) return false
if (nextToken != other.nextToken) return false
if (values != other.values) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.customerprofiles.model.SearchProfilesRequest = Builder(this).apply(block).build()
public class Builder {
/**
* A list of `AdditionalSearchKey` objects that are each searchable identifiers of a profile. Each `AdditionalSearchKey` object contains a `KeyName` and a list of `Values` associated with that specific key (i.e., a key-value(s) pair). These additional search keys will be used in conjunction with the `LogicalOperator` and the required `KeyName` and `Values` parameters to search for profiles that satisfy the search criteria.
*/
public var additionalSearchKeys: List? = null
/**
* The unique name of the domain.
*/
public var domainName: kotlin.String? = null
/**
* A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId, _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId, _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId, _shopifyOrderId.
*/
public var keyName: kotlin.String? = null
/**
* Relationship between all specified search keys that will be used to search for profiles. This includes the required `KeyName` and `Values` parameters as well as any key-value(s) pairs specified in the `AdditionalSearchKeys` list.
*
* This parameter influences which profiles will be returned in the response in the following manner:
* + `AND` - The response only includes profiles that match all of the search keys.
* + `OR` - The response includes profiles that match at least one of the search keys.
*
* The `OR` relationship is the default behavior if this parameter is not included in the request.
*/
public var logicalOperator: aws.sdk.kotlin.services.customerprofiles.model.LogicalOperator? = null
/**
* The maximum number of objects returned per page.
*
* The default is 20 if this parameter is not included in the request.
*/
public var maxResults: kotlin.Int? = null
/**
* The pagination token from the previous SearchProfiles API call.
*/
public var nextToken: kotlin.String? = null
/**
* A list of key values.
*/
public var values: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.customerprofiles.model.SearchProfilesRequest) : this() {
this.additionalSearchKeys = x.additionalSearchKeys
this.domainName = x.domainName
this.keyName = x.keyName
this.logicalOperator = x.logicalOperator
this.maxResults = x.maxResults
this.nextToken = x.nextToken
this.values = x.values
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.customerprofiles.model.SearchProfilesRequest = SearchProfilesRequest(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy