AWS SDK

AWS SDK

rev. 3388bf5e18f4269f2b46f39cdc814c5c39d413d0

Files changed:

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_s3_output_location.rs

@@ -0,1 +0,210 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>An S3 bucket where you want to store the results of this request.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct S3OutputLocation {
           7  +
    /// <p>The Amazon Web Services Region of the S3 bucket.</p>
           8  +
    pub output_s3_region: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The name of the S3 bucket.</p>
          10  +
    pub output_s3_bucket_name: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The S3 bucket subfolder.</p>
          12  +
    pub output_s3_key_prefix: ::std::option::Option<::std::string::String>,
          13  +
}
          14  +
impl S3OutputLocation {
          15  +
    /// <p>The Amazon Web Services Region of the S3 bucket.</p>
          16  +
    pub fn output_s3_region(&self) -> ::std::option::Option<&str> {
          17  +
        self.output_s3_region.as_deref()
          18  +
    }
          19  +
    /// <p>The name of the S3 bucket.</p>
          20  +
    pub fn output_s3_bucket_name(&self) -> ::std::option::Option<&str> {
          21  +
        self.output_s3_bucket_name.as_deref()
          22  +
    }
          23  +
    /// <p>The S3 bucket subfolder.</p>
          24  +
    pub fn output_s3_key_prefix(&self) -> ::std::option::Option<&str> {
          25  +
        self.output_s3_key_prefix.as_deref()
          26  +
    }
          27  +
}
          28  +
static S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_REGION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          29  +
    ::aws_smithy_schema::ShapeId::from_parts(
          30  +
        "com.amazonaws.ssm#S3OutputLocation$OutputS3Region",
          31  +
        "com.amazonaws.ssm",
          32  +
        "S3OutputLocation",
          33  +
    ),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "OutputS3Region",
          36  +
    0,
          37  +
);
          38  +
static S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_BUCKET_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          39  +
    ::aws_smithy_schema::ShapeId::from_parts(
          40  +
        "com.amazonaws.ssm#S3OutputLocation$OutputS3BucketName",
          41  +
        "com.amazonaws.ssm",
          42  +
        "S3OutputLocation",
          43  +
    ),
          44  +
    ::aws_smithy_schema::ShapeType::String,
          45  +
    "OutputS3BucketName",
          46  +
    1,
          47  +
);
          48  +
static S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_KEY_PREFIX: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          49  +
    ::aws_smithy_schema::ShapeId::from_parts(
          50  +
        "com.amazonaws.ssm#S3OutputLocation$OutputS3KeyPrefix",
          51  +
        "com.amazonaws.ssm",
          52  +
        "S3OutputLocation",
          53  +
    ),
          54  +
    ::aws_smithy_schema::ShapeType::String,
          55  +
    "OutputS3KeyPrefix",
          56  +
    2,
          57  +
);
          58  +
static S3OUTPUTLOCATION_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          59  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#S3OutputLocation", "com.amazonaws.ssm", "S3OutputLocation"),
          60  +
    ::aws_smithy_schema::ShapeType::Structure,
          61  +
    &[
          62  +
        &S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_REGION,
          63  +
        &S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_BUCKET_NAME,
          64  +
        &S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_KEY_PREFIX,
          65  +
    ],
          66  +
);
          67  +
impl S3OutputLocation {
          68  +
    /// The schema for this shape.
          69  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &S3OUTPUTLOCATION_SCHEMA;
          70  +
}
          71  +
impl ::aws_smithy_schema::serde::SerializableStruct for S3OutputLocation {
          72  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          73  +
    fn serialize_members(
          74  +
        &self,
          75  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          76  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          77  +
        if let Some(ref val) = self.output_s3_region {
          78  +
            ser.write_string(&S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_REGION, val)?;
          79  +
        }
          80  +
        if let Some(ref val) = self.output_s3_bucket_name {
          81  +
            ser.write_string(&S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_BUCKET_NAME, val)?;
          82  +
        }
          83  +
        if let Some(ref val) = self.output_s3_key_prefix {
          84  +
            ser.write_string(&S3OUTPUTLOCATION_MEMBER_OUTPUT_S3_KEY_PREFIX, val)?;
          85  +
        }
          86  +
        Ok(())
          87  +
    }
          88  +
}
          89  +
impl S3OutputLocation {
          90  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          91  +
    pub fn deserialize(
          92  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          93  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          94  +
        #[allow(unused_variables, unused_mut)]
          95  +
        let mut builder = Self::builder();
          96  +
        #[allow(
          97  +
            unused_variables,
          98  +
            unreachable_code,
          99  +
            clippy::single_match,
         100  +
            clippy::match_single_binding,
         101  +
            clippy::diverging_sub_expression
         102  +
        )]
         103  +
        deserializer.read_struct(&S3OUTPUTLOCATION_SCHEMA, &mut |member, deser| {
         104  +
            match member.member_index() {
         105  +
                Some(0) => {
         106  +
                    if deser.is_null() {
         107  +
                        deser.read_null()?;
         108  +
                    } else {
         109  +
                        builder.output_s3_region = Some(deser.read_string(member)?);
         110  +
                    }
         111  +
                }
         112  +
                Some(1) => {
         113  +
                    if deser.is_null() {
         114  +
                        deser.read_null()?;
         115  +
                    } else {
         116  +
                        builder.output_s3_bucket_name = Some(deser.read_string(member)?);
         117  +
                    }
         118  +
                }
         119  +
                Some(2) => {
         120  +
                    if deser.is_null() {
         121  +
                        deser.read_null()?;
         122  +
                    } else {
         123  +
                        builder.output_s3_key_prefix = Some(deser.read_string(member)?);
         124  +
                    }
         125  +
                }
         126  +
                _ => {}
         127  +
            }
         128  +
            Ok(())
         129  +
        })?;
         130  +
        Ok(builder.build())
         131  +
    }
         132  +
}
         133  +
impl S3OutputLocation {
         134  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         135  +
    pub fn deserialize_with_response(
         136  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         137  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         138  +
        _status: u16,
         139  +
        _body: &[u8],
         140  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         141  +
        Self::deserialize(deserializer)
         142  +
    }
         143  +
}
         144  +
impl S3OutputLocation {
         145  +
    /// Creates a new builder-style object to manufacture [`S3OutputLocation`](crate::types::S3OutputLocation).
         146  +
    pub fn builder() -> crate::types::builders::S3OutputLocationBuilder {
         147  +
        crate::types::builders::S3OutputLocationBuilder::default()
         148  +
    }
         149  +
}
         150  +
         151  +
/// A builder for [`S3OutputLocation`](crate::types::S3OutputLocation).
         152  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         153  +
#[non_exhaustive]
         154  +
pub struct S3OutputLocationBuilder {
         155  +
    pub(crate) output_s3_region: ::std::option::Option<::std::string::String>,
         156  +
    pub(crate) output_s3_bucket_name: ::std::option::Option<::std::string::String>,
         157  +
    pub(crate) output_s3_key_prefix: ::std::option::Option<::std::string::String>,
         158  +
}
         159  +
impl S3OutputLocationBuilder {
         160  +
    /// <p>The Amazon Web Services Region of the S3 bucket.</p>
         161  +
    pub fn output_s3_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         162  +
        self.output_s3_region = ::std::option::Option::Some(input.into());
         163  +
        self
         164  +
    }
         165  +
    /// <p>The Amazon Web Services Region of the S3 bucket.</p>
         166  +
    pub fn set_output_s3_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         167  +
        self.output_s3_region = input;
         168  +
        self
         169  +
    }
         170  +
    /// <p>The Amazon Web Services Region of the S3 bucket.</p>
         171  +
    pub fn get_output_s3_region(&self) -> &::std::option::Option<::std::string::String> {
         172  +
        &self.output_s3_region
         173  +
    }
         174  +
    /// <p>The name of the S3 bucket.</p>
         175  +
    pub fn output_s3_bucket_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         176  +
        self.output_s3_bucket_name = ::std::option::Option::Some(input.into());
         177  +
        self
         178  +
    }
         179  +
    /// <p>The name of the S3 bucket.</p>
         180  +
    pub fn set_output_s3_bucket_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         181  +
        self.output_s3_bucket_name = input;
         182  +
        self
         183  +
    }
         184  +
    /// <p>The name of the S3 bucket.</p>
         185  +
    pub fn get_output_s3_bucket_name(&self) -> &::std::option::Option<::std::string::String> {
         186  +
        &self.output_s3_bucket_name
         187  +
    }
         188  +
    /// <p>The S3 bucket subfolder.</p>
         189  +
    pub fn output_s3_key_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         190  +
        self.output_s3_key_prefix = ::std::option::Option::Some(input.into());
         191  +
        self
         192  +
    }
         193  +
    /// <p>The S3 bucket subfolder.</p>
         194  +
    pub fn set_output_s3_key_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         195  +
        self.output_s3_key_prefix = input;
         196  +
        self
         197  +
    }
         198  +
    /// <p>The S3 bucket subfolder.</p>
         199  +
    pub fn get_output_s3_key_prefix(&self) -> &::std::option::Option<::std::string::String> {
         200  +
        &self.output_s3_key_prefix
         201  +
    }
         202  +
    /// Consumes the builder and constructs a [`S3OutputLocation`](crate::types::S3OutputLocation).
         203  +
    pub fn build(self) -> crate::types::S3OutputLocation {
         204  +
        crate::types::S3OutputLocation {
         205  +
            output_s3_region: self.output_s3_region,
         206  +
            output_s3_bucket_name: self.output_s3_bucket_name,
         207  +
            output_s3_key_prefix: self.output_s3_key_prefix,
         208  +
        }
         209  +
    }
         210  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_s3_output_url.rs

@@ -0,1 +0,116 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>A URL for the Amazon Web Services Systems Manager (Systems Manager) bucket where you want to store the results of this request.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct S3OutputUrl {
           7  +
    /// <p>A URL for an S3 bucket where you want to store the results of this request.</p>
           8  +
    pub output_url: ::std::option::Option<::std::string::String>,
           9  +
}
          10  +
impl S3OutputUrl {
          11  +
    /// <p>A URL for an S3 bucket where you want to store the results of this request.</p>
          12  +
    pub fn output_url(&self) -> ::std::option::Option<&str> {
          13  +
        self.output_url.as_deref()
          14  +
    }
          15  +
}
          16  +
static S3OUTPUTURL_MEMBER_OUTPUT_URL: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          17  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#S3OutputUrl$OutputUrl", "com.amazonaws.ssm", "S3OutputUrl"),
          18  +
    ::aws_smithy_schema::ShapeType::String,
          19  +
    "OutputUrl",
          20  +
    0,
          21  +
);
          22  +
static S3OUTPUTURL_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          23  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#S3OutputUrl", "com.amazonaws.ssm", "S3OutputUrl"),
          24  +
    ::aws_smithy_schema::ShapeType::Structure,
          25  +
    &[&S3OUTPUTURL_MEMBER_OUTPUT_URL],
          26  +
);
          27  +
impl S3OutputUrl {
          28  +
    /// The schema for this shape.
          29  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &S3OUTPUTURL_SCHEMA;
          30  +
}
          31  +
impl ::aws_smithy_schema::serde::SerializableStruct for S3OutputUrl {
          32  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          33  +
    fn serialize_members(
          34  +
        &self,
          35  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          36  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          37  +
        if let Some(ref val) = self.output_url {
          38  +
            ser.write_string(&S3OUTPUTURL_MEMBER_OUTPUT_URL, val)?;
          39  +
        }
          40  +
        Ok(())
          41  +
    }
          42  +
}
          43  +
impl S3OutputUrl {
          44  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          45  +
    pub fn deserialize(
          46  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          47  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          48  +
        #[allow(unused_variables, unused_mut)]
          49  +
        let mut builder = Self::builder();
          50  +
        #[allow(
          51  +
            unused_variables,
          52  +
            unreachable_code,
          53  +
            clippy::single_match,
          54  +
            clippy::match_single_binding,
          55  +
            clippy::diverging_sub_expression
          56  +
        )]
          57  +
        deserializer.read_struct(&S3OUTPUTURL_SCHEMA, &mut |member, deser| {
          58  +
            match member.member_index() {
          59  +
                Some(0) => {
          60  +
                    if deser.is_null() {
          61  +
                        deser.read_null()?;
          62  +
                    } else {
          63  +
                        builder.output_url = Some(deser.read_string(member)?);
          64  +
                    }
          65  +
                }
          66  +
                _ => {}
          67  +
            }
          68  +
            Ok(())
          69  +
        })?;
          70  +
        Ok(builder.build())
          71  +
    }
          72  +
}
          73  +
impl S3OutputUrl {
          74  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          75  +
    pub fn deserialize_with_response(
          76  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          77  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          78  +
        _status: u16,
          79  +
        _body: &[u8],
          80  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          81  +
        Self::deserialize(deserializer)
          82  +
    }
          83  +
}
          84  +
impl S3OutputUrl {
          85  +
    /// Creates a new builder-style object to manufacture [`S3OutputUrl`](crate::types::S3OutputUrl).
          86  +
    pub fn builder() -> crate::types::builders::S3OutputUrlBuilder {
          87  +
        crate::types::builders::S3OutputUrlBuilder::default()
          88  +
    }
          89  +
}
          90  +
          91  +
/// A builder for [`S3OutputUrl`](crate::types::S3OutputUrl).
          92  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
          93  +
#[non_exhaustive]
          94  +
pub struct S3OutputUrlBuilder {
          95  +
    pub(crate) output_url: ::std::option::Option<::std::string::String>,
          96  +
}
          97  +
impl S3OutputUrlBuilder {
          98  +
    /// <p>A URL for an S3 bucket where you want to store the results of this request.</p>
          99  +
    pub fn output_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         100  +
        self.output_url = ::std::option::Option::Some(input.into());
         101  +
        self
         102  +
    }
         103  +
    /// <p>A URL for an S3 bucket where you want to store the results of this request.</p>
         104  +
    pub fn set_output_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         105  +
        self.output_url = input;
         106  +
        self
         107  +
    }
         108  +
    /// <p>A URL for an S3 bucket where you want to store the results of this request.</p>
         109  +
    pub fn get_output_url(&self) -> &::std::option::Option<::std::string::String> {
         110  +
        &self.output_url
         111  +
    }
         112  +
    /// Consumes the builder and constructs a [`S3OutputUrl`](crate::types::S3OutputUrl).
         113  +
    pub fn build(self) -> crate::types::S3OutputUrl {
         114  +
        crate::types::S3OutputUrl { output_url: self.output_url }
         115  +
    }
         116  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_scheduled_window_execution.rs

@@ -0,1 +0,214 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Information about a scheduled execution for a maintenance window.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct ScheduledWindowExecution {
           7  +
    /// <p>The ID of the maintenance window to be run.</p>
           8  +
    pub window_id: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The name of the maintenance window to be run.</p>
          10  +
    pub name: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>
          12  +
    pub execution_time: ::std::option::Option<::std::string::String>,
          13  +
}
          14  +
impl ScheduledWindowExecution {
          15  +
    /// <p>The ID of the maintenance window to be run.</p>
          16  +
    pub fn window_id(&self) -> ::std::option::Option<&str> {
          17  +
        self.window_id.as_deref()
          18  +
    }
          19  +
    /// <p>The name of the maintenance window to be run.</p>
          20  +
    pub fn name(&self) -> ::std::option::Option<&str> {
          21  +
        self.name.as_deref()
          22  +
    }
          23  +
    /// <p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>
          24  +
    pub fn execution_time(&self) -> ::std::option::Option<&str> {
          25  +
        self.execution_time.as_deref()
          26  +
    }
          27  +
}
          28  +
static SCHEDULEDWINDOWEXECUTION_MEMBER_WINDOW_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          29  +
    ::aws_smithy_schema::ShapeId::from_parts(
          30  +
        "com.amazonaws.ssm#ScheduledWindowExecution$WindowId",
          31  +
        "com.amazonaws.ssm",
          32  +
        "ScheduledWindowExecution",
          33  +
    ),
          34  +
    ::aws_smithy_schema::ShapeType::String,
          35  +
    "WindowId",
          36  +
    0,
          37  +
);
          38  +
