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
// 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 UpdateDashboardInput {
/// <p>The name or ARN of the dashboard.</p>
pub dashboard_id: ::std::option::Option<::std::string::String>,
/// <p>An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets.</p>
/// <p>To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the <code>GetDashboard</code> operation to get the list of widgets for the dashboard.</p>
/// <p>To remove widgets, pass in an array that includes the existing widgets minus the widgets you want removed.</p>
pub widgets: ::std::option::Option<::std::vec::Vec<crate::types::RequestWidget>>,
/// <p>The refresh schedule configuration for the dashboard.</p>
pub refresh_schedule: ::std::option::Option<crate::types::RefreshSchedule>,
/// <p>Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.</p>
pub termination_protection_enabled: ::std::option::Option<bool>,
}
impl UpdateDashboardInput {
/// <p>The name or ARN of the dashboard.</p>
pub fn dashboard_id(&self) -> ::std::option::Option<&str> {
self.dashboard_id.as_deref()
}
/// <p>An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets.</p>
/// <p>To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the <code>GetDashboard</code> operation to get the list of widgets for the dashboard.</p>
/// <p>To remove widgets, pass in an array that includes the existing widgets minus the widgets you want removed.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.widgets.is_none()`.
pub fn widgets(&self) -> &[crate::types::RequestWidget] {
self.widgets.as_deref().unwrap_or_default()
}
/// <p>The refresh schedule configuration for the dashboard.</p>
pub fn refresh_schedule(&self) -> ::std::option::Option<&crate::types::RefreshSchedule> {
self.refresh_schedule.as_ref()
}
/// <p>Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.</p>
pub fn termination_protection_enabled(&self) -> ::std::option::Option<bool> {
self.termination_protection_enabled
}
}
impl UpdateDashboardInput {
/// Creates a new builder-style object to manufacture [`UpdateDashboardInput`](crate::operation::update_dashboard::UpdateDashboardInput).
pub fn builder() -> crate::operation::update_dashboard::builders::UpdateDashboardInputBuilder {
crate::operation::update_dashboard::builders::UpdateDashboardInputBuilder::default()
}
}
/// A builder for [`UpdateDashboardInput`](crate::operation::update_dashboard::UpdateDashboardInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateDashboardInputBuilder {
pub(crate) dashboard_id: ::std::option::Option<::std::string::String>,
pub(crate) widgets: ::std::option::Option<::std::vec::Vec<crate::types::RequestWidget>>,
pub(crate) refresh_schedule: ::std::option::Option<crate::types::RefreshSchedule>,
pub(crate) termination_protection_enabled: ::std::option::Option<bool>,
}
impl UpdateDashboardInputBuilder {
/// <p>The name or ARN of the dashboard.</p>
/// This field is required.
pub fn dashboard_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.dashboard_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The name or ARN of the dashboard.</p>
pub fn set_dashboard_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.dashboard_id = input;
self
}
/// <p>The name or ARN of the dashboard.</p>
pub fn get_dashboard_id(&self) -> &::std::option::Option<::std::string::String> {
&self.dashboard_id
}
/// Appends an item to `widgets`.
///
/// To override the contents of this collection use [`set_widgets`](Self::set_widgets).
///
/// <p>An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets.</p>
/// <p>To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the <code>GetDashboard</code> operation to get the list of widgets for the dashboard.</p>
/// <p>To remove widgets, pass in an array that includes the existing widgets minus the widgets you want removed.</p>
pub fn widgets(mut self, input: crate::types::RequestWidget) -> Self {
let mut v = self.widgets.unwrap_or_default();
v.push(input);
self.widgets = ::std::option::Option::Some(v);
self
}
/// <p>An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets.</p>
/// <p>To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the <code>GetDashboard</code> operation to get the list of widgets for the dashboard.</p>
/// <p>To remove widgets, pass in an array that includes the existing widgets minus the widgets you want removed.</p>
pub fn set_widgets(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RequestWidget>>) -> Self {
self.widgets = input;
self
}
/// <p>An array of widgets for the dashboard. A custom dashboard can have a maximum of 10 widgets.</p>
/// <p>To add new widgets, pass in an array that includes the existing widgets along with any new widgets. Run the <code>GetDashboard</code> operation to get the list of widgets for the dashboard.</p>
/// <p>To remove widgets, pass in an array that includes the existing widgets minus the widgets you want removed.</p>
pub fn get_widgets(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RequestWidget>> {
&self.widgets
}
/// <p>The refresh schedule configuration for the dashboard.</p>
pub fn refresh_schedule(mut self, input: crate::types::RefreshSchedule) -> Self {
self.refresh_schedule = ::std::option::Option::Some(input);
self
}
/// <p>The refresh schedule configuration for the dashboard.</p>
pub fn set_refresh_schedule(mut self, input: ::std::option::Option<crate::types::RefreshSchedule>) -> Self {
self.refresh_schedule = input;
self
}
/// <p>The refresh schedule configuration for the dashboard.</p>
pub fn get_refresh_schedule(&self) -> &::std::option::Option<crate::types::RefreshSchedule> {
&self.refresh_schedule
}
/// <p>Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.</p>
pub fn termination_protection_enabled(mut self, input: bool) -> Self {
self.termination_protection_enabled = ::std::option::Option::Some(input);
self
}
/// <p>Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.</p>
pub fn set_termination_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
self.termination_protection_enabled = input;
self
}
/// <p>Specifies whether termination protection is enabled for the dashboard. If termination protection is enabled, you cannot delete the dashboard until termination protection is disabled.</p>
pub fn get_termination_protection_enabled(&self) -> &::std::option::Option<bool> {
&self.termination_protection_enabled
}
/// Consumes the builder and constructs a [`UpdateDashboardInput`](crate::operation::update_dashboard::UpdateDashboardInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::update_dashboard::UpdateDashboardInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::update_dashboard::UpdateDashboardInput {
dashboard_id: self.dashboard_id,
widgets: self.widgets,
refresh_schedule: self.refresh_schedule,
termination_protection_enabled: self.termination_protection_enabled,
})
}
}