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
// 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 DeleteVirtualGatewayInput {
    /// <p>The name of the virtual gateway to delete.</p>
    pub virtual_gateway_name: ::std::option::Option<::std::string::String>,
    /// <p>The name of the service mesh to delete the virtual gateway from.</p>
    pub mesh_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 DeleteVirtualGatewayInput {
    /// <p>The name of the virtual gateway to delete.</p>
    pub fn virtual_gateway_name(&self) -> ::std::option::Option<&str> {
        self.virtual_gateway_name.as_deref()
    }
    /// <p>The name of the service mesh to delete the virtual gateway from.</p>
    pub fn mesh_name(&self) -> ::std::option::Option<&str> {
        self.mesh_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 DeleteVirtualGatewayInput {
    /// Creates a new builder-style object to manufacture [`DeleteVirtualGatewayInput`](crate::operation::delete_virtual_gateway::DeleteVirtualGatewayInput).
    pub fn builder() -> crate::operation::delete_virtual_gateway::builders::DeleteVirtualGatewayInputBuilder {
        crate::operation::delete_virtual_gateway::builders::DeleteVirtualGatewayInputBuilder::default()
    }
}

/// A builder for [`DeleteVirtualGatewayInput`](crate::operation::delete_virtual_gateway::DeleteVirtualGatewayInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DeleteVirtualGatewayInputBuilder {
    pub(crate) virtual_gateway_name: ::std::option::Option<::std::string::String>,
    pub(crate) mesh_name: ::std::option::Option<::std::string::String>,
    pub(crate) mesh_owner: ::std::option::Option<::std::string::String>,
}
impl DeleteVirtualGatewayInputBuilder {
    /// <p>The name of the virtual gateway to delete.</p>
    /// This field is required.
    pub fn virtual_gateway_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.virtual_gateway_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the virtual gateway to delete.</p>
    pub fn set_virtual_gateway_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.virtual_gateway_name = input;
        self
    }
    /// <p>The name of the virtual gateway to delete.</p>
    pub fn get_virtual_gateway_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.virtual_gateway_name
    }
    /// <p>The name of the service mesh to delete the virtual gateway from.</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 virtual gateway from.</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 virtual gateway from.</p>
    pub fn get_mesh_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.mesh_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 [`DeleteVirtualGatewayInput`](crate::operation::delete_virtual_gateway::DeleteVirtualGatewayInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::delete_virtual_gateway::DeleteVirtualGatewayInput, ::aws_smithy_types::error::operation::BuildError>
    {
        ::std::result::Result::Ok(crate::operation::delete_virtual_gateway::DeleteVirtualGatewayInput {
            virtual_gateway_name: self.virtual_gateway_name,
            mesh_name: self.mesh_name,
            mesh_owner: self.mesh_owner,
        })
    }
}