aws_sdk_securityhub/types/
_aws_ecs_task_definition_volumes_details.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>A data volume to mount from another container.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AwsEcsTaskDefinitionVolumesDetails {
7    /// <p>Information about a Docker volume.</p>
8    pub docker_volume_configuration: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails>,
9    /// <p>Information about the Amazon Elastic File System file system that is used for task storage.</p>
10    pub efs_volume_configuration: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails>,
11    /// <p>Information about a bind mount host volume.</p>
12    pub host: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesHostDetails>,
13    /// <p>The name of the data volume.</p>
14    pub name: ::std::option::Option<::std::string::String>,
15}
16impl AwsEcsTaskDefinitionVolumesDetails {
17    /// <p>Information about a Docker volume.</p>
18    pub fn docker_volume_configuration(&self) -> ::std::option::Option<&crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails> {
19        self.docker_volume_configuration.as_ref()
20    }
21    /// <p>Information about the Amazon Elastic File System file system that is used for task storage.</p>
22    pub fn efs_volume_configuration(&self) -> ::std::option::Option<&crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails> {
23        self.efs_volume_configuration.as_ref()
24    }
25    /// <p>Information about a bind mount host volume.</p>
26    pub fn host(&self) -> ::std::option::Option<&crate::types::AwsEcsTaskDefinitionVolumesHostDetails> {
27        self.host.as_ref()
28    }
29    /// <p>The name of the data volume.</p>
30    pub fn name(&self) -> ::std::option::Option<&str> {
31        self.name.as_deref()
32    }
33}
34impl AwsEcsTaskDefinitionVolumesDetails {
35    /// Creates a new builder-style object to manufacture [`AwsEcsTaskDefinitionVolumesDetails`](crate::types::AwsEcsTaskDefinitionVolumesDetails).
36    pub fn builder() -> crate::types::builders::AwsEcsTaskDefinitionVolumesDetailsBuilder {
37        crate::types::builders::AwsEcsTaskDefinitionVolumesDetailsBuilder::default()
38    }
39}
40
41/// A builder for [`AwsEcsTaskDefinitionVolumesDetails`](crate::types::AwsEcsTaskDefinitionVolumesDetails).
42#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
43#[non_exhaustive]
44pub struct AwsEcsTaskDefinitionVolumesDetailsBuilder {
45    pub(crate) docker_volume_configuration: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails>,
46    pub(crate) efs_volume_configuration: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails>,
47    pub(crate) host: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesHostDetails>,
48    pub(crate) name: ::std::option::Option<::std::string::String>,
49}
50impl AwsEcsTaskDefinitionVolumesDetailsBuilder {
51    /// <p>Information about a Docker volume.</p>
52    pub fn docker_volume_configuration(mut self, input: crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) -> Self {
53        self.docker_volume_configuration = ::std::option::Option::Some(input);
54        self
55    }
56    /// <p>Information about a Docker volume.</p>
57    pub fn set_docker_volume_configuration(
58        mut self,
59        input: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails>,
60    ) -> Self {
61        self.docker_volume_configuration = input;
62        self
63    }
64    /// <p>Information about a Docker volume.</p>
65    pub fn get_docker_volume_configuration(
66        &self,
67    ) -> &::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails> {
68        &self.docker_volume_configuration
69    }
70    /// <p>Information about the Amazon Elastic File System file system that is used for task storage.</p>
71    pub fn efs_volume_configuration(mut self, input: crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) -> Self {
72        self.efs_volume_configuration = ::std::option::Option::Some(input);
73        self
74    }
75    /// <p>Information about the Amazon Elastic File System file system that is used for task storage.</p>
76    pub fn set_efs_volume_configuration(
77        mut self,
78        input: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails>,
79    ) -> Self {
80        self.efs_volume_configuration = input;
81        self
82    }
83    /// <p>Information about the Amazon Elastic File System file system that is used for task storage.</p>
84    pub fn get_efs_volume_configuration(&self) -> &::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails> {
85        &self.efs_volume_configuration
86    }
87    /// <p>Information about a bind mount host volume.</p>
88    pub fn host(mut self, input: crate::types::AwsEcsTaskDefinitionVolumesHostDetails) -> Self {
89        self.host = ::std::option::Option::Some(input);
90        self
91    }
92    /// <p>Information about a bind mount host volume.</p>
93    pub fn set_host(mut self, input: ::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesHostDetails>) -> Self {
94        self.host = input;
95        self
96    }
97    /// <p>Information about a bind mount host volume.</p>
98    pub fn get_host(&self) -> &::std::option::Option<crate::types::AwsEcsTaskDefinitionVolumesHostDetails> {
99        &self.host
100    }
101    /// <p>The name of the data volume.</p>
102    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
103        self.name = ::std::option::Option::Some(input.into());
104        self
105    }
106    /// <p>The name of the data volume.</p>
107    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
108        self.name = input;
109        self
110    }
111    /// <p>The name of the data volume.</p>
112    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
113        &self.name
114    }
115    /// Consumes the builder and constructs a [`AwsEcsTaskDefinitionVolumesDetails`](crate::types::AwsEcsTaskDefinitionVolumesDetails).
116    pub fn build(self) -> crate::types::AwsEcsTaskDefinitionVolumesDetails {
117        crate::types::AwsEcsTaskDefinitionVolumesDetails {
118            docker_volume_configuration: self.docker_volume_configuration,
119            efs_volume_configuration: self.efs_volume_configuration,
120            host: self.host,
121            name: self.name,
122        }
123    }
124}