1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Specifies a dependency JAR or a JAR of user-defined functions.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CustomArtifactConfigurationDescription {
    /// <p><code>UDF</code> stands for user-defined functions. This type of artifact must be in an S3 bucket. A <code>DEPENDENCY_JAR</code> can be in either Maven or an S3 bucket.</p>
    pub artifact_type: ::std::option::Option<crate::types::ArtifactType>,
    /// <p>For a Managed Service for Apache Flink application provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.</p>
    pub s3_content_location_description: ::std::option::Option<crate::types::S3ContentLocation>,
    /// <p>The parameters that are required to specify a Maven dependency.</p>
    pub maven_reference_description: ::std::option::Option<crate::types::MavenReference>,
}
impl CustomArtifactConfigurationDescription {
    /// <p><code>UDF</code> stands for user-defined functions. This type of artifact must be in an S3 bucket. A <code>DEPENDENCY_JAR</code> can be in either Maven or an S3 bucket.</p>
    pub fn artifact_type(&self) -> ::std::option::Option<&crate::types::ArtifactType> {
        self.artifact_type.as_ref()
    }
    /// <p>For a Managed Service for Apache Flink application provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.</p>
    pub fn s3_content_location_description(&self) -> ::std::option::Option<&crate::types::S3ContentLocation> {
        self.s3_content_location_description.as_ref()
    }
    /// <p>The parameters that are required to specify a Maven dependency.</p>
    pub fn maven_reference_description(&self) -> ::std::option::Option<&crate::types::MavenReference> {
        self.maven_reference_description.as_ref()
    }
}
impl CustomArtifactConfigurationDescription {
    /// Creates a new builder-style object to manufacture [`CustomArtifactConfigurationDescription`](crate::types::CustomArtifactConfigurationDescription).
    pub fn builder() -> crate::types::builders::CustomArtifactConfigurationDescriptionBuilder {
        crate::types::builders::CustomArtifactConfigurationDescriptionBuilder::default()
    }
}

/// A builder for [`CustomArtifactConfigurationDescription`](crate::types::CustomArtifactConfigurationDescription).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CustomArtifactConfigurationDescriptionBuilder {
    pub(crate) artifact_type: ::std::option::Option<crate::types::ArtifactType>,
    pub(crate) s3_content_location_description: ::std::option::Option<crate::types::S3ContentLocation>,
    pub(crate) maven_reference_description: ::std::option::Option<crate::types::MavenReference>,
}
impl CustomArtifactConfigurationDescriptionBuilder {
    /// <p><code>UDF</code> stands for user-defined functions. This type of artifact must be in an S3 bucket. A <code>DEPENDENCY_JAR</code> can be in either Maven or an S3 bucket.</p>
    pub fn artifact_type(mut self, input: crate::types::ArtifactType) -> Self {
        self.artifact_type = ::std::option::Option::Some(input);
        self
    }
    /// <p><code>UDF</code> stands for user-defined functions. This type of artifact must be in an S3 bucket. A <code>DEPENDENCY_JAR</code> can be in either Maven or an S3 bucket.</p>
    pub fn set_artifact_type(mut self, input: ::std::option::Option<crate::types::ArtifactType>) -> Self {
        self.artifact_type = input;
        self
    }
    /// <p><code>UDF</code> stands for user-defined functions. This type of artifact must be in an S3 bucket. A <code>DEPENDENCY_JAR</code> can be in either Maven or an S3 bucket.</p>
    pub fn get_artifact_type(&self) -> &::std::option::Option<crate::types::ArtifactType> {
        &self.artifact_type
    }
    /// <p>For a Managed Service for Apache Flink application provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.</p>
    pub fn s3_content_location_description(mut self, input: crate::types::S3ContentLocation) -> Self {
        self.s3_content_location_description = ::std::option::Option::Some(input);
        self
    }
    /// <p>For a Managed Service for Apache Flink application provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.</p>
    pub fn set_s3_content_location_description(mut self, input: ::std::option::Option<crate::types::S3ContentLocation>) -> Self {
        self.s3_content_location_description = input;
        self
    }
    /// <p>For a Managed Service for Apache Flink application provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.</p>
    pub fn get_s3_content_location_description(&self) -> &::std::option::Option<crate::types::S3ContentLocation> {
        &self.s3_content_location_description
    }
    /// <p>The parameters that are required to specify a Maven dependency.</p>
    pub fn maven_reference_description(mut self, input: crate::types::MavenReference) -> Self {
        self.maven_reference_description = ::std::option::Option::Some(input);
        self
    }
    /// <p>The parameters that are required to specify a Maven dependency.</p>
    pub fn set_maven_reference_description(mut self, input: ::std::option::Option<crate::types::MavenReference>) -> Self {
        self.maven_reference_description = input;
        self
    }
    /// <p>The parameters that are required to specify a Maven dependency.</p>
    pub fn get_maven_reference_description(&self) -> &::std::option::Option<crate::types::MavenReference> {
        &self.maven_reference_description
    }
    /// Consumes the builder and constructs a [`CustomArtifactConfigurationDescription`](crate::types::CustomArtifactConfigurationDescription).
    pub fn build(self) -> crate::types::CustomArtifactConfigurationDescription {
        crate::types::CustomArtifactConfigurationDescription {
            artifact_type: self.artifact_type,
            s3_content_location_description: self.s3_content_location_description,
            maven_reference_description: self.maven_reference_description,
        }
    }
}