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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DeleteRouteInput {
    /// <p>The name of the route to delete.</p>
    pub route_name: ::std::option::Option<::std::string::String>,
    /// <p>The name of the service mesh to delete the route in.</p>
    pub mesh_name: ::std::option::Option<::std::string::String>,
    /// <p>The name of the virtual router to delete the route in.</p>
    pub virtual_router_name: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.</p>
    pub mesh_owner: ::std::option::Option<::std::string::String>,
}
impl DeleteRouteInput {
    /// <p>The name of the route to delete.</p>
    pub fn route_name(&self) -> ::std::option::Option<&str> {
        self.route_name.as_deref()
    }
    /// <p>The name of the service mesh to delete the route in.</p>
    pub fn mesh_name(&self) -> ::std::option::Option<&str> {
        self.mesh_name.as_deref()
    }
    /// <p>The name of the virtual router to delete the route in.</p>
    pub fn virtual_router_name(&self) -> ::std::option::Option<&str> {
        self.virtual_router_name.as_deref()
    }
    /// <p>The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.</p>
    pub fn mesh_owner(&self) -> ::std::option::Option<&str> {
        self.mesh_owner.as_deref()
    }
}
impl DeleteRouteInput {
    /// Creates a new builder-style object to manufacture [`DeleteRouteInput`](crate::operation::delete_route::DeleteRouteInput).
    pub fn builder() -> crate::operation::delete_route::builders::DeleteRouteInputBuilder {
        crate::operation::delete_route::builders::DeleteRouteInputBuilder::default()
    }
}

/// A builder for [`DeleteRouteInput`](crate::operation::delete_route::DeleteRouteInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DeleteRouteInputBuilder {
    pub(crate) route_name: ::std::option::Option<::std::string::String>,
    pub(crate) mesh_name: ::std::option::Option<::std::string::String>,
    pub(crate) virtual_router_name: ::std::option::Option<::std::string::String>,
    pub(crate) mesh_owner: ::std::option::Option<::std::string::String>,
}
impl DeleteRouteInputBuilder {
    /// <p>The name of the route to delete.</p>
    /// This field is required.
    pub fn route_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.route_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the route to delete.</p>
    pub fn set_route_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.route_name = input;
        self
    }
    /// <p>The name of the route to delete.</p>
    pub fn get_route_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.route_name
    }
    /// <p>The name of the service mesh to delete the route in.</p>
    /// This field is required.
    pub fn mesh_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.mesh_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the service mesh to delete the route in.</p>
    pub fn set_mesh_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.mesh_name = input;
        self
    }
    /// <p>The name of the service mesh to delete the route in.</p>
    pub fn get_mesh_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.mesh_name
    }
    /// <p>The name of the virtual router to delete the route in.</p>
    /// This field is required.
    pub fn virtual_router_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.virtual_router_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the virtual router to delete the route in.</p>
    pub fn set_virtual_router_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.virtual_router_name = input;
        self
    }
    /// <p>The name of the virtual router to delete the route in.</p>
    pub fn get_virtual_router_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.virtual_router_name
    }
    /// <p>The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.</p>
    pub fn mesh_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.mesh_owner = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.</p>
    pub fn set_mesh_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.mesh_owner = input;
        self
    }
    /// <p>The Amazon Web Services IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see <a href="https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html">Working with shared meshes</a>.</p>
    pub fn get_mesh_owner(&self) -> &::std::option::Option<::std::string::String> {
        &self.mesh_owner
    }
    /// Consumes the builder and constructs a [`DeleteRouteInput`](crate::operation::delete_route::DeleteRouteInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::delete_route::DeleteRouteInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::delete_route::DeleteRouteInput {
            route_name: self.route_name,
            mesh_name: self.mesh_name,
            virtual_router_name: self.virtual_router_name,
            mesh_owner: self.mesh_owner,
        })
    }
}