/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace KinesisAnalyticsV2 { namespace Model { /** *

Specifies a dependency JAR or a JAR of user-defined functions.

See * Also:

AWS * API Reference

*/ class CustomArtifactConfigurationDescription { public: AWS_KINESISANALYTICSV2_API CustomArtifactConfigurationDescription(); AWS_KINESISANALYTICSV2_API CustomArtifactConfigurationDescription(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API CustomArtifactConfigurationDescription& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_KINESISANALYTICSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline const ArtifactType& GetArtifactType() const{ return m_artifactType; } /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline bool ArtifactTypeHasBeenSet() const { return m_artifactTypeHasBeenSet; } /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline void SetArtifactType(const ArtifactType& value) { m_artifactTypeHasBeenSet = true; m_artifactType = value; } /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline void SetArtifactType(ArtifactType&& value) { m_artifactTypeHasBeenSet = true; m_artifactType = std::move(value); } /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline CustomArtifactConfigurationDescription& WithArtifactType(const ArtifactType& value) { SetArtifactType(value); return *this;} /** *

UDF stands for user-defined functions. This type of artifact * must be in an S3 bucket. A DEPENDENCY_JAR can be in either Maven or * an S3 bucket.

*/ inline CustomArtifactConfigurationDescription& WithArtifactType(ArtifactType&& value) { SetArtifactType(std::move(value)); return *this;} inline const S3ContentLocation& GetS3ContentLocationDescription() const{ return m_s3ContentLocationDescription; } inline bool S3ContentLocationDescriptionHasBeenSet() const { return m_s3ContentLocationDescriptionHasBeenSet; } inline void SetS3ContentLocationDescription(const S3ContentLocation& value) { m_s3ContentLocationDescriptionHasBeenSet = true; m_s3ContentLocationDescription = value; } inline void SetS3ContentLocationDescription(S3ContentLocation&& value) { m_s3ContentLocationDescriptionHasBeenSet = true; m_s3ContentLocationDescription = std::move(value); } inline CustomArtifactConfigurationDescription& WithS3ContentLocationDescription(const S3ContentLocation& value) { SetS3ContentLocationDescription(value); return *this;} inline CustomArtifactConfigurationDescription& WithS3ContentLocationDescription(S3ContentLocation&& value) { SetS3ContentLocationDescription(std::move(value)); return *this;} /** *

The parameters that are required to specify a Maven dependency.

*/ inline const MavenReference& GetMavenReferenceDescription() const{ return m_mavenReferenceDescription; } /** *

The parameters that are required to specify a Maven dependency.

*/ inline bool MavenReferenceDescriptionHasBeenSet() const { return m_mavenReferenceDescriptionHasBeenSet; } /** *

The parameters that are required to specify a Maven dependency.

*/ inline void SetMavenReferenceDescription(const MavenReference& value) { m_mavenReferenceDescriptionHasBeenSet = true; m_mavenReferenceDescription = value; } /** *

The parameters that are required to specify a Maven dependency.

*/ inline void SetMavenReferenceDescription(MavenReference&& value) { m_mavenReferenceDescriptionHasBeenSet = true; m_mavenReferenceDescription = std::move(value); } /** *

The parameters that are required to specify a Maven dependency.

*/ inline CustomArtifactConfigurationDescription& WithMavenReferenceDescription(const MavenReference& value) { SetMavenReferenceDescription(value); return *this;} /** *

The parameters that are required to specify a Maven dependency.

*/ inline CustomArtifactConfigurationDescription& WithMavenReferenceDescription(MavenReference&& value) { SetMavenReferenceDescription(std::move(value)); return *this;} private: ArtifactType m_artifactType; bool m_artifactTypeHasBeenSet = false; S3ContentLocation m_s3ContentLocationDescription; bool m_s3ContentLocationDescriptionHasBeenSet = false; MavenReference m_mavenReferenceDescription; bool m_mavenReferenceDescriptionHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws