aws_sdk_detective/operation/get_investigation/_get_investigation_output.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
// 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 GetInvestigationOutput {
/// <p>The Amazon Resource Name (ARN) of the behavior graph.</p>
pub graph_arn: ::std::option::Option<::std::string::String>,
/// <p>The investigation ID of the investigation report.</p>
pub investigation_id: ::std::option::Option<::std::string::String>,
/// <p>The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and IAM role ARNs.</p>
pub entity_arn: ::std::option::Option<::std::string::String>,
/// <p>Type of entity. For example, Amazon Web Services accounts, such as an IAM user and/or IAM role.</p>
pub entity_type: ::std::option::Option<crate::types::EntityType>,
/// <p>The creation time of the investigation report in UTC time stamp format.</p>
pub created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The start date and time used to set the scope time within which you want to generate the investigation report. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub scope_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub scope_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The status based on the completion status of the investigation.</p>
pub status: ::std::option::Option<crate::types::Status>,
/// <p>The severity assigned is based on the likelihood and impact of the indicators of compromise discovered in the investigation.</p>
pub severity: ::std::option::Option<crate::types::Severity>,
/// <p>The current state of the investigation. An archived investigation indicates that you have completed reviewing the investigation.</p>
pub state: ::std::option::Option<crate::types::State>,
_request_id: Option<String>,
}
impl GetInvestigationOutput {
/// <p>The Amazon Resource Name (ARN) of the behavior graph.</p>
pub fn graph_arn(&self) -> ::std::option::Option<&str> {
self.graph_arn.as_deref()
}
/// <p>The investigation ID of the investigation report.</p>
pub fn investigation_id(&self) -> ::std::option::Option<&str> {
self.investigation_id.as_deref()
}
/// <p>The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and IAM role ARNs.</p>
pub fn entity_arn(&self) -> ::std::option::Option<&str> {
self.entity_arn.as_deref()
}
/// <p>Type of entity. For example, Amazon Web Services accounts, such as an IAM user and/or IAM role.</p>
pub fn entity_type(&self) -> ::std::option::Option<&crate::types::EntityType> {
self.entity_type.as_ref()
}
/// <p>The creation time of the investigation report in UTC time stamp format.</p>
pub fn created_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_time.as_ref()
}
/// <p>The start date and time used to set the scope time within which you want to generate the investigation report. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn scope_start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.scope_start_time.as_ref()
}
/// <p>The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn scope_end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.scope_end_time.as_ref()
}
/// <p>The status based on the completion status of the investigation.</p>
pub fn status(&self) -> ::std::option::Option<&crate::types::Status> {
self.status.as_ref()
}
/// <p>The severity assigned is based on the likelihood and impact of the indicators of compromise discovered in the investigation.</p>
pub fn severity(&self) -> ::std::option::Option<&crate::types::Severity> {
self.severity.as_ref()
}
/// <p>The current state of the investigation. An archived investigation indicates that you have completed reviewing the investigation.</p>
pub fn state(&self) -> ::std::option::Option<&crate::types::State> {
self.state.as_ref()
}
}
impl ::aws_types::request_id::RequestId for GetInvestigationOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetInvestigationOutput {
/// Creates a new builder-style object to manufacture [`GetInvestigationOutput`](crate::operation::get_investigation::GetInvestigationOutput).
pub fn builder() -> crate::operation::get_investigation::builders::GetInvestigationOutputBuilder {
crate::operation::get_investigation::builders::GetInvestigationOutputBuilder::default()
}
}
/// A builder for [`GetInvestigationOutput`](crate::operation::get_investigation::GetInvestigationOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetInvestigationOutputBuilder {
pub(crate) graph_arn: ::std::option::Option<::std::string::String>,
pub(crate) investigation_id: ::std::option::Option<::std::string::String>,
pub(crate) entity_arn: ::std::option::Option<::std::string::String>,
pub(crate) entity_type: ::std::option::Option<crate::types::EntityType>,
pub(crate) created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) scope_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) scope_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) status: ::std::option::Option<crate::types::Status>,
pub(crate) severity: ::std::option::Option<crate::types::Severity>,
pub(crate) state: ::std::option::Option<crate::types::State>,
_request_id: Option<String>,
}
impl GetInvestigationOutputBuilder {
/// <p>The Amazon Resource Name (ARN) of the behavior graph.</p>
pub fn graph_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.graph_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The Amazon Resource Name (ARN) of the behavior graph.</p>
pub fn set_graph_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.graph_arn = input;
self
}
/// <p>The Amazon Resource Name (ARN) of the behavior graph.</p>
pub fn get_graph_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.graph_arn
}
/// <p>The investigation ID of the investigation report.</p>
pub fn investigation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.investigation_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The investigation ID of the investigation report.</p>
pub fn set_investigation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.investigation_id = input;
self
}
/// <p>The investigation ID of the investigation report.</p>
pub fn get_investigation_id(&self) -> &::std::option::Option<::std::string::String> {
&self.investigation_id
}
/// <p>The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and IAM role ARNs.</p>
pub fn entity_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.entity_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and IAM role ARNs.</p>
pub fn set_entity_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.entity_arn = input;
self
}
/// <p>The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and IAM role ARNs.</p>
pub fn get_entity_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.entity_arn
}
/// <p>Type of entity. For example, Amazon Web Services accounts, such as an IAM user and/or IAM role.</p>
pub fn entity_type(mut self, input: crate::types::EntityType) -> Self {
self.entity_type = ::std::option::Option::Some(input);
self
}
/// <p>Type of entity. For example, Amazon Web Services accounts, such as an IAM user and/or IAM role.</p>
pub fn set_entity_type(mut self, input: ::std::option::Option<crate::types::EntityType>) -> Self {
self.entity_type = input;
self
}
/// <p>Type of entity. For example, Amazon Web Services accounts, such as an IAM user and/or IAM role.</p>
pub fn get_entity_type(&self) -> &::std::option::Option<crate::types::EntityType> {
&self.entity_type
}
/// <p>The creation time of the investigation report in UTC time stamp format.</p>
pub fn created_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_time = ::std::option::Option::Some(input);
self
}
/// <p>The creation time of the investigation report in UTC time stamp format.</p>
pub fn set_created_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_time = input;
self
}
/// <p>The creation time of the investigation report in UTC time stamp format.</p>
pub fn get_created_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_time
}
/// <p>The start date and time used to set the scope time within which you want to generate the investigation report. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn scope_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.scope_start_time = ::std::option::Option::Some(input);
self
}
/// <p>The start date and time used to set the scope time within which you want to generate the investigation report. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn set_scope_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.scope_start_time = input;
self
}
/// <p>The start date and time used to set the scope time within which you want to generate the investigation report. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn get_scope_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.scope_start_time
}
/// <p>The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn scope_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.scope_end_time = ::std::option::Option::Some(input);
self
}
/// <p>The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn set_scope_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.scope_end_time = input;
self
}
/// <p>The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, <code>2021-08-18T16:35:56.284Z</code>.</p>
pub fn get_scope_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.scope_end_time
}
/// <p>The status based on the completion status of the investigation.</p>
pub fn status(mut self, input: crate::types::Status) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
/// <p>The status based on the completion status of the investigation.</p>
pub fn set_status(mut self, input: ::std::option::Option<crate::types::Status>) -> Self {
self.status = input;
self
}
/// <p>The status based on the completion status of the investigation.</p>
pub fn get_status(&self) -> &::std::option::Option<crate::types::Status> {
&self.status
}
/// <p>The severity assigned is based on the likelihood and impact of the indicators of compromise discovered in the investigation.</p>
pub fn severity(mut self, input: crate::types::Severity) -> Self {
self.severity = ::std::option::Option::Some(input);
self
}
/// <p>The severity assigned is based on the likelihood and impact of the indicators of compromise discovered in the investigation.</p>
pub fn set_severity(mut self, input: ::std::option::Option<crate::types::Severity>) -> Self {
self.severity = input;
self
}
/// <p>The severity assigned is based on the likelihood and impact of the indicators of compromise discovered in the investigation.</p>
pub fn get_severity(&self) -> &::std::option::Option<crate::types::Severity> {
&self.severity
}
/// <p>The current state of the investigation. An archived investigation indicates that you have completed reviewing the investigation.</p>
pub fn state(mut self, input: crate::types::State) -> Self {
self.state = ::std::option::Option::Some(input);
self
}
/// <p>The current state of the investigation. An archived investigation indicates that you have completed reviewing the investigation.</p>
pub fn set_state(mut self, input: ::std::option::Option<crate::types::State>) -> Self {
self.state = input;
self
}
/// <p>The current state of the investigation. An archived investigation indicates that you have completed reviewing the investigation.</p>
pub fn get_state(&self) -> &::std::option::Option<crate::types::State> {
&self.state
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
/// Consumes the builder and constructs a [`GetInvestigationOutput`](crate::operation::get_investigation::GetInvestigationOutput).
pub fn build(self) -> crate::operation::get_investigation::GetInvestigationOutput {
crate::operation::get_investigation::GetInvestigationOutput {
graph_arn: self.graph_arn,
investigation_id: self.investigation_id,
entity_arn: self.entity_arn,
entity_type: self.entity_type,
created_time: self.created_time,
scope_start_time: self.scope_start_time,
scope_end_time: self.scope_end_time,
status: self.status,
severity: self.severity,
state: self.state,
_request_id: self._request_id,
}
}
}