static SCHEDULEDWINDOWEXECUTION_MEMBER_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          39  +
    ::aws_smithy_schema::ShapeId::from_parts(
          40  +
        "com.amazonaws.ssm#ScheduledWindowExecution$Name",
          41  +
        "com.amazonaws.ssm",
          42  +
        "ScheduledWindowExecution",
          43  +
    ),
          44  +
    ::aws_smithy_schema::ShapeType::String,
          45  +
    "Name",
          46  +
    1,
          47  +
);
          48  +
static SCHEDULEDWINDOWEXECUTION_MEMBER_EXECUTION_TIME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          49  +
    ::aws_smithy_schema::ShapeId::from_parts(
          50  +
        "com.amazonaws.ssm#ScheduledWindowExecution$ExecutionTime",
          51  +
        "com.amazonaws.ssm",
          52  +
        "ScheduledWindowExecution",
          53  +
    ),
          54  +
    ::aws_smithy_schema::ShapeType::String,
          55  +
    "ExecutionTime",
          56  +
    2,
          57  +
);
          58  +
static SCHEDULEDWINDOWEXECUTION_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          59  +
    ::aws_smithy_schema::ShapeId::from_parts(
          60  +
        "com.amazonaws.ssm#ScheduledWindowExecution",
          61  +
        "com.amazonaws.ssm",
          62  +
        "ScheduledWindowExecution",
          63  +
    ),
          64  +
    ::aws_smithy_schema::ShapeType::Structure,
          65  +
    &[
          66  +
        &SCHEDULEDWINDOWEXECUTION_MEMBER_WINDOW_ID,
          67  +
        &SCHEDULEDWINDOWEXECUTION_MEMBER_NAME,
          68  +
        &SCHEDULEDWINDOWEXECUTION_MEMBER_EXECUTION_TIME,
          69  +
    ],
          70  +
);
          71  +
impl ScheduledWindowExecution {
          72  +
    /// The schema for this shape.
          73  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &SCHEDULEDWINDOWEXECUTION_SCHEMA;
          74  +
}
          75  +
impl ::aws_smithy_schema::serde::SerializableStruct for ScheduledWindowExecution {
          76  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          77  +
    fn serialize_members(
          78  +
        &self,
          79  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          80  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          81  +
        if let Some(ref val) = self.window_id {
          82  +
            ser.write_string(&SCHEDULEDWINDOWEXECUTION_MEMBER_WINDOW_ID, val)?;
          83  +
        }
          84  +
        if let Some(ref val) = self.name {
          85  +
            ser.write_string(&SCHEDULEDWINDOWEXECUTION_MEMBER_NAME, val)?;
          86  +
        }
          87  +
        if let Some(ref val) = self.execution_time {
          88  +
            ser.write_string(&SCHEDULEDWINDOWEXECUTION_MEMBER_EXECUTION_TIME, val)?;
          89  +
        }
          90  +
        Ok(())
          91  +
    }
          92  +
}
          93  +
impl ScheduledWindowExecution {
          94  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          95  +
    pub fn deserialize(
          96  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          97  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          98  +
        #[allow(unused_variables, unused_mut)]
          99  +
        let mut builder = Self::builder();
         100  +
        #[allow(
         101  +
            unused_variables,
         102  +
            unreachable_code,
         103  +
            clippy::single_match,
         104  +
            clippy::match_single_binding,
         105  +
            clippy::diverging_sub_expression
         106  +
        )]
         107  +
        deserializer.read_struct(&SCHEDULEDWINDOWEXECUTION_SCHEMA, &mut |member, deser| {
         108  +
            match member.member_index() {
         109  +
                Some(0) => {
         110  +
                    if deser.is_null() {
         111  +
                        deser.read_null()?;
         112  +
                    } else {
         113  +
                        builder.window_id = Some(deser.read_string(member)?);
         114  +
                    }
         115  +
                }
         116  +
                Some(1) => {
         117  +
                    if deser.is_null() {
         118  +
                        deser.read_null()?;
         119  +
                    } else {
         120  +
                        builder.name = Some(deser.read_string(member)?);
         121  +
                    }
         122  +
                }
         123  +
                Some(2) => {
         124  +
                    if deser.is_null() {
         125  +
                        deser.read_null()?;
         126  +
                    } else {
         127  +
                        builder.execution_time = Some(deser.read_string(member)?);
         128  +
                    }
         129  +
                }
         130  +
                _ => {}
         131  +
            }
         132  +
            Ok(())
         133  +
        })?;
         134  +
        Ok(builder.build())
         135  +
    }
         136  +
}
         137  +
impl ScheduledWindowExecution {
         138  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         139  +
    pub fn deserialize_with_response(
         140  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         141  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         142  +
        _status: u16,
         143  +
        _body: &[u8],
         144  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         145  +
        Self::deserialize(deserializer)
         146  +
    }
         147  +
}
         148  +
impl ScheduledWindowExecution {
         149  +
    /// Creates a new builder-style object to manufacture [`ScheduledWindowExecution`](crate::types::ScheduledWindowExecution).
         150  +
    pub fn builder() -> crate::types::builders::ScheduledWindowExecutionBuilder {
         151  +
        crate::types::builders::ScheduledWindowExecutionBuilder::default()
         152  +
    }
         153  +
}
         154  +
         155  +
/// A builder for [`ScheduledWindowExecution`](crate::types::ScheduledWindowExecution).
         156  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         157  +
#[non_exhaustive]
         158  +
pub struct ScheduledWindowExecutionBuilder {
         159  +
    pub(crate) window_id: ::std::option::Option<::std::string::String>,
         160  +
    pub(crate) name: ::std::option::Option<::std::string::String>,
         161  +
    pub(crate) execution_time: ::std::option::Option<::std::string::String>,
         162  +
}
         163  +
impl ScheduledWindowExecutionBuilder {
         164  +
    /// <p>The ID of the maintenance window to be run.</p>
         165  +
    pub fn window_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         166  +
        self.window_id = ::std::option::Option::Some(input.into());
         167  +
        self
         168  +
    }
         169  +
    /// <p>The ID of the maintenance window to be run.</p>
         170  +
    pub fn set_window_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         171  +
        self.window_id = input;
         172  +
        self
         173  +
    }
         174  +
    /// <p>The ID of the maintenance window to be run.</p>
         175  +
    pub fn get_window_id(&self) -> &::std::option::Option<::std::string::String> {
         176  +
        &self.window_id
         177  +
    }
         178  +
    /// <p>The name of the maintenance window to be run.</p>
         179  +
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         180  +
        self.name = ::std::option::Option::Some(input.into());
         181  +
        self
         182  +
    }
         183  +
    /// <p>The name of the maintenance window to be run.</p>
         184  +
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         185  +
        self.name = input;
         186  +
        self
         187  +
    }
         188  +
    /// <p>The name of the maintenance window to be run.</p>
         189  +
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
         190  +
        &self.name
         191  +
    }
         192  +
    /// <p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>
         193  +
    pub fn execution_time(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         194  +
        self.execution_time = ::std::option::Option::Some(input.into());
         195  +
        self
         196  +
    }
         197  +
    /// <p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>
         198  +
    pub fn set_execution_time(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         199  +
        self.execution_time = input;
         200  +
        self
         201  +
    }
         202  +
    /// <p>The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.</p>
         203  +
    pub fn get_execution_time(&self) -> &::std::option::Option<::std::string::String> {
         204  +
        &self.execution_time
         205  +
    }
         206  +
    /// Consumes the builder and constructs a [`ScheduledWindowExecution`](crate::types::ScheduledWindowExecution).
         207  +
    pub fn build(self) -> crate::types::ScheduledWindowExecution {
         208  +
        crate::types::ScheduledWindowExecution {
         209  +
            window_id: self.window_id,
         210  +
            name: self.name,
         211  +
            execution_time: self.execution_time,
         212  +
        }
         213  +
    }
         214  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_service_setting.rs

@@ -0,1 +0,357 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>The service setting data structure.</p>
           4  +
/// <p><code>ServiceSetting</code> is an account-level setting for an Amazon Web Services service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services service team might create a default setting of "false". This means the user can't use this feature unless they change the setting to "true" and intentionally opt in for a paid feature.</p>
           5  +
/// <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>, but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code> permission for the setting. Use the <code>UpdateServiceSetting</code> API operation to change the default setting. Or, use the <code>ResetServiceSetting</code> to change the value back to the original value defined by the Amazon Web Services service team.</p>
           6  +
#[non_exhaustive]
           7  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           8  +
pub struct ServiceSetting {
           9  +
    /// <p>The ID of the service setting.</p>
          10  +
    pub setting_id: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The value of the service setting.</p>
          12  +
    pub setting_value: ::std::option::Option<::std::string::String>,
          13  +
    /// <p>The last time the service setting was modified.</p>
          14  +
    pub last_modified_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          15  +
    /// <p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>
          16  +
    pub last_modified_user: ::std::option::Option<::std::string::String>,
          17  +
    /// <p>The ARN of the service setting.</p>
          18  +
    pub arn: ::std::option::Option<::std::string::String>,
          19  +
    /// <p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p>
          20  +
    /// <ul>
          21  +
    /// <li>
          22  +
    /// <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p></li>
          23  +
    /// <li>
          24  +
    /// <p>Customized: The current setting use a custom value specified by the customer.</p></li>
          25  +
    /// <li>
          26  +
    /// <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p></li>
          27  +
    /// </ul>
          28  +
    pub status: ::std::option::Option<::std::string::String>,
          29  +
}
          30  +
impl ServiceSetting {
          31  +
    /// <p>The ID of the service setting.</p>
          32  +
    pub fn setting_id(&self) -> ::std::option::Option<&str> {
          33  +
        self.setting_id.as_deref()
          34  +
    }
          35  +
    /// <p>The value of the service setting.</p>
          36  +
    pub fn setting_value(&self) -> ::std::option::Option<&str> {
          37  +
        self.setting_value.as_deref()
          38  +
    }
          39  +
    /// <p>The last time the service setting was modified.</p>
          40  +
    pub fn last_modified_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          41  +
        self.last_modified_date.as_ref()
          42  +
    }
          43  +
    /// <p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>
          44  +
    pub fn last_modified_user(&self) -> ::std::option::Option<&str> {
          45  +
        self.last_modified_user.as_deref()
          46  +
    }
          47  +
    /// <p>The ARN of the service setting.</p>
          48  +
    pub fn arn(&self) -> ::std::option::Option<&str> {
          49  +
        self.arn.as_deref()
          50  +
    }
          51  +
    /// <p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p>
          52  +
    /// <ul>
          53  +
    /// <li>
          54  +
    /// <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p></li>
          55  +
    /// <li>
          56  +
    /// <p>Customized: The current setting use a custom value specified by the customer.</p></li>
          57  +
    /// <li>
          58  +
    /// <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p></li>
          59  +
    /// </ul>
          60  +
    pub fn status(&self) -> ::std::option::Option<&str> {
          61  +
        self.status.as_deref()
          62  +
    }
          63  +
}
          64  +
static SERVICESETTING_MEMBER_SETTING_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          65  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$SettingId", "com.amazonaws.ssm", "ServiceSetting"),
          66  +
    ::aws_smithy_schema::ShapeType::String,
          67  +
    "SettingId",
          68  +
    0,
          69  +
);
          70  +
static SERVICESETTING_MEMBER_SETTING_VALUE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          71  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$SettingValue", "com.amazonaws.ssm", "ServiceSetting"),
          72  +
    ::aws_smithy_schema::ShapeType::String,
          73  +
    "SettingValue",
          74  +
    1,
          75  +
);
          76  +
static SERVICESETTING_MEMBER_LAST_MODIFIED_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          77  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$LastModifiedDate", "com.amazonaws.ssm", "ServiceSetting"),
          78  +
    ::aws_smithy_schema::ShapeType::Timestamp,
          79  +
    "LastModifiedDate",
          80  +
    2,
          81  +
);
          82  +
static SERVICESETTING_MEMBER_LAST_MODIFIED_USER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          83  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$LastModifiedUser", "com.amazonaws.ssm", "ServiceSetting"),
          84  +
    ::aws_smithy_schema::ShapeType::String,
          85  +
    "LastModifiedUser",
          86  +
    3,
          87  +
);
          88  +
static SERVICESETTING_MEMBER_ARN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          89  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$ARN", "com.amazonaws.ssm", "ServiceSetting"),
          90  +
    ::aws_smithy_schema::ShapeType::String,
          91  +
    "ARN",
          92  +
    4,
          93  +
);
          94  +
static SERVICESETTING_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          95  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting$Status", "com.amazonaws.ssm", "ServiceSetting"),
          96  +
    ::aws_smithy_schema::ShapeType::String,
          97  +
    "Status",
          98  +
    5,
          99  +
);
         100  +
static SERVICESETTING_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         101  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#ServiceSetting", "com.amazonaws.ssm", "ServiceSetting"),
         102  +
    ::aws_smithy_schema::ShapeType::Structure,
         103  +
    &[
         104  +
        &SERVICESETTING_MEMBER_SETTING_ID,
         105  +
        &SERVICESETTING_MEMBER_SETTING_VALUE,
         106  +
        &SERVICESETTING_MEMBER_LAST_MODIFIED_DATE,
         107  +
        &SERVICESETTING_MEMBER_LAST_MODIFIED_USER,
         108  +
        &SERVICESETTING_MEMBER_ARN,
         109  +
        &SERVICESETTING_MEMBER_STATUS,
         110  +
    ],
         111  +
);
         112  +
impl ServiceSetting {
         113  +
    /// The schema for this shape.
         114  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &SERVICESETTING_SCHEMA;
         115  +
}
         116  +
impl ::aws_smithy_schema::serde::SerializableStruct for ServiceSetting {
         117  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         118  +
    fn serialize_members(
         119  +
        &self,
         120  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         121  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         122  +
        if let Some(ref val) = self.setting_id {
         123  +
            ser.write_string(&SERVICESETTING_MEMBER_SETTING_ID, val)?;
         124  +
        }
         125  +
        if let Some(ref val) = self.setting_value {
         126  +
            ser.write_string(&SERVICESETTING_MEMBER_SETTING_VALUE, val)?;
         127  +
        }
         128  +
        if let Some(ref val) = self.last_modified_date {
         129  +
            ser.write_timestamp(&SERVICESETTING_MEMBER_LAST_MODIFIED_DATE, val)?;
         130  +
        }
         131  +
        if let Some(ref val) = self.last_modified_user {
         132  +
            ser.write_string(&SERVICESETTING_MEMBER_LAST_MODIFIED_USER, val)?;
         133  +
        }
         134  +
        if let Some(ref val) = self.arn {
         135  +
            ser.write_string(&SERVICESETTING_MEMBER_ARN, val)?;
         136  +
        }
         137  +
        if let Some(ref val) = self.status {
         138  +
            ser.write_string(&SERVICESETTING_MEMBER_STATUS, val)?;
         139  +
        }
         140  +
        Ok(())
         141  +
    }
         142  +
}
         143  +
impl ServiceSetting {
         144  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         145  +
    pub fn deserialize(
         146  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         147  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         148  +
        #[allow(unused_variables, unused_mut)]
         149  +
        let mut builder = Self::builder();
         150  +
        #[allow(
         151  +
            unused_variables,
         152  +
            unreachable_code,
         153  +
            clippy::single_match,
         154  +
            clippy::match_single_binding,
         155  +
            clippy::diverging_sub_expression
         156  +
        )]
         157  +
        deserializer.read_struct(&SERVICESETTING_SCHEMA, &mut |member, deser| {
         158  +
            match member.member_index() {
         159  +
                Some(0) => {
         160  +
                    if deser.is_null() {
         161  +
                        deser.read_null()?;
         162  +
                    } else {
         163  +
                        builder.setting_id = Some(deser.read_string(member)?);
         164  +
                    }
         165  +
                }
         166  +
                Some(1) => {
         167  +
                    if deser.is_null() {
         168  +
                        deser.read_null()?;
         169  +
                    } else {
         170  +
                        builder.setting_value = Some(deser.read_string(member)?);
         171  +
                    }
         172  +
                }
         173  +
                Some(2) => {
         174  +
                    if deser.is_null() {
         175  +
                        deser.read_null()?;
         176  +
                    } else {
         177  +
                        builder.last_modified_date = Some(deser.read_timestamp(member)?);
         178  +
                    }
         179  +
                }
         180  +
                Some(3) => {
         181  +
                    if deser.is_null() {
         182  +
                        deser.read_null()?;
         183  +
                    } else {
         184  +
                        builder.last_modified_user = Some(deser.read_string(member)?);
         185  +
                    }
         186  +
                }
         187  +
                Some(4) => {
         188  +
                    if deser.is_null() {
         189  +
                        deser.read_null()?;
         190  +
                    } else {
         191  +
                        builder.arn = Some(deser.read_string(member)?);
         192  +
                    }
         193  +
                }
         194  +
                Some(5) => {
         195  +
                    if deser.is_null() {
         196  +
                        deser.read_null()?;
         197  +
                    } else {
         198  +
                        builder.status = Some(deser.read_string(member)?);
         199  +
                    }
         200  +
                }
         201  +
                _ => {}
         202  +
            }
         203  +
            Ok(())
         204  +
        })?;
         205  +
        Ok(builder.build())
         206  +
    }
         207  +
}
         208  +
