All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.personalize.model.UpdateCampaignRequest Maven / Gradle / Ivy

/*
 * 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.
 */

package software.amazon.awssdk.services.personalize.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class UpdateCampaignRequest extends PersonalizeRequest implements
        ToCopyableBuilder {
    private static final SdkField CAMPAIGN_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("campaignArn").getter(getter(UpdateCampaignRequest::campaignArn)).setter(setter(Builder::campaignArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("campaignArn").build()).build();

    private static final SdkField SOLUTION_VERSION_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("solutionVersionArn").getter(getter(UpdateCampaignRequest::solutionVersionArn))
            .setter(setter(Builder::solutionVersionArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("solutionVersionArn").build())
            .build();

    private static final SdkField MIN_PROVISIONED_TPS_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("minProvisionedTPS").getter(getter(UpdateCampaignRequest::minProvisionedTPS))
            .setter(setter(Builder::minProvisionedTPS))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("minProvisionedTPS").build()).build();

    private static final SdkField CAMPAIGN_CONFIG_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("campaignConfig")
            .getter(getter(UpdateCampaignRequest::campaignConfig)).setter(setter(Builder::campaignConfig))
            .constructor(CampaignConfig::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("campaignConfig").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(CAMPAIGN_ARN_FIELD,
            SOLUTION_VERSION_ARN_FIELD, MIN_PROVISIONED_TPS_FIELD, CAMPAIGN_CONFIG_FIELD));

    private final String campaignArn;

    private final String solutionVersionArn;

    private final Integer minProvisionedTPS;

    private final CampaignConfig campaignConfig;

    private UpdateCampaignRequest(BuilderImpl builder) {
        super(builder);
        this.campaignArn = builder.campaignArn;
        this.solutionVersionArn = builder.solutionVersionArn;
        this.minProvisionedTPS = builder.minProvisionedTPS;
        this.campaignConfig = builder.campaignConfig;
    }

    /**
     * 

* The Amazon Resource Name (ARN) of the campaign. *

* * @return The Amazon Resource Name (ARN) of the campaign. */ public final String campaignArn() { return campaignArn; } /** *

* The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of your solution, * specify the ARN of your solution in SolutionArn/$LATEST format. You must use this format if * you set syncWithLatestSolutionVersion to True in the CampaignConfig. *

*

* To deploy a model that isn't the latest solution version of your solution, specify the ARN of the solution * version. *

*

* For more information about automatic campaign updates, see Enabling automatic campaign updates. *

* * @return The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of your * solution, specify the ARN of your solution in SolutionArn/$LATEST format. You must * use this format if you set syncWithLatestSolutionVersion to True in the CampaignConfig.

*

* To deploy a model that isn't the latest solution version of your solution, specify the ARN of the * solution version. *

*

* For more information about automatic campaign updates, see Enabling automatic campaign updates. */ public final String solutionVersionArn() { return solutionVersionArn; } /** *

* Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize * will support. A high minProvisionedTPS will increase your bill. We recommend starting with 1 for * minProvisionedTPS (the default). Track your usage using Amazon CloudWatch metrics, and increase the * minProvisionedTPS as necessary. *

* * @return Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon * Personalize will support. A high minProvisionedTPS will increase your bill. We recommend * starting with 1 for minProvisionedTPS (the default). Track your usage using Amazon * CloudWatch metrics, and increase the minProvisionedTPS as necessary. */ public final Integer minProvisionedTPS() { return minProvisionedTPS; } /** *

* The configuration details of a campaign. *

* * @return The configuration details of a campaign. */ public final CampaignConfig campaignConfig() { return campaignConfig; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(campaignArn()); hashCode = 31 * hashCode + Objects.hashCode(solutionVersionArn()); hashCode = 31 * hashCode + Objects.hashCode(minProvisionedTPS()); hashCode = 31 * hashCode + Objects.hashCode(campaignConfig()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof UpdateCampaignRequest)) { return false; } UpdateCampaignRequest other = (UpdateCampaignRequest) obj; return Objects.equals(campaignArn(), other.campaignArn()) && Objects.equals(solutionVersionArn(), other.solutionVersionArn()) && Objects.equals(minProvisionedTPS(), other.minProvisionedTPS()) && Objects.equals(campaignConfig(), other.campaignConfig()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("UpdateCampaignRequest").add("CampaignArn", campaignArn()) .add("SolutionVersionArn", solutionVersionArn()).add("MinProvisionedTPS", minProvisionedTPS()) .add("CampaignConfig", campaignConfig()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "campaignArn": return Optional.ofNullable(clazz.cast(campaignArn())); case "solutionVersionArn": return Optional.ofNullable(clazz.cast(solutionVersionArn())); case "minProvisionedTPS": return Optional.ofNullable(clazz.cast(minProvisionedTPS())); case "campaignConfig": return Optional.ofNullable(clazz.cast(campaignConfig())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((UpdateCampaignRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends PersonalizeRequest.Builder, SdkPojo, CopyableBuilder { /** *

* The Amazon Resource Name (ARN) of the campaign. *

* * @param campaignArn * The Amazon Resource Name (ARN) of the campaign. * @return Returns a reference to this object so that method calls can be chained together. */ Builder campaignArn(String campaignArn); /** *

* The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of your * solution, specify the ARN of your solution in SolutionArn/$LATEST format. You must use * this format if you set syncWithLatestSolutionVersion to True in the CampaignConfig. *

*

* To deploy a model that isn't the latest solution version of your solution, specify the ARN of the solution * version. *

*

* For more information about automatic campaign updates, see Enabling automatic campaign updates. *

* * @param solutionVersionArn * The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of * your solution, specify the ARN of your solution in SolutionArn/$LATEST format. You * must use this format if you set syncWithLatestSolutionVersion to True in the * CampaignConfig. *

*

* To deploy a model that isn't the latest solution version of your solution, specify the ARN of the * solution version. *

*

* For more information about automatic campaign updates, see Enabling automatic campaign updates. * @return Returns a reference to this object so that method calls can be chained together. */ Builder solutionVersionArn(String solutionVersionArn); /** *

* Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize * will support. A high minProvisionedTPS will increase your bill. We recommend starting with 1 for * minProvisionedTPS (the default). Track your usage using Amazon CloudWatch metrics, and increase * the minProvisionedTPS as necessary. *

* * @param minProvisionedTPS * Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon * Personalize will support. A high minProvisionedTPS will increase your bill. We recommend * starting with 1 for minProvisionedTPS (the default). Track your usage using Amazon * CloudWatch metrics, and increase the minProvisionedTPS as necessary. * @return Returns a reference to this object so that method calls can be chained together. */ Builder minProvisionedTPS(Integer minProvisionedTPS); /** *

* The configuration details of a campaign. *

* * @param campaignConfig * The configuration details of a campaign. * @return Returns a reference to this object so that method calls can be chained together. */ Builder campaignConfig(CampaignConfig campaignConfig); /** *

* The configuration details of a campaign. *

* This is a convenience method that creates an instance of the {@link CampaignConfig.Builder} avoiding the need * to create one manually via {@link CampaignConfig#builder()}. * *

* When the {@link Consumer} completes, {@link CampaignConfig.Builder#build()} is called immediately and its * result is passed to {@link #campaignConfig(CampaignConfig)}. * * @param campaignConfig * a consumer that will call methods on {@link CampaignConfig.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #campaignConfig(CampaignConfig) */ default Builder campaignConfig(Consumer campaignConfig) { return campaignConfig(CampaignConfig.builder().applyMutation(campaignConfig).build()); } @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends PersonalizeRequest.BuilderImpl implements Builder { private String campaignArn; private String solutionVersionArn; private Integer minProvisionedTPS; private CampaignConfig campaignConfig; private BuilderImpl() { } private BuilderImpl(UpdateCampaignRequest model) { super(model); campaignArn(model.campaignArn); solutionVersionArn(model.solutionVersionArn); minProvisionedTPS(model.minProvisionedTPS); campaignConfig(model.campaignConfig); } public final String getCampaignArn() { return campaignArn; } public final void setCampaignArn(String campaignArn) { this.campaignArn = campaignArn; } @Override public final Builder campaignArn(String campaignArn) { this.campaignArn = campaignArn; return this; } public final String getSolutionVersionArn() { return solutionVersionArn; } public final void setSolutionVersionArn(String solutionVersionArn) { this.solutionVersionArn = solutionVersionArn; } @Override public final Builder solutionVersionArn(String solutionVersionArn) { this.solutionVersionArn = solutionVersionArn; return this; } public final Integer getMinProvisionedTPS() { return minProvisionedTPS; } public final void setMinProvisionedTPS(Integer minProvisionedTPS) { this.minProvisionedTPS = minProvisionedTPS; } @Override public final Builder minProvisionedTPS(Integer minProvisionedTPS) { this.minProvisionedTPS = minProvisionedTPS; return this; } public final CampaignConfig.Builder getCampaignConfig() { return campaignConfig != null ? campaignConfig.toBuilder() : null; } public final void setCampaignConfig(CampaignConfig.BuilderImpl campaignConfig) { this.campaignConfig = campaignConfig != null ? campaignConfig.build() : null; } @Override public final Builder campaignConfig(CampaignConfig campaignConfig) { this.campaignConfig = campaignConfig; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public UpdateCampaignRequest build() { return new UpdateCampaignRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy