Skip to content

Commit 7025fca

Browse files
author
awstools
committed
feat(client-observabilityadmin): Adding a new field in the CreateCentralizationRuleForOrganization, UpdateCentralizationRuleForOrganization API and updating the GetCentralizationRuleForOrganization API response to include the new field
1 parent cc014d1 commit 7025fca

10 files changed

+55
-9
lines changed

clients/client-observabilityadmin/src/commands/CreateCentralizationRuleForOrganizationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ export interface CreateCentralizationRuleForOrganizationCommandOutput extends Cr
6969
* Region: "STRING_VALUE", // required
7070
* KmsKeyArn: "STRING_VALUE",
7171
* },
72+
* LogGroupNameConfiguration: { // LogGroupNameConfiguration
73+
* LogGroupNamePattern: "STRING_VALUE", // required
74+
* },
7275
* },
7376
* },
7477
* },

clients/client-observabilityadmin/src/commands/GetCentralizationRuleForOrganizationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ export interface GetCentralizationRuleForOrganizationCommandOutput extends GetCe
8181
* // Region: "STRING_VALUE", // required
8282
* // KmsKeyArn: "STRING_VALUE",
8383
* // },
84+
* // LogGroupNameConfiguration: { // LogGroupNameConfiguration
85+
* // LogGroupNamePattern: "STRING_VALUE", // required
86+
* // },
8487
* // },
8588
* // },
8689
* // },

clients/client-observabilityadmin/src/commands/ListResourceTelemetryCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export interface ListResourceTelemetryCommandOutput extends ListResourceTelemetr
6969
* // "<keys>": "STRING_VALUE",
7070
* // },
7171
* // LastUpdateTimeStamp: Number("long"),
72+
* // TelemetrySourceType: "VPC_FLOW_LOGS" || "ROUTE53_RESOLVER_QUERY_LOGS" || "EKS_AUDIT_LOGS" || "EKS_AUTHENTICATOR_LOGS" || "EKS_CONTROLLER_MANAGER_LOGS" || "EKS_SCHEDULER_LOGS" || "EKS_API_LOGS",
7273
* // },
7374
* // ],
7475
* // NextToken: "STRING_VALUE",

clients/client-observabilityadmin/src/commands/ListResourceTelemetryForOrganizationCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ export interface ListResourceTelemetryForOrganizationCommandOutput extends ListR
7575
* // "<keys>": "STRING_VALUE",
7676
* // },
7777
* // LastUpdateTimeStamp: Number("long"),
78+
* // TelemetrySourceType: "VPC_FLOW_LOGS" || "ROUTE53_RESOLVER_QUERY_LOGS" || "EKS_AUDIT_LOGS" || "EKS_AUTHENTICATOR_LOGS" || "EKS_CONTROLLER_MANAGER_LOGS" || "EKS_SCHEDULER_LOGS" || "EKS_API_LOGS",
7879
* // },
7980
* // ],
8081
* // NextToken: "STRING_VALUE",

clients/client-observabilityadmin/src/commands/UpdateCentralizationRuleForOrganizationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ export interface UpdateCentralizationRuleForOrganizationCommandOutput extends Up
6969
* Region: "STRING_VALUE", // required
7070
* KmsKeyArn: "STRING_VALUE",
7171
* },
72+
* LogGroupNameConfiguration: { // LogGroupNameConfiguration
73+
* LogGroupNamePattern: "STRING_VALUE", // required
74+
* },
7275
* },
7376
* },
7477
* },

clients/client-observabilityadmin/src/commands/UpdateTelemetryPipelineCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export interface UpdateTelemetryPipelineCommandInput extends UpdateTelemetryPipe
3131
export interface UpdateTelemetryPipelineCommandOutput extends UpdateTelemetryPipelineOutput, __MetadataBearer {}
3232

