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

software.amazon.awssdk.services.kinesisanalytics.model.AddApplicationReferenceDataSourceRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Kinesis module holds the client classes that are used for communicating with Amazon Kinesis Service

There is a newer version: 2.28.6
Show newest version
/*
 * Copyright 2013-2018 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.kinesisanalytics.model;

import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
import javax.annotation.Generated;
import software.amazon.awssdk.core.AwsRequestOverrideConfig;
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 class AddApplicationReferenceDataSourceRequest extends KinesisAnalyticsRequest implements ToCopyableBuilder { private final String applicationName; private final Long currentApplicationVersionId; private final ReferenceDataSource referenceDataSource; private AddApplicationReferenceDataSourceRequest(BuilderImpl builder) { super(builder); this.applicationName = builder.applicationName; this.currentApplicationVersionId = builder.currentApplicationVersionId; this.referenceDataSource = builder.referenceDataSource; } /** *

* Name of an existing application. *

* * @return Name of an existing application. */ public String applicationName() { return applicationName; } /** *

* Version of the application for which you are adding the reference data source. You can use the * DescribeApplication operation to get the current application version. If the version specified is not the * current version, the ConcurrentModificationException is returned. *

* * @return Version of the application for which you are adding the reference data source. You can use the * DescribeApplication operation to get the current application version. If the version specified is * not the current version, the ConcurrentModificationException is returned. */ public Long currentApplicationVersionId() { return currentApplicationVersionId; } /** *

* The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the object * and copies the data into the in-application table that is created. You provide an S3 bucket, object key name, and * the resulting in-application table that is created. You must also provide an IAM role with the necessary * permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your behalf. *

* * @return The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the * object and copies the data into the in-application table that is created. You provide an S3 bucket, * object key name, and the resulting in-application table that is created. You must also provide an IAM * role with the necessary permissions that Amazon Kinesis Analytics can assume to read the object from your * S3 bucket on your behalf. */ public ReferenceDataSource referenceDataSource() { return referenceDataSource; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(applicationName()); hashCode = 31 * hashCode + Objects.hashCode(currentApplicationVersionId()); hashCode = 31 * hashCode + Objects.hashCode(referenceDataSource()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof AddApplicationReferenceDataSourceRequest)) { return false; } AddApplicationReferenceDataSourceRequest other = (AddApplicationReferenceDataSourceRequest) obj; return Objects.equals(applicationName(), other.applicationName()) && Objects.equals(currentApplicationVersionId(), other.currentApplicationVersionId()) && Objects.equals(referenceDataSource(), other.referenceDataSource()); } @Override public String toString() { return ToString.builder("AddApplicationReferenceDataSourceRequest").add("ApplicationName", applicationName()) .add("CurrentApplicationVersionId", currentApplicationVersionId()) .add("ReferenceDataSource", referenceDataSource()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ApplicationName": return Optional.of(clazz.cast(applicationName())); case "CurrentApplicationVersionId": return Optional.of(clazz.cast(currentApplicationVersionId())); case "ReferenceDataSource": return Optional.of(clazz.cast(referenceDataSource())); default: return Optional.empty(); } } public interface Builder extends KinesisAnalyticsRequest.Builder, CopyableBuilder { /** *

* Name of an existing application. *

* * @param applicationName * Name of an existing application. * @return Returns a reference to this object so that method calls can be chained together. */ Builder applicationName(String applicationName); /** *

* Version of the application for which you are adding the reference data source. You can use the * DescribeApplication operation to get the current application version. If the version specified is not * the current version, the ConcurrentModificationException is returned. *

* * @param currentApplicationVersionId * Version of the application for which you are adding the reference data source. You can use the * DescribeApplication operation to get the current application version. If the version specified * is not the current version, the ConcurrentModificationException is returned. * @return Returns a reference to this object so that method calls can be chained together. */ Builder currentApplicationVersionId(Long currentApplicationVersionId); /** *

* The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the * object and copies the data into the in-application table that is created. You provide an S3 bucket, object * key name, and the resulting in-application table that is created. You must also provide an IAM role with the * necessary permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your * behalf. *

* * @param referenceDataSource * The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads * the object and copies the data into the in-application table that is created. You provide an S3 * bucket, object key name, and the resulting in-application table that is created. You must also provide * an IAM role with the necessary permissions that Amazon Kinesis Analytics can assume to read the object * from your S3 bucket on your behalf. * @return Returns a reference to this object so that method calls can be chained together. */ Builder referenceDataSource(ReferenceDataSource referenceDataSource); /** *

* The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the * object and copies the data into the in-application table that is created. You provide an S3 bucket, object * key name, and the resulting in-application table that is created. You must also provide an IAM role with the * necessary permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your * behalf. *

* This is a convenience that creates an instance of the {@link ReferenceDataSource.Builder} avoiding the need * to create one manually via {@link ReferenceDataSource#builder()}. * * When the {@link Consumer} completes, {@link ReferenceDataSource.Builder#build()} is called immediately and * its result is passed to {@link #referenceDataSource(ReferenceDataSource)}. * * @param referenceDataSource * a consumer that will call methods on {@link ReferenceDataSource.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #referenceDataSource(ReferenceDataSource) */ default Builder referenceDataSource(Consumer referenceDataSource) { return referenceDataSource(ReferenceDataSource.builder().apply(referenceDataSource).build()); } @Override Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig); } static final class BuilderImpl extends KinesisAnalyticsRequest.BuilderImpl implements Builder { private String applicationName; private Long currentApplicationVersionId; private ReferenceDataSource referenceDataSource; private BuilderImpl() { } private BuilderImpl(AddApplicationReferenceDataSourceRequest model) { applicationName(model.applicationName); currentApplicationVersionId(model.currentApplicationVersionId); referenceDataSource(model.referenceDataSource); } public final String getApplicationName() { return applicationName; } @Override public final Builder applicationName(String applicationName) { this.applicationName = applicationName; return this; } public final void setApplicationName(String applicationName) { this.applicationName = applicationName; } public final Long getCurrentApplicationVersionId() { return currentApplicationVersionId; } @Override public final Builder currentApplicationVersionId(Long currentApplicationVersionId) { this.currentApplicationVersionId = currentApplicationVersionId; return this; } public final void setCurrentApplicationVersionId(Long currentApplicationVersionId) { this.currentApplicationVersionId = currentApplicationVersionId; } public final ReferenceDataSource.Builder getReferenceDataSource() { return referenceDataSource != null ? referenceDataSource.toBuilder() : null; } @Override public final Builder referenceDataSource(ReferenceDataSource referenceDataSource) { this.referenceDataSource = referenceDataSource; return this; } public final void setReferenceDataSource(ReferenceDataSource.BuilderImpl referenceDataSource) { this.referenceDataSource = referenceDataSource != null ? referenceDataSource.build() : null; } @Override public Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig) { super.requestOverrideConfig(awsRequestOverrideConfig); return this; } @Override public Builder requestOverrideConfig(Consumer builderConsumer) { super.requestOverrideConfig(builderConsumer); return this; } @Override public AddApplicationReferenceDataSourceRequest build() { return new AddApplicationReferenceDataSourceRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy