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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Information about the location of a custom plugin.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CustomPluginLocation {
    /// <p>The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.</p>
    pub s3_location: ::std::option::Option<crate::types::S3Location>,
}
impl CustomPluginLocation {
    /// <p>The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.</p>
    pub fn s3_location(&self) -> ::std::option::Option<&crate::types::S3Location> {
        self.s3_location.as_ref()
    }
}
impl CustomPluginLocation {
    /// Creates a new builder-style object to manufacture [`CustomPluginLocation`](crate::types::CustomPluginLocation).
    pub fn builder() -> crate::types::builders::CustomPluginLocationBuilder {
        crate::types::builders::CustomPluginLocationBuilder::default()
    }
}
/// A builder for [`CustomPluginLocation`](crate::types::CustomPluginLocation).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct CustomPluginLocationBuilder {
    pub(crate) s3_location: ::std::option::Option<crate::types::S3Location>,
}
impl CustomPluginLocationBuilder {
    /// <p>The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.</p>
    /// This field is required.
    pub fn s3_location(mut self, input: crate::types::S3Location) -> Self {
        self.s3_location = ::std::option::Option::Some(input);
        self
    }
    /// <p>The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.</p>
    pub fn set_s3_location(mut self, input: ::std::option::Option<crate::types::S3Location>) -> Self {
        self.s3_location = input;
        self
    }
    /// <p>The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.</p>
    pub fn get_s3_location(&self) -> &::std::option::Option<crate::types::S3Location> {
        &self.s3_location
    }
    /// Consumes the builder and constructs a [`CustomPluginLocation`](crate::types::CustomPluginLocation).
    pub fn build(self) -> crate::types::CustomPluginLocation {
        crate::types::CustomPluginLocation {
            s3_location: self.s3_location,
        }
    }
}