3333
/**
34-
* <p>Updates the configuration of an existing telemetry pipeline.</p> <note> <p>The following attributes cannot be updated after pipeline creation:</p> <ul> <li> <p> <b>Pipeline name</b> - The pipeline name is immutable</p> </li> <li> <p> <b>Pipeline ARN</b> - The ARN is automatically generated and cannot be changed</p> </li> <li> <p> <b>Source type</b> - Once a pipeline is created with a specific source type (such as S3, CloudWatch Logs, GitHub, or third-party sources), it cannot be changed to a different source type</p> </li> </ul> <p>Processors can be added, removed, or modified. However, some processors are not supported for third-party pipelines and cannot be added through updates.</p> </note> <p> <b>Source-Specific Update Rules</b> </p> <dl> <dt>CloudWatch Logs Sources (Vended and Custom)</dt> <dd> <p> <b>Updatable:</b> <code>sts_role_arn</code> </p> <p> <b>Fixed:</b> <code>data_source_name</code>, <code>data_source_type</code>, sink (must remain <code>@original</code>)</p> </dd> <dt>S3 Sources (Crowdstrike, Zscaler, SentinelOne, Custom)</dt> <dd> <p> <b>Updatable:</b> All SQS configuration parameters, <code>sts_role_arn</code>, codec settings, compression type, bucket ownership settings, sink log group</p> <p> <b>Fixed:</b> <code>notification_type</code>, <code>aws.region</code> </p> </dd> <dt>GitHub Audit Logs</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>scope</code> (can switch between ORGANIZATION/ENTERPRISE), <code>organization</code> or <code>enterprise</code> name, <code>range</code>, authentication credentials (PAT or GitHub App)</p> </dd> <dt>Microsoft Sources (Entra ID, Office365, Windows)</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>tenant_id</code>, <code>workspace_id</code> (Windows only), OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Okta Sources (SSO, Auth0)</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>domain</code>, <code>range</code> (SSO only), OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Palo Alto Networks</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>hostname</code>, basic authentication credentials (<code>username</code>, <code>password</code>)</p> </dd> <dt>ServiceNow CMDB</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>instance_url</code>, <code>range</code>, OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Wiz CNAPP</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>region</code>, <code>range</code>, OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> </dl>
34+
* <p>Updates the configuration of an existing telemetry pipeline.</p> <note> <p>The following attributes cannot be updated after pipeline creation:</p> <ul> <li> <p> <b>Pipeline name</b> - The pipeline name is immutable</p> </li> <li> <p> <b>Pipeline ARN</b> - The ARN is automatically generated and cannot be changed</p> </li> <li> <p> <b>Source type</b> - Once a pipeline is created with a specific source type (such as S3, CloudWatch Logs, GitHub, or third-party sources), it cannot be changed to a different source type</p> </li> </ul> <p>Processors can be added, removed, or modified. However, some processors are not supported for third-party pipelines and cannot be added through updates.</p> </note> <p> <b>Source-Specific Update Rules</b> </p> <dl> <dt>CloudWatch Logs Sources (Vended and Custom)</dt> <dd> <p> <b>Updatable:</b> <code>sts_role_arn</code> </p> <p> <b>Fixed:</b> <code>data_source_name</code>, <code>data_source_type</code>, sink (must remain <code>@original</code>)</p> </dd> <dt>S3 Sources (Crowdstrike, Zscaler, SentinelOne, Custom)</dt> <dd> <p> <b>Updatable:</b> All SQS configuration parameters, <code>sts_role_arn</code>, codec settings, compression type, bucket ownership settings, sink log group</p> <p> <b>Fixed:</b> <code>notification_type</code>, <code>aws.region</code> </p> </dd> <dt>GitHub Audit Logs</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>scope</code> (can switch between ORGANIZATION/ENTERPRISE), <code>organization</code> or <code>enterprise</code> name, <code>range</code>, authentication credentials (PAT or GitHub App)</p> </dd> <dt>Microsoft Sources (Entra ID, Office365, Windows)</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>tenant_id</code>, <code>workspace_id</code> (Windows only), OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Okta Sources (SSO, Auth0)</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>domain</code>, <code>range</code>, OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Palo Alto Networks</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>hostname</code>, basic authentication credentials (<code>username</code>, <code>password</code>)</p> </dd> <dt>ServiceNow CMDB</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>instance_url</code>, <code>range</code>, OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> <dt>Wiz CNAPP</dt> <dd> <p> <b>Updatable:</b> All Amazon Web Services Secrets Manager attributes, <code>region</code>, <code>range</code>, OAuth2 credentials (<code>client_id</code>, <code>client_secret</code>)</p> </dd> </dl>
3535
* @example
3636
* Use a bare-bones client and the command you need to make an API call.
3737
* ```javascript

clients/client-observabilityadmin/src/models/models_0.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,18 @@ export interface LogsBackupConfiguration {
120120
KmsKeyArn?: string | undefined;
121121
}
122122

123+
/**
124+
* <p>Configuration that specifies a naming pattern for destination log groups created during centralization. The pattern supports static text and dynamic variables that are replaced with source attributes when log groups are created.</p>
125+
* @public
126+
*/
127+
export interface LogGroupNameConfiguration {
128+
/**
129+
* <p>The pattern used to generate destination log group names during centralization. The pattern can contain static text and dynamic variables that are replaced with source attributes. If a variable cannot be resolved, it inherits the value from its parent variable in the hierarchy. The pattern must be between 1 and 512 characters.</p> <p>Supported variables:</p> <ul> <li> <p> <b>$\{source.logGroup\}</b> — The original log group name from the source account.</p> </li> <li> <p> <b>$\{source.accountId\}</b> — The AWS account ID where the log originated.</p> </li> <li> <p> <b>$\{source.region\}</b> — The AWS Region where the log originated.</p> </li> <li> <p> <b>$\{source.org.id\}</b> — The AWS Organization ID of the source account.</p> </li> <li> <p> <b>$\{source.org.ouId\}</b> — The organizational unit ID of the source account.</p> </li> <li> <p> <b>$\{source.org.rootId\}</b> — The organization Root ID.</p> </li> <li> <p> <b>$\{source.org.path\}</b> — The organizational path from account to root.</p> </li> </ul>
130+
* @public
131+
*/
132+
LogGroupNamePattern: string | undefined;
133+
}
134+
123135
/**
124136
* <p>Configuration for encrypting centralized log groups. This configuration is only applied to destination log groups for which the corresponding source log groups are encrypted using Customer Managed KMS Keys.</p>
125137
* @public
@@ -160,6 +172,12 @@ export interface DestinationLogsConfiguration {
160172
* @public
161173
*/
162174
BackupConfiguration?: LogsBackupConfiguration | undefined;
175+
176+
/**
177+
* <p>Configuration that specifies a naming pattern for destination log groups created during centralization. The pattern supports static text and dynamic variables that are replaced with source attributes when log groups are created.</p>
178+
* @public
179+
*/
180+
LogGroupNameConfiguration?: LogGroupNameConfiguration | undefined;
163181
}
164182

