Skip to main content

aws_sdk_transfer/types/
_efs_file_location.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Specifies the details for the file location for the file that's being used in the workflow. Only applicable if you are using Amazon Elastic File Systems (Amazon EFS) for storage.</p>
4/// <p></p>
5#[non_exhaustive]
6#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
7pub struct EfsFileLocation {
8    /// <p>The identifier of the file system, assigned by Amazon EFS.</p>
9    pub file_system_id: ::std::option::Option<::std::string::String>,
10    /// <p>The pathname for the folder being used by a workflow.</p>
11    pub path: ::std::option::Option<::std::string::String>,
12}
13impl EfsFileLocation {
14    /// <p>The identifier of the file system, assigned by Amazon EFS.</p>
15    pub fn file_system_id(&self) -> ::std::option::Option<&str> {
16        self.file_system_id.as_deref()
17    }
18    /// <p>The pathname for the folder being used by a workflow.</p>
19    pub fn path(&self) -> ::std::option::Option<&str> {
20        self.path.as_deref()
21    }
22}
23impl EfsFileLocation {
24    /// Creates a new builder-style object to manufacture [`EfsFileLocation`](crate::types::EfsFileLocation).
25    pub fn builder() -> crate::types::builders::EfsFileLocationBuilder {
26        crate::types::builders::EfsFileLocationBuilder::default()
27    }
28}
29
30/// A builder for [`EfsFileLocation`](crate::types::EfsFileLocation).
31#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
32#[non_exhaustive]
33pub struct EfsFileLocationBuilder {
34    pub(crate) file_system_id: ::std::option::Option<::std::string::String>,
35    pub(crate) path: ::std::option::Option<::std::string::String>,
36}
37impl EfsFileLocationBuilder {
38    /// <p>The identifier of the file system, assigned by Amazon EFS.</p>
39    pub fn file_system_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
40        self.file_system_id = ::std::option::Option::Some(input.into());
41        self
42    }
43    /// <p>The identifier of the file system, assigned by Amazon EFS.</p>
44    pub fn set_file_system_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
45        self.file_system_id = input;
46        self
47    }
48    /// <p>The identifier of the file system, assigned by Amazon EFS.</p>
49    pub fn get_file_system_id(&self) -> &::std::option::Option<::std::string::String> {
50        &self.file_system_id
51    }
52    /// <p>The pathname for the folder being used by a workflow.</p>
53    pub fn path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
54        self.path = ::std::option::Option::Some(input.into());
55        self
56    }
57    /// <p>The pathname for the folder being used by a workflow.</p>
58    pub fn set_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
59        self.path = input;
60        self
61    }
62    /// <p>The pathname for the folder being used by a workflow.</p>
63    pub fn get_path(&self) -> &::std::option::Option<::std::string::String> {
64        &self.path
65    }
66    /// Consumes the builder and constructs a [`EfsFileLocation`](crate::types::EfsFileLocation).
67    pub fn build(self) -> crate::types::EfsFileLocation {
68        crate::types::EfsFileLocation {
69            file_system_id: self.file_system_id,
70            path: self.path,
71        }
72    }
73}