2024/04/26 - CloudWatch Observability Access Manager - 3 updated api methods
Changes This release introduces support for Source Accounts to define which Metrics and Logs to share with the Monitoring Account
{'LinkConfiguration': {'LogGroupConfiguration': {'Filter': 'string'}, 'MetricConfiguration': {'Filter': 'string'}}}
Creates a link between a source account and a sink that you have created in a monitoring account. After the link is created, data is sent from the source account to the monitoring account. When you create a link, you can optionally specify filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
Before you create a link, you must create a sink in the monitoring account and create a sink policy in that account. The sink policy must permit the source account to link to it. You can grant permission to source accounts by granting permission to an entire organization or to individual accounts.
For more information, see CreateSink and PutSinkPolicy.
Each monitoring account can be linked to as many as 100,000 source accounts.
Each source account can be linked to as many as five monitoring accounts.
See also: AWS API Documentation
Request Syntax
client.create_link( LabelTemplate='string', LinkConfiguration={ 'LogGroupConfiguration': { 'Filter': 'string' }, 'MetricConfiguration': { 'Filter': 'string' } }, ResourceTypes=[ 'AWS::CloudWatch::Metric'|'AWS::Logs::LogGroup'|'AWS::XRay::Trace'|'AWS::ApplicationInsights::Application'|'AWS::InternetMonitor::Monitor', ], SinkIdentifier='string', Tags={ 'string': 'string' } )
string
[REQUIRED]
Specify a friendly human-readable name to use to identify this source account when you are viewing data from it in the monitoring account.
You can use a custom label or use the following variables:
$AccountName is the name of the account
$AccountEmail is the globally unique email address of the account
$AccountEmailNoDomain is the email address of the account without the domain name
dict
Use this structure to optionally create filters that specify that only some metric namespaces or log groups are to be shared from the source account to the monitoring account.
LogGroupConfiguration (dict) --
Use this structure to filter which log groups are to send log events from the source account to the monitoring account.
Filter (string) -- [REQUIRED]
Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and Other-Log-Group.
LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and Private-Log-Group-2.
LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or AWSLogs.
MetricConfiguration (dict) --
Use this structure to filter which metric namespaces are to be shared from the source account to the monitoring account.
Filter (string) -- [REQUIRED]
Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.
Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.
list
[REQUIRED]
An array of strings that define which types of data that the source account shares with the monitoring account.
(string) --
string
[REQUIRED]
The ARN of the sink to use to create this link. You can use ListSinks to find the ARNs of sinks.
For more information about sinks, see CreateSink.
dict
Assigns one or more tags (key-value pairs) to the link.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
For more information about using tags to control access, see Controlling access to Amazon Web Services resources using tags.
(string) --
(string) --
dict
Response Syntax
{ 'Arn': 'string', 'Id': 'string', 'Label': 'string', 'LabelTemplate': 'string', 'LinkConfiguration': { 'LogGroupConfiguration': { 'Filter': 'string' }, 'MetricConfiguration': { 'Filter': 'string' } }, 'ResourceTypes': [ 'string', ], 'SinkArn': 'string', 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
Arn (string) --
The ARN of the link that is newly created.
Id (string) --
The random ID string that Amazon Web Services generated as part of the link ARN.
Label (string) --
The label that you assigned to this link. If the labelTemplate includes variables, this field displays the variables resolved to their actual values.
LabelTemplate (string) --
The exact label template that you specified, with the variables not resolved.
LinkConfiguration (dict) --
This structure includes filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
LogGroupConfiguration (dict) --
Use this structure to filter which log groups are to send log events from the source account to the monitoring account.
Filter (string) --
Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and Other-Log-Group.
LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and Private-Log-Group-2.
LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or AWSLogs.
MetricConfiguration (dict) --
Use this structure to filter which metric namespaces are to be shared from the source account to the monitoring account.
Filter (string) --
Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.
Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.
ResourceTypes (list) --
The resource types supported by this link.
(string) --
SinkArn (string) --
The ARN of the sink that is used for this link.
Tags (dict) --
The tags assigned to the link.
(string) --
(string) --
{'LinkConfiguration': {'LogGroupConfiguration': {'Filter': 'string'}, 'MetricConfiguration': {'Filter': 'string'}}}
Returns complete information about one link.
To use this operation, provide the link ARN. To retrieve a list of link ARNs, use ListLinks.
See also: AWS API Documentation
Request Syntax
client.get_link( Identifier='string' )
string
[REQUIRED]
The ARN of the link to retrieve information for.
dict
Response Syntax
{ 'Arn': 'string', 'Id': 'string', 'Label': 'string', 'LabelTemplate': 'string', 'LinkConfiguration': { 'LogGroupConfiguration': { 'Filter': 'string' }, 'MetricConfiguration': { 'Filter': 'string' } }, 'ResourceTypes': [ 'string', ], 'SinkArn': 'string', 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
Arn (string) --
The ARN of the link.
Id (string) --
The random ID string that Amazon Web Services generated as part of the link ARN.
Label (string) --
The label that you assigned to this link, with the variables resolved to their actual values.
LabelTemplate (string) --
The exact label template that was specified when the link was created, with the template variables not resolved.
LinkConfiguration (dict) --
This structure includes filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
LogGroupConfiguration (dict) --
Use this structure to filter which log groups are to send log events from the source account to the monitoring account.
Filter (string) --
Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and Other-Log-Group.
LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and Private-Log-Group-2.
LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or AWSLogs.
MetricConfiguration (dict) --
Use this structure to filter which metric namespaces are to be shared from the source account to the monitoring account.
Filter (string) --
Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.
Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.
ResourceTypes (list) --
The resource types supported by this link.
(string) --
SinkArn (string) --
The ARN of the sink that is used for this link.
Tags (dict) --
The tags assigned to the link.
(string) --
(string) --
{'LinkConfiguration': {'LogGroupConfiguration': {'Filter': 'string'}, 'MetricConfiguration': {'Filter': 'string'}}}
Use this operation to change what types of data are shared from a source account to its linked monitoring account sink. You can't change the sink or change the monitoring account with this operation.
When you update a link, you can optionally specify filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
To update the list of tags associated with the sink, use TagResource.
See also: AWS API Documentation
Request Syntax
client.update_link( Identifier='string', LinkConfiguration={ 'LogGroupConfiguration': { 'Filter': 'string' }, 'MetricConfiguration': { 'Filter': 'string' } }, ResourceTypes=[ 'AWS::CloudWatch::Metric'|'AWS::Logs::LogGroup'|'AWS::XRay::Trace'|'AWS::ApplicationInsights::Application'|'AWS::InternetMonitor::Monitor', ] )
string
[REQUIRED]
The ARN of the link that you want to update.
dict
Use this structure to filter which metric namespaces and which log groups are to be shared from the source account to the monitoring account.
LogGroupConfiguration (dict) --
Use this structure to filter which log groups are to send log events from the source account to the monitoring account.
Filter (string) -- [REQUIRED]
Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and Other-Log-Group.
LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and Private-Log-Group-2.
LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or AWSLogs.
MetricConfiguration (dict) --
Use this structure to filter which metric namespaces are to be shared from the source account to the monitoring account.
Filter (string) -- [REQUIRED]
Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.
Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.
list
[REQUIRED]
An array of strings that define which types of data that the source account will send to the monitoring account.
Your input here replaces the current set of data types that are shared.
(string) --
dict
Response Syntax
{ 'Arn': 'string', 'Id': 'string', 'Label': 'string', 'LabelTemplate': 'string', 'LinkConfiguration': { 'LogGroupConfiguration': { 'Filter': 'string' }, 'MetricConfiguration': { 'Filter': 'string' } }, 'ResourceTypes': [ 'string', ], 'SinkArn': 'string', 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
Arn (string) --
The ARN of the link that you have updated.
Id (string) --
The random ID string that Amazon Web Services generated as part of the sink ARN.
Label (string) --
The label assigned to this link, with the variables resolved to their actual values.
LabelTemplate (string) --
The exact label template that was specified when the link was created, with the template variables not resolved.
LinkConfiguration (dict) --
This structure includes filters that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.
LogGroupConfiguration (dict) --
Use this structure to filter which log groups are to send log events from the source account to the monitoring account.
Filter (string) --
Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and Other-Log-Group.
LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and Private-Log-Group-2.
LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or AWSLogs.
MetricConfiguration (dict) --
Use this structure to filter which metric namespaces are to be shared from the source account to the monitoring account.
Filter (string) --
Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive. Each filter has a limit of five conditional operands. Conditional operands are AND and OR.
= and !=
AND
OR
LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end of the string that you want to search for and include.
IN and NOT IN, using parentheses ( )
Examples:
Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.
Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.
ResourceTypes (list) --
The resource types now supported by this link.
(string) --
SinkArn (string) --
The ARN of the sink that is used for this link.
Tags (dict) --
The tags assigned to the link.
(string) --
(string) --