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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>An object that represents an Amazon ECR image.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Image {
    /// <p>The Amazon Web Services account ID that's associated with the registry containing the image.</p>
    pub registry_id: ::std::option::Option<::std::string::String>,
    /// <p>The name of the repository that's associated with the image.</p>
    pub repository_name: ::std::option::Option<::std::string::String>,
    /// <p>An object that contains the image tag and image digest associated with an image.</p>
    pub image_id: ::std::option::Option<crate::types::ImageIdentifier>,
    /// <p>The image manifest that's associated with the image.</p>
    pub image_manifest: ::std::option::Option<::std::string::String>,
    /// <p>The manifest media type of the image.</p>
    pub image_manifest_media_type: ::std::option::Option<::std::string::String>,
}
impl Image {
    /// <p>The Amazon Web Services account ID that's associated with the registry containing the image.</p>
    pub fn registry_id(&self) -> ::std::option::Option<&str> {
        self.registry_id.as_deref()
    }
    /// <p>The name of the repository that's associated with the image.</p>
    pub fn repository_name(&self) -> ::std::option::Option<&str> {
        self.repository_name.as_deref()
    }
    /// <p>An object that contains the image tag and image digest associated with an image.</p>
    pub fn image_id(&self) -> ::std::option::Option<&crate::types::ImageIdentifier> {
        self.image_id.as_ref()
    }
    /// <p>The image manifest that's associated with the image.</p>
    pub fn image_manifest(&self) -> ::std::option::Option<&str> {
        self.image_manifest.as_deref()
    }
    /// <p>The manifest media type of the image.</p>
    pub fn image_manifest_media_type(&self) -> ::std::option::Option<&str> {
        self.image_manifest_media_type.as_deref()
    }
}
impl Image {
    /// Creates a new builder-style object to manufacture [`Image`](crate::types::Image).
    pub fn builder() -> crate::types::builders::ImageBuilder {
        crate::types::builders::ImageBuilder::default()
    }
}

/// A builder for [`Image`](crate::types::Image).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ImageBuilder {
    pub(crate) registry_id: ::std::option::Option<::std::string::String>,
    pub(crate) repository_name: ::std::option::Option<::std::string::String>,
    pub(crate) image_id: ::std::option::Option<crate::types::ImageIdentifier>,
    pub(crate) image_manifest: ::std::option::Option<::std::string::String>,
    pub(crate) image_manifest_media_type: ::std::option::Option<::std::string::String>,
}
impl ImageBuilder {
    /// <p>The Amazon Web Services account ID that's associated with the registry containing the image.</p>
    pub fn registry_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.registry_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Web Services account ID that's associated with the registry containing the image.</p>
    pub fn set_registry_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.registry_id = input;
        self
    }
    /// <p>The Amazon Web Services account ID that's associated with the registry containing the image.</p>
    pub fn get_registry_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.registry_id
    }
    /// <p>The name of the repository that's associated with the image.</p>
    pub fn repository_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.repository_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the repository that's associated with the image.</p>
    pub fn set_repository_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.repository_name = input;
        self
    }
    /// <p>The name of the repository that's associated with the image.</p>
    pub fn get_repository_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.repository_name
    }
    /// <p>An object that contains the image tag and image digest associated with an image.</p>
    pub fn image_id(mut self, input: crate::types::ImageIdentifier) -> Self {
        self.image_id = ::std::option::Option::Some(input);
        self
    }
    /// <p>An object that contains the image tag and image digest associated with an image.</p>
    pub fn set_image_id(mut self, input: ::std::option::Option<crate::types::ImageIdentifier>) -> Self {
        self.image_id = input;
        self
    }
    /// <p>An object that contains the image tag and image digest associated with an image.</p>
    pub fn get_image_id(&self) -> &::std::option::Option<crate::types::ImageIdentifier> {
        &self.image_id
    }
    /// <p>The image manifest that's associated with the image.</p>
    pub fn image_manifest(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.image_manifest = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The image manifest that's associated with the image.</p>
    pub fn set_image_manifest(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.image_manifest = input;
        self
    }
    /// <p>The image manifest that's associated with the image.</p>
    pub fn get_image_manifest(&self) -> &::std::option::Option<::std::string::String> {
        &self.image_manifest
    }
    /// <p>The manifest media type of the image.</p>
    pub fn image_manifest_media_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.image_manifest_media_type = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The manifest media type of the image.</p>
    pub fn set_image_manifest_media_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.image_manifest_media_type = input;
        self
    }
    /// <p>The manifest media type of the image.</p>
    pub fn get_image_manifest_media_type(&self) -> &::std::option::Option<::std::string::String> {
        &self.image_manifest_media_type
    }
    /// Consumes the builder and constructs a [`Image`](crate::types::Image).
    pub fn build(self) -> crate::types::Image {
        crate::types::Image {
            registry_id: self.registry_id,
            repository_name: self.repository_name,
            image_id: self.image_id,
            image_manifest: self.image_manifest,
            image_manifest_media_type: self.image_manifest_media_type,
        }
    }
}