commonMain.aws.sdk.kotlin.services.partnercentralselling.model.RelatedEntityIdentifiers.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of partnercentralselling-jvm Show documentation
Show all versions of partnercentralselling-jvm Show documentation
The AWS SDK for Kotlin client for PartnerCentral Selling
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.partnercentralselling.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* This field provides the associations' information for other entities with the opportunity. These entities include identifiers for `AWSProducts`, `Partner Solutions`, and `AWSMarketplaceOffers`.
*/
public class RelatedEntityIdentifiers private constructor(builder: Builder) {
/**
* Takes one value per opportunity. Each value is an Amazon Resource Name (ARN), in this format: `"offers": ["arn:aws:aws-marketplace:us-east-1:999999999999:AWSMarketplace/Offer/offer-sampleOffer32"]`.
*
* Use the [ListEntities](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html) action in the Marketplace Catalog APIs for a list of offers in the associated Marketplace seller account.
*/
public val awsMarketplaceOffers: List? = builder.awsMarketplaceOffers
/**
* Enables the association of specific Amazon Web Services products with the `Opportunity`. Partners can indicate the relevant Amazon Web Services products for the `Opportunity`'s solution and align with the customer's needs. Returns multiple values separated by commas. For example, `"AWSProducts" : ["AmazonRedshift", "AWSAppFabric", "AWSCleanRooms"]`.
*
* Use the file with the list of Amazon Web Services products hosted on GitHub: [ Amazon Web Services products](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/resources/aws_products.json).
*/
public val awsProducts: List? = builder.awsProducts
/**
* Enables partner solutions or offerings' association with an opportunity. To associate a solution, provide the solution's unique identifier, which you can obtain with the `ListSolutions` operation.
*
* If the specific solution identifier is not available, you can use the value `Other` and provide details about the solution in the `otherSolutionOffered` field. But when the opportunity reaches the `Committed` stage or beyond, the `Other` value cannot be used, and a valid solution identifier must be provided.
*
* By associating the relevant solutions with the opportunity, you can communicate the offerings that are being considered or implemented to address the customer's business problem.
*/
public val solutions: List? = builder.solutions
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.partnercentralselling.model.RelatedEntityIdentifiers = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("RelatedEntityIdentifiers(")
append("awsMarketplaceOffers=$awsMarketplaceOffers,")
append("awsProducts=$awsProducts,")
append("solutions=$solutions")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = awsMarketplaceOffers?.hashCode() ?: 0
result = 31 * result + (awsProducts?.hashCode() ?: 0)
result = 31 * result + (solutions?.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 RelatedEntityIdentifiers
if (awsMarketplaceOffers != other.awsMarketplaceOffers) return false
if (awsProducts != other.awsProducts) return false
if (solutions != other.solutions) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.partnercentralselling.model.RelatedEntityIdentifiers = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Takes one value per opportunity. Each value is an Amazon Resource Name (ARN), in this format: `"offers": ["arn:aws:aws-marketplace:us-east-1:999999999999:AWSMarketplace/Offer/offer-sampleOffer32"]`.
*
* Use the [ListEntities](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html) action in the Marketplace Catalog APIs for a list of offers in the associated Marketplace seller account.
*/
public var awsMarketplaceOffers: List? = null
/**
* Enables the association of specific Amazon Web Services products with the `Opportunity`. Partners can indicate the relevant Amazon Web Services products for the `Opportunity`'s solution and align with the customer's needs. Returns multiple values separated by commas. For example, `"AWSProducts" : ["AmazonRedshift", "AWSAppFabric", "AWSCleanRooms"]`.
*
* Use the file with the list of Amazon Web Services products hosted on GitHub: [ Amazon Web Services products](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/resources/aws_products.json).
*/
public var awsProducts: List? = null
/**
* Enables partner solutions or offerings' association with an opportunity. To associate a solution, provide the solution's unique identifier, which you can obtain with the `ListSolutions` operation.
*
* If the specific solution identifier is not available, you can use the value `Other` and provide details about the solution in the `otherSolutionOffered` field. But when the opportunity reaches the `Committed` stage or beyond, the `Other` value cannot be used, and a valid solution identifier must be provided.
*
* By associating the relevant solutions with the opportunity, you can communicate the offerings that are being considered or implemented to address the customer's business problem.
*/
public var solutions: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.partnercentralselling.model.RelatedEntityIdentifiers) : this() {
this.awsMarketplaceOffers = x.awsMarketplaceOffers
this.awsProducts = x.awsProducts
this.solutions = x.solutions
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.partnercentralselling.model.RelatedEntityIdentifiers = RelatedEntityIdentifiers(this)
internal fun correctErrors(): Builder {
return this
}
}
}