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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>The result message containing the options for the specified solution stack.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateConfigurationTemplateInput {
/// <p>The name of the application associated with the configuration template to update.</p>
/// <p>If no application is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub application_name: ::std::option::Option<::std::string::String>,
/// <p>The name of the configuration template to update.</p>
/// <p>If no configuration template is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub template_name: ::std::option::Option<::std::string::String>,
/// <p>A new description for the configuration.</p>
pub description: ::std::option::Option<::std::string::String>,
/// <p>A list of configuration option settings to update with the new specified option value.</p>
pub option_settings: ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationOptionSetting>>,
/// <p>A list of configuration options to remove from the configuration set.</p>
/// <p>Constraint: You can remove only <code>UserDefined</code> configuration options.</p>
pub options_to_remove: ::std::option::Option<::std::vec::Vec<crate::types::OptionSpecification>>,
}
impl UpdateConfigurationTemplateInput {
/// <p>The name of the application associated with the configuration template to update.</p>
/// <p>If no application is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn application_name(&self) -> ::std::option::Option<&str> {
self.application_name.as_deref()
}
/// <p>The name of the configuration template to update.</p>
/// <p>If no configuration template is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn template_name(&self) -> ::std::option::Option<&str> {
self.template_name.as_deref()
}
/// <p>A new description for the configuration.</p>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>A list of configuration option settings to update with the new specified option value.</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 `.option_settings.is_none()`.
pub fn option_settings(&self) -> &[crate::types::ConfigurationOptionSetting] {
self.option_settings.as_deref().unwrap_or_default()
}
/// <p>A list of configuration options to remove from the configuration set.</p>
/// <p>Constraint: You can remove only <code>UserDefined</code> configuration options.</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 `.options_to_remove.is_none()`.
pub fn options_to_remove(&self) -> &[crate::types::OptionSpecification] {
self.options_to_remove.as_deref().unwrap_or_default()
}
}
impl UpdateConfigurationTemplateInput {
/// Creates a new builder-style object to manufacture [`UpdateConfigurationTemplateInput`](crate::operation::update_configuration_template::UpdateConfigurationTemplateInput).
pub fn builder() -> crate::operation::update_configuration_template::builders::UpdateConfigurationTemplateInputBuilder {
crate::operation::update_configuration_template::builders::UpdateConfigurationTemplateInputBuilder::default()
}
}
/// A builder for [`UpdateConfigurationTemplateInput`](crate::operation::update_configuration_template::UpdateConfigurationTemplateInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateConfigurationTemplateInputBuilder {
pub(crate) application_name: ::std::option::Option<::std::string::String>,
pub(crate) template_name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) option_settings: ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationOptionSetting>>,
pub(crate) options_to_remove: ::std::option::Option<::std::vec::Vec<crate::types::OptionSpecification>>,
}
impl UpdateConfigurationTemplateInputBuilder {
/// <p>The name of the application associated with the configuration template to update.</p>
/// <p>If no application is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
/// This field is required.
pub fn application_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.application_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the application associated with the configuration template to update.</p>
/// <p>If no application is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn set_application_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.application_name = input;
self
}
/// <p>The name of the application associated with the configuration template to update.</p>
/// <p>If no application is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn get_application_name(&self) -> &::std::option::Option<::std::string::String> {
&self.application_name
}
/// <p>The name of the configuration template to update.</p>
/// <p>If no configuration template is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
/// This field is required.
pub fn template_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.template_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the configuration template to update.</p>
/// <p>If no configuration template is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn set_template_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.template_name = input;
self
}
/// <p>The name of the configuration template to update.</p>
/// <p>If no configuration template is found with this name, <code>UpdateConfigurationTemplate</code> returns an <code>InvalidParameterValue</code> error.</p>
pub fn get_template_name(&self) -> &::std::option::Option<::std::string::String> {
&self.template_name
}
/// <p>A new description for the configuration.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>A new description for the configuration.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>A new description for the configuration.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// Appends an item to `option_settings`.
///
/// To override the contents of this collection use [`set_option_settings`](Self::set_option_settings).
///
/// <p>A list of configuration option settings to update with the new specified option value.</p>
pub fn option_settings(mut self, input: crate::types::ConfigurationOptionSetting) -> Self {
let mut v = self.option_settings.unwrap_or_default();
v.push(input);
self.option_settings = ::std::option::Option::Some(v);
self
}
/// <p>A list of configuration option settings to update with the new specified option value.</p>
pub fn set_option_settings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationOptionSetting>>) -> Self {
self.option_settings = input;
self
}
/// <p>A list of configuration option settings to update with the new specified option value.</p>
pub fn get_option_settings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ConfigurationOptionSetting>> {
&self.option_settings
}
/// Appends an item to `options_to_remove`.
///
/// To override the contents of this collection use [`set_options_to_remove`](Self::set_options_to_remove).
///
/// <p>A list of configuration options to remove from the configuration set.</p>
/// <p>Constraint: You can remove only <code>UserDefined</code> configuration options.</p>
pub fn options_to_remove(mut self, input: crate::types::OptionSpecification) -> Self {
let mut v = self.options_to_remove.unwrap_or_default();
v.push(input);
self.options_to_remove = ::std::option::Option::Some(v);
self
}
/// <p>A list of configuration options to remove from the configuration set.</p>
/// <p>Constraint: You can remove only <code>UserDefined</code> configuration options.</p>
pub fn set_options_to_remove(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OptionSpecification>>) -> Self {
self.options_to_remove = input;
self
}
/// <p>A list of configuration options to remove from the configuration set.</p>
/// <p>Constraint: You can remove only <code>UserDefined</code> configuration options.</p>
pub fn get_options_to_remove(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OptionSpecification>> {
&self.options_to_remove
}
/// Consumes the builder and constructs a [`UpdateConfigurationTemplateInput`](crate::operation::update_configuration_template::UpdateConfigurationTemplateInput).
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::update_configuration_template::UpdateConfigurationTemplateInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::update_configuration_template::UpdateConfigurationTemplateInput {
application_name: self.application_name,
template_name: self.template_name,
description: self.description,
option_settings: self.option_settings,
options_to_remove: self.options_to_remove,
})
}
}