impl ServiceSetting {
         209  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         210  +
    pub fn deserialize_with_response(
         211  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         212  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         213  +
        _status: u16,
         214  +
        _body: &[u8],
         215  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         216  +
        Self::deserialize(deserializer)
         217  +
    }
         218  +
}
         219  +
impl ServiceSetting {
         220  +
    /// Creates a new builder-style object to manufacture [`ServiceSetting`](crate::types::ServiceSetting).
         221  +
    pub fn builder() -> crate::types::builders::ServiceSettingBuilder {
         222  +
        crate::types::builders::ServiceSettingBuilder::default()
         223  +
    }
         224  +
}
         225  +
         226  +
/// A builder for [`ServiceSetting`](crate::types::ServiceSetting).
         227  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         228  +
#[non_exhaustive]
         229  +
pub struct ServiceSettingBuilder {
         230  +
    pub(crate) setting_id: ::std::option::Option<::std::string::String>,
         231  +
    pub(crate) setting_value: ::std::option::Option<::std::string::String>,
         232  +
    pub(crate) last_modified_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         233  +
    pub(crate) last_modified_user: ::std::option::Option<::std::string::String>,
         234  +
    pub(crate) arn: ::std::option::Option<::std::string::String>,
         235  +
    pub(crate) status: ::std::option::Option<::std::string::String>,
         236  +
}
         237  +
impl ServiceSettingBuilder {
         238  +
    /// <p>The ID of the service setting.</p>
         239  +
    pub fn setting_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         240  +
        self.setting_id = ::std::option::Option::Some(input.into());
         241  +
        self
         242  +
    }
         243  +
    /// <p>The ID of the service setting.</p>
         244  +
    pub fn set_setting_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         245  +
        self.setting_id = input;
         246  +
        self
         247  +
    }
         248  +
    /// <p>The ID of the service setting.</p>
         249  +
    pub fn get_setting_id(&self) -> &::std::option::Option<::std::string::String> {
         250  +
        &self.setting_id
         251  +
    }
         252  +
    /// <p>The value of the service setting.</p>
         253  +
    pub fn setting_value(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         254  +
        self.setting_value = ::std::option::Option::Some(input.into());
         255  +
        self
         256  +
    }
         257  +
    /// <p>The value of the service setting.</p>
         258  +
    pub fn set_setting_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         259  +
        self.setting_value = input;
         260  +
        self
         261  +
    }
         262  +
    /// <p>The value of the service setting.</p>
         263  +
    pub fn get_setting_value(&self) -> &::std::option::Option<::std::string::String> {
         264  +
        &self.setting_value
         265  +
    }
         266  +
    /// <p>The last time the service setting was modified.</p>
         267  +
    pub fn last_modified_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         268  +
        self.last_modified_date = ::std::option::Option::Some(input);
         269  +
        self
         270  +
    }
         271  +
    /// <p>The last time the service setting was modified.</p>
         272  +
    pub fn set_last_modified_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         273  +
        self.last_modified_date = input;
         274  +
        self
         275  +
    }
         276  +
    /// <p>The last time the service setting was modified.</p>
         277  +
    pub fn get_last_modified_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         278  +
        &self.last_modified_date
         279  +
    }
         280  +
    /// <p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>
         281  +
    pub fn last_modified_user(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         282  +
        self.last_modified_user = ::std::option::Option::Some(input.into());
         283  +
        self
         284  +
    }
         285  +
    /// <p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>
         286  +
    pub fn set_last_modified_user(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         287  +
        self.last_modified_user = input;
         288  +
        self
         289  +
    }
         290  +
    /// <p>The ARN of the last modified user. This field is populated only if the setting value was overwritten.</p>
         291  +
    pub fn get_last_modified_user(&self) -> &::std::option::Option<::std::string::String> {
         292  +
        &self.last_modified_user
         293  +
    }
         294  +
    /// <p>The ARN of the service setting.</p>
         295  +
    pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         296  +
        self.arn = ::std::option::Option::Some(input.into());
         297  +
        self
         298  +
    }
         299  +
    /// <p>The ARN of the service setting.</p>
         300  +
    pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         301  +
        self.arn = input;
         302  +
        self
         303  +
    }
         304  +
    /// <p>The ARN of the service setting.</p>
         305  +
    pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
         306  +
        &self.arn
         307  +
    }
         308  +
    /// <p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p>
         309  +
    /// <ul>
         310  +
    /// <li>
         311  +
    /// <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p></li>
         312  +
    /// <li>
         313  +
    /// <p>Customized: The current setting use a custom value specified by the customer.</p></li>
         314  +
    /// <li>
         315  +
    /// <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p></li>
         316  +
    /// </ul>
         317  +
    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         318  +
        self.status = ::std::option::Option::Some(input.into());
         319  +
        self
         320  +
    }
         321  +
    /// <p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p>
         322  +
    /// <ul>
         323  +
    /// <li>
         324  +
    /// <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p></li>
         325  +
    /// <li>
         326  +
    /// <p>Customized: The current setting use a custom value specified by the customer.</p></li>
         327  +
    /// <li>
         328  +
    /// <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p></li>
         329  +
    /// </ul>
         330  +
    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         331  +
        self.status = input;
         332  +
        self
         333  +
    }
         334  +
    /// <p>The status of the service setting. The value can be Default, Customized or PendingUpdate.</p>
         335  +
    /// <ul>
         336  +
    /// <li>
         337  +
    /// <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service team.</p></li>
         338  +
    /// <li>
         339  +
    /// <p>Customized: The current setting use a custom value specified by the customer.</p></li>
         340  +
    /// <li>
         341  +
    /// <p>PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.</p></li>
         342  +
    /// </ul>
         343  +
    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
         344  +
        &self.status
         345  +
    }
         346  +
    /// Consumes the builder and constructs a [`ServiceSetting`](crate::types::ServiceSetting).
         347  +
    pub fn build(self) -> crate::types::ServiceSetting {
         348  +
        crate::types::ServiceSetting {
         349  +
            setting_id: self.setting_id,
         350  +
            setting_value: self.setting_value,
         351  +
            last_modified_date: self.last_modified_date,
         352  +
            last_modified_user: self.last_modified_user,
         353  +
            arn: self.arn,
         354  +
            status: self.status,
         355  +
        }
         356  +
    }
         357  +
}

tmp-codegen-diff/aws-sdk/sdk/ssm/src/types/_session.rs

@@ -0,1 +0,549 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
/// <p>Information about a Session Manager connection to a managed node.</p>
           4  +
#[non_exhaustive]
           5  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
           6  +
