#[non_exhaustive]pub struct SourceKeyword {
pub keyword_input_type: Option<KeywordInputType>,
pub keyword_value: Option<String>,
}
Expand description
A keyword that relates to the control data source.
For manual evidence, this keyword indicates if the manual evidence is a file or text.
For automated evidence, this keyword identifies a specific CloudTrail event, Config rule, Security Hub control, or Amazon Web Services API name.
To learn more about the supported keywords that you can use when mapping a control data source, see the following pages in the Audit Manager User Guide:
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.keyword_input_type: Option<KeywordInputType>
The input method for the keyword.
-
SELECT_FROM_LIST
is used when mapping a data source for automated evidence.-
When
keywordInputType
isSELECT_FROM_LIST
, a keyword must be selected to collect automated evidence. For example, this keyword can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call.
-
-
UPLOAD_FILE
andINPUT_TEXT
are only used when mapping a data source for manual evidence.-
When
keywordInputType
isUPLOAD_FILE
, a file must be uploaded as manual evidence. -
When
keywordInputType
isINPUT_TEXT
, text must be entered as manual evidence.
-
keyword_value: Option<String>
The value of the keyword that's used when mapping a control data source. For example, this can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call.
If you’re mapping a data source to a rule in Config, the keywordValue
that you specify depends on the type of rule:
-
For managed rules, you can use the rule identifier as the
keywordValue
. You can find the rule identifier from the list of Config managed rules. For some rules, the rule identifier is different from the rule name. For example, the rule namerestricted-ssh
has the following rule identifier:INCOMING_SSH_DISABLED
. Make sure to use the rule identifier, not the rule name.Keyword example for managed rules:
-
Managed rule name: s3-bucket-acl-prohibited
keywordValue
:S3_BUCKET_ACL_PROHIBITED
-
-
For custom rules, you form the
keywordValue
by adding theCustom_
prefix to the rule name. This prefix distinguishes the custom rule from a managed rule.Keyword example for custom rules:
-
Custom rule name: my-custom-config-rule
keywordValue
:Custom_my-custom-config-rule
-
-
For service-linked rules, you form the
keywordValue
by adding theCustom_
prefix to the rule name. In addition, you remove the suffix ID that appears at the end of the rule name.Keyword examples for service-linked rules:
-
Service-linked rule name: CustomRuleForAccount-conformance-pack-szsm1uv0w
keywordValue
:Custom_CustomRuleForAccount-conformance-pack
-
Service-linked rule name: OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba
keywordValue
:Custom_OrgConfigRule-s3-bucket-versioning-enabled
-
The keywordValue
is case sensitive. If you enter a value incorrectly, Audit Manager might not recognize the data source mapping. As a result, you might not successfully collect evidence from that data source as intended.
Keep in mind the following requirements, depending on the data source type that you're using.
-
For Config:
-
For managed rules, make sure that the
keywordValue
is the rule identifier inALL_CAPS_WITH_UNDERSCORES
. For example,CLOUDWATCH_LOG_GROUP_ENCRYPTED
. For accuracy, we recommend that you reference the list of supported Config managed rules. -
For custom rules, make sure that the
keywordValue
has theCustom_
prefix followed by the custom rule name. The format of the custom rule name itself may vary. For accuracy, we recommend that you visit the Config console to verify your custom rule name.
-
-
For Security Hub: The format varies for Security Hub control names. For accuracy, we recommend that you reference the list of supported Security Hub controls.
-
For Amazon Web Services API calls: Make sure that the
keywordValue
is written asserviceprefix_ActionName
. For example,iam_ListGroups
. For accuracy, we recommend that you reference the list of supported API calls. -
For CloudTrail: Make sure that the
keywordValue
is written asserviceprefix_ActionName
. For example,cloudtrail_StartLogging
. For accuracy, we recommend that you review the Amazon Web Services service prefix and action names in the Service Authorization Reference.
Implementations§
Source§impl SourceKeyword
impl SourceKeyword
Sourcepub fn keyword_input_type(&self) -> Option<&KeywordInputType>
pub fn keyword_input_type(&self) -> Option<&KeywordInputType>
The input method for the keyword.
-
SELECT_FROM_LIST
is used when mapping a data source for automated evidence.-
When
keywordInputType
isSELECT_FROM_LIST
, a keyword must be selected to collect automated evidence. For example, this keyword can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call.
-
-
UPLOAD_FILE
andINPUT_TEXT
are only used when mapping a data source for manual evidence.-
When
keywordInputType
isUPLOAD_FILE
, a file must be uploaded as manual evidence. -
When
keywordInputType
isINPUT_TEXT
, text must be entered as manual evidence.
-
Sourcepub fn keyword_value(&self) -> Option<&str>
pub fn keyword_value(&self) -> Option<&str>
The value of the keyword that's used when mapping a control data source. For example, this can be a CloudTrail event name, a rule name for Config, a Security Hub control, or the name of an Amazon Web Services API call.
If you’re mapping a data source to a rule in Config, the keywordValue
that you specify depends on the type of rule:
-
For managed rules, you can use the rule identifier as the
keywordValue
. You can find the rule identifier from the list of Config managed rules. For some rules, the rule identifier is different from the rule name. For example, the rule namerestricted-ssh
has the following rule identifier:INCOMING_SSH_DISABLED
. Make sure to use the rule identifier, not the rule name.Keyword example for managed rules:
-
Managed rule name: s3-bucket-acl-prohibited
keywordValue
:S3_BUCKET_ACL_PROHIBITED
-
-
For custom rules, you form the
keywordValue
by adding theCustom_
prefix to the rule name. This prefix distinguishes the custom rule from a managed rule.Keyword example for custom rules:
-
Custom rule name: my-custom-config-rule
keywordValue
:Custom_my-custom-config-rule
-
-
For service-linked rules, you form the
keywordValue
by adding theCustom_
prefix to the rule name. In addition, you remove the suffix ID that appears at the end of the rule name.Keyword examples for service-linked rules:
-
Service-linked rule name: CustomRuleForAccount-conformance-pack-szsm1uv0w
keywordValue
:Custom_CustomRuleForAccount-conformance-pack
-
Service-linked rule name: OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba
keywordValue
:Custom_OrgConfigRule-s3-bucket-versioning-enabled
-
The keywordValue
is case sensitive. If you enter a value incorrectly, Audit Manager might not recognize the data source mapping. As a result, you might not successfully collect evidence from that data source as intended.
Keep in mind the following requirements, depending on the data source type that you're using.
-
For Config:
-
For managed rules, make sure that the
keywordValue
is the rule identifier inALL_CAPS_WITH_UNDERSCORES
. For example,CLOUDWATCH_LOG_GROUP_ENCRYPTED
. For accuracy, we recommend that you reference the list of supported Config managed rules. -
For custom rules, make sure that the
keywordValue
has theCustom_
prefix followed by the custom rule name. The format of the custom rule name itself may vary. For accuracy, we recommend that you visit the Config console to verify your custom rule name.
-
-
For Security Hub: The format varies for Security Hub control names. For accuracy, we recommend that you reference the list of supported Security Hub controls.
-
For Amazon Web Services API calls: Make sure that the
keywordValue
is written asserviceprefix_ActionName
. For example,iam_ListGroups
. For accuracy, we recommend that you reference the list of supported API calls. -
For CloudTrail: Make sure that the
keywordValue
is written asserviceprefix_ActionName
. For example,cloudtrail_StartLogging
. For accuracy, we recommend that you review the Amazon Web Services service prefix and action names in the Service Authorization Reference.
Source§impl SourceKeyword
impl SourceKeyword
Sourcepub fn builder() -> SourceKeywordBuilder
pub fn builder() -> SourceKeywordBuilder
Creates a new builder-style object to manufacture SourceKeyword
.
Trait Implementations§
Source§impl Clone for SourceKeyword
impl Clone for SourceKeyword
Source§fn clone(&self) -> SourceKeyword
fn clone(&self) -> SourceKeyword
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SourceKeyword
impl Debug for SourceKeyword
Source§impl PartialEq for SourceKeyword
impl PartialEq for SourceKeyword
impl StructuralPartialEq for SourceKeyword
Auto Trait Implementations§
impl Freeze for SourceKeyword
impl RefUnwindSafe for SourceKeyword
impl Send for SourceKeyword
impl Sync for SourceKeyword
impl Unpin for SourceKeyword
impl UnwindSafe for SourceKeyword
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);