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
// 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 UpdateVehicleInput {
/// <p>The unique ID of the vehicle to update.</p>
pub vehicle_name: ::std::option::Option<::std::string::String>,
/// <p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>
pub model_manifest_arn: ::std::option::Option<::std::string::String>,
/// <p>The ARN of the decoder manifest associated with this vehicle.</p>
pub decoder_manifest_arn: ::std::option::Option<::std::string::String>,
/// <p>Static information about a vehicle in a key-value pair. For example:</p>
/// <p><code>"engineType"</code> : <code>"1.3 L R2"</code></p>
pub attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
/// <p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p>
/// <p>This is required if attributes are present in the input.</p>
pub attribute_update_mode: ::std::option::Option<crate::types::UpdateMode>,
}
impl UpdateVehicleInput {
/// <p>The unique ID of the vehicle to update.</p>
pub fn vehicle_name(&self) -> ::std::option::Option<&str> {
self.vehicle_name.as_deref()
}
/// <p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>
pub fn model_manifest_arn(&self) -> ::std::option::Option<&str> {
self.model_manifest_arn.as_deref()
}
/// <p>The ARN of the decoder manifest associated with this vehicle.</p>
pub fn decoder_manifest_arn(&self) -> ::std::option::Option<&str> {
self.decoder_manifest_arn.as_deref()
}
/// <p>Static information about a vehicle in a key-value pair. For example:</p>
/// <p><code>"engineType"</code> : <code>"1.3 L R2"</code></p>
pub fn attributes(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.attributes.as_ref()
}
/// <p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p>
/// <p>This is required if attributes are present in the input.</p>
pub fn attribute_update_mode(&self) -> ::std::option::Option<&crate::types::UpdateMode> {
self.attribute_update_mode.as_ref()
}
}
impl UpdateVehicleInput {
/// Creates a new builder-style object to manufacture [`UpdateVehicleInput`](crate::operation::update_vehicle::UpdateVehicleInput).
pub fn builder() -> crate::operation::update_vehicle::builders::UpdateVehicleInputBuilder {
crate::operation::update_vehicle::builders::UpdateVehicleInputBuilder::default()
}
}
/// A builder for [`UpdateVehicleInput`](crate::operation::update_vehicle::UpdateVehicleInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct UpdateVehicleInputBuilder {
pub(crate) vehicle_name: ::std::option::Option<::std::string::String>,
pub(crate) model_manifest_arn: ::std::option::Option<::std::string::String>,
pub(crate) decoder_manifest_arn: ::std::option::Option<::std::string::String>,
pub(crate) attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) attribute_update_mode: ::std::option::Option<crate::types::UpdateMode>,
}
impl UpdateVehicleInputBuilder {
/// <p>The unique ID of the vehicle to update.</p>
/// This field is required.
pub fn vehicle_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.vehicle_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique ID of the vehicle to update.</p>
pub fn set_vehicle_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.vehicle_name = input;
self
}
/// <p>The unique ID of the vehicle to update.</p>
pub fn get_vehicle_name(&self) -> &::std::option::Option<::std::string::String> {
&self.vehicle_name
}
/// <p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>
pub fn model_manifest_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.model_manifest_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>
pub fn set_model_manifest_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.model_manifest_arn = input;
self
}
/// <p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>
pub fn get_model_manifest_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.model_manifest_arn
}
/// <p>The ARN of the decoder manifest associated with this vehicle.</p>
pub fn decoder_manifest_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.decoder_manifest_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The ARN of the decoder manifest associated with this vehicle.</p>
pub fn set_decoder_manifest_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.decoder_manifest_arn = input;
self
}
/// <p>The ARN of the decoder manifest associated with this vehicle.</p>
pub fn get_decoder_manifest_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.decoder_manifest_arn
}
/// Adds a key-value pair to `attributes`.
///
/// To override the contents of this collection use [`set_attributes`](Self::set_attributes).
///
/// <p>Static information about a vehicle in a key-value pair. For example:</p>
/// <p><code>"engineType"</code> : <code>"1.3 L R2"</code></p>
pub fn attributes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.attributes.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.attributes = ::std::option::Option::Some(hash_map);
self
}
/// <p>Static information about a vehicle in a key-value pair. For example:</p>
/// <p><code>"engineType"</code> : <code>"1.3 L R2"</code></p>
pub fn set_attributes(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.attributes = input;
self
}
/// <p>Static information about a vehicle in a key-value pair. For example:</p>
/// <p><code>"engineType"</code> : <code>"1.3 L R2"</code></p>
pub fn get_attributes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.attributes
}
/// <p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p>
/// <p>This is required if attributes are present in the input.</p>
pub fn attribute_update_mode(mut self, input: crate::types::UpdateMode) -> Self {
self.attribute_update_mode = ::std::option::Option::Some(input);
self
}
/// <p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p>
/// <p>This is required if attributes are present in the input.</p>
pub fn set_attribute_update_mode(mut self, input: ::std::option::Option<crate::types::UpdateMode>) -> Self {
self.attribute_update_mode = input;
self
}
/// <p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p>
/// <p>This is required if attributes are present in the input.</p>
pub fn get_attribute_update_mode(&self) -> &::std::option::Option<crate::types::UpdateMode> {
&self.attribute_update_mode
}
/// Consumes the builder and constructs a [`UpdateVehicleInput`](crate::operation::update_vehicle::UpdateVehicleInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::update_vehicle::UpdateVehicleInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::update_vehicle::UpdateVehicleInput {
vehicle_name: self.vehicle_name,
model_manifest_arn: self.model_manifest_arn,
decoder_manifest_arn: self.decoder_manifest_arn,
attributes: self.attributes,
attribute_update_mode: self.attribute_update_mode,
})
}
}