pub struct Session {
           7  +
    /// <p>The ID of the session.</p>
           8  +
    pub session_id: ::std::option::Option<::std::string::String>,
           9  +
    /// <p>The managed node that the Session Manager session connected to.</p>
          10  +
    pub target: ::std::option::Option<::std::string::String>,
          11  +
    /// <p>The status of the session. For example, "Connected" or "Terminated".</p>
          12  +
    pub status: ::std::option::Option<crate::types::SessionStatus>,
          13  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session began.</p>
          14  +
    pub start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          15  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>
          16  +
    pub end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
          17  +
    /// <p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>
          18  +
    pub document_name: ::std::option::Option<::std::string::String>,
          19  +
    /// <p>The ID of the Amazon Web Services user that started the session.</p>
          20  +
    pub owner: ::std::option::Option<::std::string::String>,
          21  +
    /// <p>The reason for connecting to the instance.</p>
          22  +
    pub reason: ::std::option::Option<::std::string::String>,
          23  +
    /// <p>Reserved for future use.</p>
          24  +
    pub details: ::std::option::Option<::std::string::String>,
          25  +
    /// <p>Reserved for future use.</p>
          26  +
    pub output_url: ::std::option::Option<crate::types::SessionManagerOutputUrl>,
          27  +
    /// <p>The maximum duration of a session before it terminates.</p>
          28  +
    pub max_session_duration: ::std::option::Option<::std::string::String>,
          29  +
    /// <p><code>Standard</code> access type is the default for Session Manager sessions. <code>JustInTime</code> is the access type for <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-just-in-time-node-access.html">Just-in-time node access</a>.</p>
          30  +
    pub access_type: ::std::option::Option<crate::types::AccessType>,
          31  +
}
          32  +
impl Session {
          33  +
    /// <p>The ID of the session.</p>
          34  +
    pub fn session_id(&self) -> ::std::option::Option<&str> {
          35  +
        self.session_id.as_deref()
          36  +
    }
          37  +
    /// <p>The managed node that the Session Manager session connected to.</p>
          38  +
    pub fn target(&self) -> ::std::option::Option<&str> {
          39  +
        self.target.as_deref()
          40  +
    }
          41  +
    /// <p>The status of the session. For example, "Connected" or "Terminated".</p>
          42  +
    pub fn status(&self) -> ::std::option::Option<&crate::types::SessionStatus> {
          43  +
        self.status.as_ref()
          44  +
    }
          45  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session began.</p>
          46  +
    pub fn start_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          47  +
        self.start_date.as_ref()
          48  +
    }
          49  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>
          50  +
    pub fn end_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
          51  +
        self.end_date.as_ref()
          52  +
    }
          53  +
    /// <p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>
          54  +
    pub fn document_name(&self) -> ::std::option::Option<&str> {
          55  +
        self.document_name.as_deref()
          56  +
    }
          57  +
    /// <p>The ID of the Amazon Web Services user that started the session.</p>
          58  +
    pub fn owner(&self) -> ::std::option::Option<&str> {
          59  +
        self.owner.as_deref()
          60  +
    }
          61  +
    /// <p>The reason for connecting to the instance.</p>
          62  +
    pub fn reason(&self) -> ::std::option::Option<&str> {
          63  +
        self.reason.as_deref()
          64  +
    }
          65  +
    /// <p>Reserved for future use.</p>
          66  +
    pub fn details(&self) -> ::std::option::Option<&str> {
          67  +
        self.details.as_deref()
          68  +
    }
          69  +
    /// <p>Reserved for future use.</p>
          70  +
    pub fn output_url(&self) -> ::std::option::Option<&crate::types::SessionManagerOutputUrl> {
          71  +
        self.output_url.as_ref()
          72  +
    }
          73  +
    /// <p>The maximum duration of a session before it terminates.</p>
          74  +
    pub fn max_session_duration(&self) -> ::std::option::Option<&str> {
          75  +
        self.max_session_duration.as_deref()
          76  +
    }
          77  +
    /// <p><code>Standard</code> access type is the default for Session Manager sessions. <code>JustInTime</code> is the access type for <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-just-in-time-node-access.html">Just-in-time node access</a>.</p>
          78  +
    pub fn access_type(&self) -> ::std::option::Option<&crate::types::AccessType> {
          79  +
        self.access_type.as_ref()
          80  +
    }
          81  +
}
          82  +
static SESSION_MEMBER_SESSION_ID: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          83  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$SessionId", "com.amazonaws.ssm", "Session"),
          84  +
    ::aws_smithy_schema::ShapeType::String,
          85  +
    "SessionId",
          86  +
    0,
          87  +
);
          88  +
static SESSION_MEMBER_TARGET: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          89  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$Target", "com.amazonaws.ssm", "Session"),
          90  +
    ::aws_smithy_schema::ShapeType::String,
          91  +
    "Target",
          92  +
    1,
          93  +
);
          94  +
static SESSION_MEMBER_STATUS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          95  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$Status", "com.amazonaws.ssm", "Session"),
          96  +
    ::aws_smithy_schema::ShapeType::String,
          97  +
    "Status",
          98  +
    2,
          99  +
);
         100  +
static SESSION_MEMBER_START_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         101  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$StartDate", "com.amazonaws.ssm", "Session"),
         102  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         103  +
    "StartDate",
         104  +
    3,
         105  +
);
         106  +
static SESSION_MEMBER_END_DATE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         107  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$EndDate", "com.amazonaws.ssm", "Session"),
         108  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         109  +
    "EndDate",
         110  +
    4,
         111  +
);
         112  +
static SESSION_MEMBER_DOCUMENT_NAME: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         113  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$DocumentName", "com.amazonaws.ssm", "Session"),
         114  +
    ::aws_smithy_schema::ShapeType::String,
         115  +
    "DocumentName",
         116  +
    5,
         117  +
);
         118  +
static SESSION_MEMBER_OWNER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         119  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$Owner", "com.amazonaws.ssm", "Session"),
         120  +
    ::aws_smithy_schema::ShapeType::String,
         121  +
    "Owner",
         122  +
    6,
         123  +
);
         124  +
static SESSION_MEMBER_REASON: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         125  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$Reason", "com.amazonaws.ssm", "Session"),
         126  +
    ::aws_smithy_schema::ShapeType::String,
         127  +
    "Reason",
         128  +
    7,
         129  +
);
         130  +
static SESSION_MEMBER_DETAILS: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         131  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$Details", "com.amazonaws.ssm", "Session"),
         132  +
    ::aws_smithy_schema::ShapeType::String,
         133  +
    "Details",
         134  +
    8,
         135  +
);
         136  +
static SESSION_MEMBER_OUTPUT_URL: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         137  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$OutputUrl", "com.amazonaws.ssm", "Session"),
         138  +
    ::aws_smithy_schema::ShapeType::Structure,
         139  +
    "OutputUrl",
         140  +
    9,
         141  +
);
         142  +
static SESSION_MEMBER_MAX_SESSION_DURATION: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         143  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$MaxSessionDuration", "com.amazonaws.ssm", "Session"),
         144  +
    ::aws_smithy_schema::ShapeType::String,
         145  +
    "MaxSessionDuration",
         146  +
    10,
         147  +
);
         148  +
static SESSION_MEMBER_ACCESS_TYPE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         149  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session$AccessType", "com.amazonaws.ssm", "Session"),
         150  +
    ::aws_smithy_schema::ShapeType::String,
         151  +
    "AccessType",
         152  +
    11,
         153  +
);
         154  +
static SESSION_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         155  +
    ::aws_smithy_schema::ShapeId::from_parts("com.amazonaws.ssm#Session", "com.amazonaws.ssm", "Session"),
         156  +
    ::aws_smithy_schema::ShapeType::Structure,
         157  +
    &[
         158  +
        &SESSION_MEMBER_SESSION_ID,
         159  +
        &SESSION_MEMBER_TARGET,
         160  +
        &SESSION_MEMBER_STATUS,
         161  +
        &SESSION_MEMBER_START_DATE,
         162  +
        &SESSION_MEMBER_END_DATE,
         163  +
        &SESSION_MEMBER_DOCUMENT_NAME,
         164  +
        &SESSION_MEMBER_OWNER,
         165  +
        &SESSION_MEMBER_REASON,
         166  +
        &SESSION_MEMBER_DETAILS,
         167  +
        &SESSION_MEMBER_OUTPUT_URL,
         168  +
        &SESSION_MEMBER_MAX_SESSION_DURATION,
         169  +
        &SESSION_MEMBER_ACCESS_TYPE,
         170  +
    ],
         171  +
);
         172  +
impl Session {
         173  +
    /// The schema for this shape.
         174  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &SESSION_SCHEMA;
         175  +
}
         176  +