165183
/**
@@ -531,7 +549,7 @@ export interface CreateS3TableIntegrationOutput {
531549
}
532550

533551
/**
534-
* <p>Defines the configuration for a telemetry pipeline, including how data flows from sources through processors to destinations.</p>
552+
* <p>Defines the configuration for a pipeline, including how data flows from sources through processors to destinations. The configuration is specified in YAML format and must include a valid pipeline definition with required source and sink components. This pipeline enables end-to-end telemetry data collection, transformation, and delivery while supporting optional processing steps and extensions for enhanced functionality.</p> <p>The primary pipeline configuration section are:</p> <ul> <li> <p> <b>Source:</b> Defines where log data originates from (S3 buckets, CloudWatch Logs, third-party APIs). Each pipeline must have exactly one source.</p> </li> <li> <p> <b>Processors (optional):</b> Transform, parse, and enrich log data as it flows through the pipeline. Processors are applied sequentially in the order they are defined.</p> </li> <li> <p> <b>Sink:</b> Defines the destination where processed log data is sent. Each pipeline must have exactly one sink.</p> </li> <li> <p> <b>Extensions (optional):</b> Provide additional functionality such as Amazon Web Services Secrets Manager integration for credential management.</p> </li> </ul> <p>For more details on each configuration section see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-pipelines.html">CloudWatch pipelines User Guide</a>. Additional comprehensive configuration examples can be found in the <a href="https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateTelemetryPipeline.html#API_CreateTelemetryPipeline_Examples">CreateTelemetryPipeline API docs</a>.</p>
535553
* @public
536554
*/
537555
export interface TelemetryPipelineConfiguration {
@@ -1460,6 +1478,12 @@ export interface TelemetryConfiguration {
14601478
* @public
14611479
*/
14621480
LastUpdateTimeStamp?: number | undefined;
1481+
1482+
/**
1483+
* <p> Specifies the type of telemetry source for a resource, such as EKS cluster logs. </p>
1484+
* @public
1485+
*/
1486+
TelemetrySourceType?: TelemetrySourceType | undefined;
14631487
}
14641488

14651489
/**

clients/client-observabilityadmin/src/schemas/schemas_0.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ const _LDP = "LogDeliveryParameters";
117117
const _LEC = "LogsEncryptionConfiguration";
118118
const _LF = "LoggingFilter";
119119
const _LFo = "LogFormat";
120+
const _LGNC = "LogGroupNameConfiguration";
121+
const _LGNP = "LogGroupNamePattern";
120122
const _LGSC = "LogGroupSelectionCriteria";
121123
const _LN = "LabelName";
122124
const _LNC = "LabelNameCondition";
@@ -229,7 +231,8 @@ const _TRI = "TagResourceInput";
229231
const _TRS = "TelemetryRuleSummaries";
230232
const _TRSe = "TelemetryRuleSummary";
231233
const _TRa = "TagResource";
232-
const _TST = "TelemetrySourceTypes";
234+
const _TST = "TelemetrySourceType";
235+
const _TSTe = "TelemetrySourceTypes";
233236
const _TT = "TelemetryType";
234237
const _TTP = "TestTelemetryPipeline";
235238
const _TTPI = "TestTelemetryPipelineInput";
@@ -492,8 +495,8 @@ export var DeleteTelemetryRuleInput$: StaticStructureSchema = [3, n0, _DTRI,
492495
];
493496
export var DestinationLogsConfiguration$: StaticStructureSchema = [3, n0, _DLC,
494497
0,
495-
[_LEC, _BC],
496-
[() => LogsEncryptionConfiguration$, () => LogsBackupConfiguration$]
498+
[_LEC, _BC, _LGNC],
499+
[() => LogsEncryptionConfiguration$, () => LogsBackupConfiguration$, () => LogGroupNameConfiguration$]
497500
];
498501
export var ELBLoadBalancerLoggingParameters$: StaticStructureSchema = [3, n0, _ELBLBLP,
499502
0,
@@ -680,6 +683,11 @@ export var LoggingFilter$: StaticStructureSchema = [3, n0, _LF,
680683
[_Fil, _DB],
681684
[() => Filters, 0]
682685
];
686+
export var LogGroupNameConfiguration$: StaticStructureSchema = [3, n0, _LGNC,
687+
0,
688+
[_LGNP],
689+
[0], 1
690+
];
683691
export var LogsBackupConfiguration$: StaticStructureSchema = [3, n0, _LBC,
684692
0,
685693
[_R, _KKA],
@@ -737,8 +745,8 @@ export var TagResourceInput$: StaticStructureSchema = [3, n0, _TRI,
737745
];
738746
export var TelemetryConfiguration$: StaticStructureSchema = [3, n0, _TCe,
739747
0,
740-
[_AIc, _TCS, _RT, _RIe, _RTes, _LUTS],
741-
[0, 128 | 0, 0, 0, 128 | 0, 1]
748+
[_AIc, _TCS, _RT, _RIe, _RTes, _LUTS, _TST],
749+
[0, 128 | 0, 0, 0, 128 | 0, 1, 0]
742750
];
743751
export var TelemetryDestinationConfiguration$: StaticStructureSchema = [3, n0, _TDC,
744752
0,
@@ -767,12 +775,12 @@ export var TelemetryPipelineSummary$: StaticStructureSchema = [3, n0, _TPS,
767775
];
768776
export var TelemetryRule$: StaticStructureSchema = [3, n0, _TR,
769777
0,
770-
[_TT, _RT, _TST, _DC, _Sc, _SCe],
778+
[_TT, _RT, _TSTe, _DC, _Sc, _SCe],
771779
[0, 0, 64 | 0, () => TelemetryDestinationConfiguration$, 0, 0], 1
772780
];
773781
export var TelemetryRuleSummary$: StaticStructureSchema = [3, n0, _TRSe,
774782
0,
775-
[_RN, _RAu, _CTS, _LUTS, _RT, _TT, _TST],
783+
[_RN, _RAu, _CTS, _LUTS, _RT, _TT, _TSTe],
776784
[0, 0, 1, 1, 0, 0, 64 | 0]
777785
];
778786
export var TestTelemetryPipelineInput$: StaticStructureSchema = [3, n0, _TTPI,

clients/client-observabilityadmin/test/index-objects.spec.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ import {
134134
ListTelemetryRulesOutput$,
135135
LogDeliveryParameters$,
136136
LoggingFilter$,
137+
LogGroupNameConfiguration$,
137138
LogsBackupConfiguration$,
138139
LogsEncryptionConfiguration$,
139140
LogType,
@@ -379,6 +380,7 @@ assert(typeof ListTelemetryRulesInput$ === "object");
379380
assert(typeof ListTelemetryRulesOutput$ === "object");
380381
assert(typeof LogDeliveryParameters$ === "object");
381382
assert(typeof LoggingFilter$ === "object");
383+
assert(typeof LogGroupNameConfiguration$ === "object");
382384
assert(typeof LogsBackupConfiguration$ === "object");
383385
assert(typeof LogsEncryptionConfiguration$ === "object");
384386
assert(typeof PipelineOutput$ === "object");

clients/client-observabilityadmin/test/index-types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ export type {
209209
ListTelemetryRulesOutput,
210210
LogDeliveryParameters,
211211
LoggingFilter,
212+
LogGroupNameConfiguration,
212213
LogsBackupConfiguration,
213214
LogsEncryptionConfiguration,
214215
PipelineOutput,

0 commit comments

Comments
 (0)