impl ::aws_smithy_schema::serde::SerializableStruct for Session {
         177  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         178  +
    fn serialize_members(
         179  +
        &self,
         180  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         181  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         182  +
        if let Some(ref val) = self.session_id {
         183  +
            ser.write_string(&SESSION_MEMBER_SESSION_ID, val)?;
         184  +
        }
         185  +
        if let Some(ref val) = self.target {
         186  +
            ser.write_string(&SESSION_MEMBER_TARGET, val)?;
         187  +
        }
         188  +
        if let Some(ref val) = self.status {
         189  +
            ser.write_string(&SESSION_MEMBER_STATUS, val.as_str())?;
         190  +
        }
         191  +
        if let Some(ref val) = self.start_date {
         192  +
            ser.write_timestamp(&SESSION_MEMBER_START_DATE, val)?;
         193  +
        }
         194  +
        if let Some(ref val) = self.end_date {
         195  +
            ser.write_timestamp(&SESSION_MEMBER_END_DATE, val)?;
         196  +
        }
         197  +
        if let Some(ref val) = self.document_name {
         198  +
            ser.write_string(&SESSION_MEMBER_DOCUMENT_NAME, val)?;
         199  +
        }
         200  +
        if let Some(ref val) = self.owner {
         201  +
            ser.write_string(&SESSION_MEMBER_OWNER, val)?;
         202  +
        }
         203  +
        if let Some(ref val) = self.reason {
         204  +
            ser.write_string(&SESSION_MEMBER_REASON, val)?;
         205  +
        }
         206  +
        if let Some(ref val) = self.details {
         207  +
            ser.write_string(&SESSION_MEMBER_DETAILS, val)?;
         208  +
        }
         209  +
        if let Some(ref val) = self.output_url {
         210  +
            ser.write_struct(&SESSION_MEMBER_OUTPUT_URL, val)?;
         211  +
        }
         212  +
        if let Some(ref val) = self.max_session_duration {
         213  +
            ser.write_string(&SESSION_MEMBER_MAX_SESSION_DURATION, val)?;
         214  +
        }
         215  +
        if let Some(ref val) = self.access_type {
         216  +
            ser.write_string(&SESSION_MEMBER_ACCESS_TYPE, val.as_str())?;
         217  +
        }
         218  +
        Ok(())
         219  +
    }
         220  +
}
         221  +
impl Session {
         222  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         223  +
    pub fn deserialize(
         224  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         225  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         226  +
        #[allow(unused_variables, unused_mut)]
         227  +
        let mut builder = Self::builder();
         228  +
        #[allow(
         229  +
            unused_variables,
         230  +
            unreachable_code,
         231  +
            clippy::single_match,
         232  +
            clippy::match_single_binding,
         233  +
            clippy::diverging_sub_expression
         234  +
        )]
         235  +
        deserializer.read_struct(&SESSION_SCHEMA, &mut |member, deser| {
         236  +
            match member.member_index() {
         237  +
                Some(0) => {
         238  +
                    if deser.is_null() {
         239  +
                        deser.read_null()?;
         240  +
                    } else {
         241  +
                        builder.session_id = Some(deser.read_string(member)?);
         242  +
                    }
         243  +
                }
         244  +
                Some(1) => {
         245  +
                    if deser.is_null() {
         246  +
                        deser.read_null()?;
         247  +
                    } else {
         248  +
                        builder.target = Some(deser.read_string(member)?);
         249  +
                    }
         250  +
                }
         251  +
                Some(2) => {
         252  +
                    if deser.is_null() {
         253  +
                        deser.read_null()?;
         254  +
                    } else {
         255  +
                        builder.status = Some(crate::types::SessionStatus::from(deser.read_string(member)?.as_str()));
         256  +
                    }
         257  +
                }
         258  +
                Some(3) => {
         259  +
                    if deser.is_null() {
         260  +
                        deser.read_null()?;
         261  +
                    } else {
         262  +
                        builder.start_date = Some(deser.read_timestamp(member)?);
         263  +
                    }
         264  +
                }
         265  +
                Some(4) => {
         266  +
                    if deser.is_null() {
         267  +
                        deser.read_null()?;
         268  +
                    } else {
         269  +
                        builder.end_date = Some(deser.read_timestamp(member)?);
         270  +
                    }
         271  +
                }
         272  +
                Some(5) => {
         273  +
                    if deser.is_null() {
         274  +
                        deser.read_null()?;
         275  +
                    } else {
         276  +
                        builder.document_name = Some(deser.read_string(member)?);
         277  +
                    }
         278  +
                }
         279  +
                Some(6) => {
         280  +
                    if deser.is_null() {
         281  +
                        deser.read_null()?;
         282  +
                    } else {
         283  +
                        builder.owner = Some(deser.read_string(member)?);
         284  +
                    }
         285  +
                }
         286  +
                Some(7) => {
         287  +
                    if deser.is_null() {
         288  +
                        deser.read_null()?;
         289  +
                    } else {
         290  +
                        builder.reason = Some(deser.read_string(member)?);
         291  +
                    }
         292  +
                }
         293  +
                Some(8) => {
         294  +
                    if deser.is_null() {
         295  +
                        deser.read_null()?;
         296  +
                    } else {
         297  +
                        builder.details = Some(deser.read_string(member)?);
         298  +
                    }
         299  +
                }
         300  +
                Some(9) => {
         301  +
                    if deser.is_null() {
         302  +
                        deser.read_null()?;
         303  +
                    } else {
         304  +
                        builder.output_url = Some(crate::types::SessionManagerOutputUrl::deserialize(deser)?);
         305  +
                    }
         306  +
                }
         307  +
                Some(10) => {
         308  +
                    if deser.is_null() {
         309  +
                        deser.read_null()?;
         310  +
                    } else {
         311  +
                        builder.max_session_duration = Some(deser.read_string(member)?);
         312  +
                    }
         313  +
                }
         314  +
                Some(11) => {
         315  +
                    if deser.is_null() {
         316  +
                        deser.read_null()?;
         317  +
                    } else {
         318  +
                        builder.access_type = Some(crate::types::AccessType::from(deser.read_string(member)?.as_str()));
         319  +
                    }
         320  +
                }
         321  +
                _ => {}
         322  +
            }
         323  +
            Ok(())
         324  +
        })?;
         325  +
        Ok(builder.build())
         326  +
    }
         327  +
}
         328  +
impl Session {
         329  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         330  +
    pub fn deserialize_with_response(
         331  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         332  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         333  +
        _status: u16,
         334  +
        _body: &[u8],
         335  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         336  +
        Self::deserialize(deserializer)
         337  +
    }
         338  +
}
         339  +
impl Session {
         340  +
    /// Creates a new builder-style object to manufacture [`Session`](crate::types::Session).
         341  +
    pub fn builder() -> crate::types::builders::SessionBuilder {
         342  +
        crate::types::builders::SessionBuilder::default()
         343  +
    }
         344  +
}
         345  +
         346  +
/// A builder for [`Session`](crate::types::Session).
         347  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
         348  +
#[non_exhaustive]
         349  +
pub struct SessionBuilder {
         350  +
    pub(crate) session_id: ::std::option::Option<::std::string::String>,
         351  +
    pub(crate) target: ::std::option::Option<::std::string::String>,
         352  +
    pub(crate) status: ::std::option::Option<crate::types::SessionStatus>,
         353  +
    pub(crate) start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         354  +
    pub(crate) end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
         355  +
    pub(crate) document_name: ::std::option::Option<::std::string::String>,
         356  +
    pub(crate) owner: ::std::option::Option<::std::string::String>,
         357  +
    pub(crate) reason: ::std::option::Option<::std::string::String>,
         358  +
    pub(crate) details: ::std::option::Option<::std::string::String>,
         359  +
    pub(crate) output_url: ::std::option::Option<crate::types::SessionManagerOutputUrl>,
         360  +
    pub(crate) max_session_duration: ::std::option::Option<::std::string::String>,
         361  +
    pub(crate) access_type: ::std::option::Option<crate::types::AccessType>,
         362  +
}
         363  +
impl SessionBuilder {
         364  +
    /// <p>The ID of the session.</p>
         365  +
    pub fn session_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         366  +
        self.session_id = ::std::option::Option::Some(input.into());
         367  +
        self
         368  +
    }
         369  +
    /// <p>The ID of the session.</p>
         370  +
    pub fn set_session_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         371  +
        self.session_id = input;
         372  +
        self
         373  +
    }
         374  +
    /// <p>The ID of the session.</p>
         375  +
    pub fn get_session_id(&self) -> &::std::option::Option<::std::string::String> {
         376  +
        &self.session_id
         377  +
    }
         378  +
    /// <p>The managed node that the Session Manager session connected to.</p>
         379  +
    pub fn target(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         380  +
        self.target = ::std::option::Option::Some(input.into());
         381  +
        self
         382  +
    }
         383  +
    /// <p>The managed node that the Session Manager session connected to.</p>
         384  +
    pub fn set_target(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         385  +
        self.target = input;
         386  +
        self
         387  +
    }
         388  +
    /// <p>The managed node that the Session Manager session connected to.</p>
         389  +
    pub fn get_target(&self) -> &::std::option::Option<::std::string::String> {
         390  +
        &self.target
         391  +
    }
         392  +
    /// <p>The status of the session. For example, "Connected" or "Terminated".</p>
         393  +
    pub fn status(mut self, input: crate::types::SessionStatus) -> Self {
         394  +
        self.status = ::std::option::Option::Some(input);
         395  +
        self
         396  +
    }
         397  +
    /// <p>The status of the session. For example, "Connected" or "Terminated".</p>
         398  +
    pub fn set_status(mut self, input: ::std::option::Option<crate::types::SessionStatus>) -> Self {
         399  +
        self.status = input;
         400  +
        self
         401  +
    }
         402  +
    /// <p>The status of the session. For example, "Connected" or "Terminated".</p>
         403  +
    pub fn get_status(&self) -> &::std::option::Option<crate::types::SessionStatus> {
         404  +
        &self.status
         405  +
    }
         406  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session began.</p>
         407  +
    pub fn start_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         408  +
        self.start_date = ::std::option::Option::Some(input);
         409  +
        self
         410  +
    }
         411  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session began.</p>
         412  +
    pub fn set_start_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         413  +
        self.start_date = input;
         414  +
        self
         415  +
    }
         416  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session began.</p>
         417  +
    pub fn get_start_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         418  +
        &self.start_date
         419  +
    }
         420  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>
         421  +
    pub fn end_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
         422  +
        self.end_date = ::std::option::Option::Some(input);
         423  +
        self
         424  +
    }
         425  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>
         426  +
    pub fn set_end_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
         427  +
        self.end_date = input;
         428  +
        self
         429  +
    }
         430  +
    /// <p>The date and time, in ISO-8601 Extended format, when the session was terminated.</p>
         431  +
    pub fn get_end_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
         432  +
        &self.end_date
         433  +
    }
         434  +
    /// <p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>
         435  +
    pub fn document_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         436  +
        self.document_name = ::std::option::Option::Some(input.into());
         437  +
        self
         438  +
    }
         439  +
    /// <p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>
         440  +
    pub fn set_document_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         441  +
        self.document_name = input;
         442  +
        self
         443  +
    }
         444  +
    /// <p>The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, <code>SSM-SessionManagerRunShell</code>.</p>
         445  +
    pub fn get_document_name(&self) -> &::std::option::Option<::std::string::String> {
         446  +
        &self.document_name
         447  +
    }
         448  +
    /// <p>The ID of the Amazon Web Services user that started the session.</p>
         449  +
    pub fn owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         450  +
        self.owner = ::std::option::Option::Some(input.into());
         451  +
        self
         452  +
    }
         453  +
    /// <p>The ID of the Amazon Web Services user that started the session.</p>
         454  +
    pub fn set_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         455  +
        self.owner = input;
         456  +
        self
         457  +
    }
         458  +
    /// <p>The ID of the Amazon Web Services user that started the session.</p>
         459  +
    pub fn get_owner(&self) -> &::std::option::Option<::std::string::String> {
         460  +
        &self.owner
         461  +
    }
         462  +
    /// <p>The reason for connecting to the instance.</p>
         463  +
    pub fn reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         464  +
        self.reason = ::std::option::Option::Some(input.into());
         465  +
        self
         466  +
    }
         467  +
    /// <p>The reason for connecting to the instance.</p>
         468  +
    pub fn set_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         469  +
        self.reason = input;
         470  +
        self
         471  +
    }
         472  +
    /// <p>The reason for connecting to the instance.</p>
         473  +
    pub fn get_reason(&self) -> &::std::option::Option<::std::string::String> {
         474  +
        &self.reason
         475  +
    }
         476  +
    /// <p>Reserved for future use.</p>
         477  +
    pub fn details(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         478  +
        self.details = ::std::option::Option::Some(input.into());
         479  +
        self
         480  +
    }
         481  +
    /// <p>Reserved for future use.</p>
         482  +
    pub fn set_details(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         483  +
        self.details = input;
         484  +
        self
         485  +
    }
         486  +
    /// <p>Reserved for future use.</p>
         487  +
    pub fn get_details(&self) -> &::std::option::Option<::std::string::String> {
         488  +
        &self.details
         489  +
    }
         490  +
    /// <p>Reserved for future use.</p>
         491  +
    pub fn output_url(mut self, input: crate::types::SessionManagerOutputUrl) -> Self {
         492  +
        self.output_url = ::std::option::Option::Some(input);
         493  +
        self
         494  +
    }
         495  +
    /// <p>Reserved for future use.</p>
         496  +
    pub fn set_output_url(mut self, input: ::std::option::Option<crate::types::SessionManagerOutputUrl>) -> Self {
         497  +
        self.output_url = input;
         498  +
        self
         499  +
    }
         500  +
    /// <p>Reserved for future use.</p>
         501  +
    pub fn get_output_url(&self) -> &::std::option::Option<crate::types::SessionManagerOutputUrl> {
         502  +
        &self.output_url
         503  +
    }
         504  +
    /// <p>The maximum duration of a session before it terminates.</p>
         505  +
    pub fn max_session_duration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
         506  +
        self.max_session_duration = ::std::option::Option::Some(input.into());
         507  +
        self
         508  +
    }
         509  +
    /// <p>The maximum duration of a session before it terminates.</p>
         510  +
    pub fn set_max_session_duration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
         511  +
        self.max_session_duration = input;
         512  +
        self
         513  +
    }
         514  +
    /// <p>The maximum duration of a session before it terminates.</p>
         515  +
    pub fn get_max_session_duration(&self) -> &::std::option::Option<::std::string::String> {
         516  +
        &self.max_session_duration
         517  +
    }
         518  +
    /// <p><code>Standard</code> access type is the default for Session Manager sessions. <code>JustInTime</code> is the access type for <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-just-in-time-node-access.html">Just-in-time node access</a>.</p>
         519  +
    pub fn access_type(mut self, input: crate::types::AccessType) -> Self {
         520  +
        self.access_type = ::std::option::Option::Some(input);
         521  +
        self
         522  +
    }
         523  +
    /// <p><code>Standard</code> access type is the default for Session Manager sessions. <code>JustInTime</code> is the access type for <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-just-in-time-node-access.html">Just-in-time node access</a>.</p>
         524  +
    pub fn set_access_type(mut self, input: ::std::option::Option<crate::types::AccessType>) -> Self {
         525  +
        self.access_type = input;
         526  +
        self
         527  +
    }
         528  +
    /// <p><code>Standard</code> access type is the default for Session Manager sessions. <code>JustInTime</code> is the access type for <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-just-in-time-node-access.html">Just-in-time node access</a>.</p>
         529  +
    pub fn get_access_type(&self) -> &::std::option::Option<crate::types::AccessType> {
         530  +
        &self.access_type
         531  +
    }
         532  +
    /// Consumes the builder and constructs a [`Session`](crate::types::Session).
         533  +
    pub fn build(self) -> crate::types::Session {
         534  +
        crate::types::Session {
         535  +
            session_id: self.session_id,
         536  +
            target: self.target,
         537  +
            status: self.status,
         538  +
            start_date: self.start_date,
         539  +
            end_date: self.end_date,
         540  +
            document_name: self.document_name,
         541  +
            owner: self.owner,
         542  +
            reason: self.reason,
         543  +
            details: self.details,
         544  +
            output_url: self.output_url,
         545  +
            max_session_duration: self.max_session_duration,
         546  +
            access_type: self.access_type,
         547  +
        }
         548  +
    }
         549  +
}