Skip to content

Commit f97fc3c

Browse files
author
awstools
committed
feat(client-amp): This release adds log APIs that allow customers to manage logging for their Amazon Managed Service for Prometheus workspaces.
1 parent 2fb5091 commit f97fc3c

File tree

10 files changed

+1704
-111
lines changed

10 files changed

+1704
-111
lines changed

clients/client-amp/src/Amp.ts

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import {
77
CreateAlertManagerDefinitionCommandInput,
88
CreateAlertManagerDefinitionCommandOutput,
99
} from "./commands/CreateAlertManagerDefinitionCommand";
10+
import {
11+
CreateLoggingConfigurationCommand,
12+
CreateLoggingConfigurationCommandInput,
13+
CreateLoggingConfigurationCommandOutput,
14+
} from "./commands/CreateLoggingConfigurationCommand";
1015
import {
1116
CreateRuleGroupsNamespaceCommand,
1217
CreateRuleGroupsNamespaceCommandInput,
@@ -22,6 +27,11 @@ import {
2227
DeleteAlertManagerDefinitionCommandInput,
2328
DeleteAlertManagerDefinitionCommandOutput,
2429
} from "./commands/DeleteAlertManagerDefinitionCommand";
30+
import {
31+
DeleteLoggingConfigurationCommand,
32+
DeleteLoggingConfigurationCommandInput,
33+
DeleteLoggingConfigurationCommandOutput,
34+
} from "./commands/DeleteLoggingConfigurationCommand";
2535
import {
2636
DeleteRuleGroupsNamespaceCommand,
2737
DeleteRuleGroupsNamespaceCommandInput,
@@ -37,6 +47,11 @@ import {
3747
DescribeAlertManagerDefinitionCommandInput,
3848
DescribeAlertManagerDefinitionCommandOutput,
3949
} from "./commands/DescribeAlertManagerDefinitionCommand";
50+
import {
51+
DescribeLoggingConfigurationCommand,
52+
DescribeLoggingConfigurationCommandInput,
53+
DescribeLoggingConfigurationCommandOutput,
54+
} from "./commands/DescribeLoggingConfigurationCommand";
4055
import {
4156
DescribeRuleGroupsNamespaceCommand,
4257
DescribeRuleGroupsNamespaceCommandInput,
@@ -78,6 +93,11 @@ import {
7893
UntagResourceCommandInput,
7994
UntagResourceCommandOutput,
8095
} from "./commands/UntagResourceCommand";
96+
import {
97+
UpdateLoggingConfigurationCommand,
98+
UpdateLoggingConfigurationCommandInput,
99+
UpdateLoggingConfigurationCommandOutput,
100+
} from "./commands/UpdateLoggingConfigurationCommand";
81101
import {
82102
UpdateWorkspaceAliasCommand,
83103
UpdateWorkspaceAliasCommandInput,
@@ -120,6 +140,38 @@ export class Amp extends AmpClient {
120140
}
121141
}
122142

143+
/**
144+
* Create logging configuration.
145+
*/
146+
public createLoggingConfiguration(
147+
args: CreateLoggingConfigurationCommandInput,
148+
options?: __HttpHandlerOptions
149+
): Promise<CreateLoggingConfigurationCommandOutput>;
150+
public createLoggingConfiguration(
151+
args: CreateLoggingConfigurationCommandInput,
152+
cb: (err: any, data?: CreateLoggingConfigurationCommandOutput) => void
153+
): void;
154+
public createLoggingConfiguration(
155+
args: CreateLoggingConfigurationCommandInput,
156+
options: __HttpHandlerOptions,
157+
cb: (err: any, data?: CreateLoggingConfigurationCommandOutput) => void
158+
): void;
159+
public createLoggingConfiguration(
160+
args: CreateLoggingConfigurationCommandInput,
161+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateLoggingConfigurationCommandOutput) => void),
162+
cb?: (err: any, data?: CreateLoggingConfigurationCommandOutput) => void
163+
): Promise<CreateLoggingConfigurationCommandOutput> | void {
164+
const command = new CreateLoggingConfigurationCommand(args);
165+
if (typeof optionsOrCb === "function") {
166+
this.send(command, optionsOrCb);
167+
} else if (typeof cb === "function") {
168+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
169+
this.send(command, optionsOrCb || {}, cb);
170+
} else {
171+
return this.send(command, optionsOrCb);
172+
}
173+
}
174+
123175
/**
124176
* Create a rule group namespace.
125177
*/
@@ -216,6 +268,38 @@ export class Amp extends AmpClient {
216268
}
217269
}
218270

271+
/**
272+
* Delete logging configuration.
273+
*/
274+
public deleteLoggingConfiguration(
275+
args: DeleteLoggingConfigurationCommandInput,
276+
options?: __HttpHandlerOptions
277+
): Promise<DeleteLoggingConfigurationCommandOutput>;
278+
public deleteLoggingConfiguration(
279+
args: DeleteLoggingConfigurationCommandInput,
280+
cb: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
281+
): void;
282+
public deleteLoggingConfiguration(
283+
args: DeleteLoggingConfigurationCommandInput,
284+
options: __HttpHandlerOptions,
285+
cb: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
286+
): void;
287+
public deleteLoggingConfiguration(
288+
args: DeleteLoggingConfigurationCommandInput,
289+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteLoggingConfigurationCommandOutput) => void),
290+
cb?: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
291+
): Promise<DeleteLoggingConfigurationCommandOutput> | void {
292+
const command = new DeleteLoggingConfigurationCommand(args);
293+
if (typeof optionsOrCb === "function") {
294+
this.send(command, optionsOrCb);
295+
} else if (typeof cb === "function") {
296+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
297+
this.send(command, optionsOrCb || {}, cb);
298+
} else {
299+
return this.send(command, optionsOrCb);
300+
}
301+
}
302+
219303
/**
220304
* Delete a rule groups namespace.
221305
*/
@@ -312,6 +396,38 @@ export class Amp extends AmpClient {
312396
}
313397
}
314398

399+
/**
400+
* Describes logging configuration.
401+
*/
402+
public describeLoggingConfiguration(
403+
args: DescribeLoggingConfigurationCommandInput,
404+
options?: __HttpHandlerOptions
405+
): Promise<DescribeLoggingConfigurationCommandOutput>;
406+
public describeLoggingConfiguration(
407+
args: DescribeLoggingConfigurationCommandInput,
408+
cb: (err: any, data?: DescribeLoggingConfigurationCommandOutput) => void
409+
): void;
410+
public describeLoggingConfiguration(
411+
args: DescribeLoggingConfigurationCommandInput,
412+
options: __HttpHandlerOptions,
413+
cb: (err: any, data?: DescribeLoggingConfigurationCommandOutput) => void
414+
): void;
415+
public describeLoggingConfiguration(
416+
args: DescribeLoggingConfigurationCommandInput,
417+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeLoggingConfigurationCommandOutput) => void),
418+
cb?: (err: any, data?: DescribeLoggingConfigurationCommandOutput) => void
419+
): Promise<DescribeLoggingConfigurationCommandOutput> | void {
420+
const command = new DescribeLoggingConfigurationCommand(args);
421+
if (typeof optionsOrCb === "function") {
422+
this.send(command, optionsOrCb);
423+
} else if (typeof cb === "function") {
424+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
425+
this.send(command, optionsOrCb || {}, cb);
426+
} else {
427+
return this.send(command, optionsOrCb);
428+
}
429+
}
430+
315431
/**
316432
* Describe a rule groups namespace.
317433
*/
@@ -594,6 +710,38 @@ export class Amp extends AmpClient {
594710
}
595711
}
596712

713+
/**
714+
* Update logging configuration.
715+
*/
716+
public updateLoggingConfiguration(
717+
args: UpdateLoggingConfigurationCommandInput,
718+
options?: __HttpHandlerOptions
719+
): Promise<UpdateLoggingConfigurationCommandOutput>;
720+
public updateLoggingConfiguration(
721+
args: UpdateLoggingConfigurationCommandInput,
722+
cb: (err: any, data?: UpdateLoggingConfigurationCommandOutput) => void
723+
): void;
724+
public updateLoggingConfiguration(
725+
args: UpdateLoggingConfigurationCommandInput,
726+
options: __HttpHandlerOptions,
727+
cb: (err: any, data?: UpdateLoggingConfigurationCommandOutput) => void
728+
): void;
729+
public updateLoggingConfiguration(
730+
args: UpdateLoggingConfigurationCommandInput,
731+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateLoggingConfigurationCommandOutput) => void),
732+
cb?: (err: any, data?: UpdateLoggingConfigurationCommandOutput) => void
733+
): Promise<UpdateLoggingConfigurationCommandOutput> | void {
734+
const command = new UpdateLoggingConfigurationCommand(args);
735+
if (typeof optionsOrCb === "function") {
736+
this.send(command, optionsOrCb);
737+
} else if (typeof cb === "function") {
738+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
739+
this.send(command, optionsOrCb || {}, cb);
740+
} else {
741+
return this.send(command, optionsOrCb);
742+
}
743+
}
744+
597745
/**
598746
* Updates an AMP workspace alias.
599747
*/

clients/client-amp/src/AmpClient.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ import {
5757
CreateAlertManagerDefinitionCommandInput,
5858
CreateAlertManagerDefinitionCommandOutput,
5959
} from "./commands/CreateAlertManagerDefinitionCommand";
60+
import {
61+
CreateLoggingConfigurationCommandInput,
62+
CreateLoggingConfigurationCommandOutput,
63+
} from "./commands/CreateLoggingConfigurationCommand";
6064
import {
6165
CreateRuleGroupsNamespaceCommandInput,
6266
CreateRuleGroupsNamespaceCommandOutput,
@@ -66,6 +70,10 @@ import {
6670
DeleteAlertManagerDefinitionCommandInput,
6771
DeleteAlertManagerDefinitionCommandOutput,
6872
} from "./commands/DeleteAlertManagerDefinitionCommand";
73+
import {
74+
DeleteLoggingConfigurationCommandInput,
75+
DeleteLoggingConfigurationCommandOutput,
76+
} from "./commands/DeleteLoggingConfigurationCommand";
6977
import {
7078
DeleteRuleGroupsNamespaceCommandInput,
7179
DeleteRuleGroupsNamespaceCommandOutput,
@@ -75,6 +83,10 @@ import {
7583
DescribeAlertManagerDefinitionCommandInput,
7684
DescribeAlertManagerDefinitionCommandOutput,
7785
} from "./commands/DescribeAlertManagerDefinitionCommand";
86+
import {
87+
DescribeLoggingConfigurationCommandInput,
88+
DescribeLoggingConfigurationCommandOutput,
89+
} from "./commands/DescribeLoggingConfigurationCommand";
7890
import {
7991
DescribeRuleGroupsNamespaceCommandInput,
8092
DescribeRuleGroupsNamespaceCommandOutput,
@@ -99,6 +111,10 @@ import {
99111
} from "./commands/PutRuleGroupsNamespaceCommand";
100112
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
101113
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
114+
import {
115+
UpdateLoggingConfigurationCommandInput,
116+
UpdateLoggingConfigurationCommandOutput,
117+
} from "./commands/UpdateLoggingConfigurationCommand";
102118
import {
103119
UpdateWorkspaceAliasCommandInput,
104120
UpdateWorkspaceAliasCommandOutput,
@@ -107,12 +123,15 @@ import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
107123

108124
export type ServiceInputTypes =
109125
| CreateAlertManagerDefinitionCommandInput
126+
| CreateLoggingConfigurationCommandInput
110127
| CreateRuleGroupsNamespaceCommandInput
111128
| CreateWorkspaceCommandInput
112129
| DeleteAlertManagerDefinitionCommandInput
130+
| DeleteLoggingConfigurationCommandInput
113131
| DeleteRuleGroupsNamespaceCommandInput
114132
| DeleteWorkspaceCommandInput
115133
| DescribeAlertManagerDefinitionCommandInput
134+
| DescribeLoggingConfigurationCommandInput
116135
| DescribeRuleGroupsNamespaceCommandInput
117136
| DescribeWorkspaceCommandInput
118137
| ListRuleGroupsNamespacesCommandInput
@@ -122,16 +141,20 @@ export type ServiceInputTypes =
122141
| PutRuleGroupsNamespaceCommandInput
123142
| TagResourceCommandInput
124143
| UntagResourceCommandInput
144+
| UpdateLoggingConfigurationCommandInput
125145
| UpdateWorkspaceAliasCommandInput;
126146

127147
export type ServiceOutputTypes =
128148
| CreateAlertManagerDefinitionCommandOutput
149+
| CreateLoggingConfigurationCommandOutput
129150
| CreateRuleGroupsNamespaceCommandOutput
130151
| CreateWorkspaceCommandOutput
131152
| DeleteAlertManagerDefinitionCommandOutput
153+
| DeleteLoggingConfigurationCommandOutput
132154
| DeleteRuleGroupsNamespaceCommandOutput
133155
| DeleteWorkspaceCommandOutput
134156
| DescribeAlertManagerDefinitionCommandOutput
157+
| DescribeLoggingConfigurationCommandOutput
135158
| DescribeRuleGroupsNamespaceCommandOutput
136159
| DescribeWorkspaceCommandOutput
137160
| ListRuleGroupsNamespacesCommandOutput
@@ -141,6 +164,7 @@ export type ServiceOutputTypes =
141164
| PutRuleGroupsNamespaceCommandOutput
142165
| TagResourceCommandOutput
143166
| UntagResourceCommandOutput
167+
| UpdateLoggingConfigurationCommandOutput
144168
| UpdateWorkspaceAliasCommandOutput;
145169

146170
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
// smithy-typescript generated code
2+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
4+
import { Command as $Command } from "@aws-sdk/smithy-client";
5+
import {
6+
FinalizeHandlerArguments,
7+
Handler,
8+
HandlerExecutionContext,
9+
HttpHandlerOptions as __HttpHandlerOptions,
10+
MetadataBearer as __MetadataBearer,
11+
MiddlewareStack,
12+
SerdeContext as __SerdeContext,
13+
} from "@aws-sdk/types";
14+
15+
import { AmpClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmpClient";
16+
import {
17+
CreateLoggingConfigurationRequest,
18+
CreateLoggingConfigurationRequestFilterSensitiveLog,
19+
CreateLoggingConfigurationResponse,
20+
CreateLoggingConfigurationResponseFilterSensitiveLog,
21+
} from "../models/models_0";
22+
import {
23+
deserializeAws_restJson1CreateLoggingConfigurationCommand,
24+
serializeAws_restJson1CreateLoggingConfigurationCommand,
25+
} from "../protocols/Aws_restJson1";
26+
27+
export interface CreateLoggingConfigurationCommandInput extends CreateLoggingConfigurationRequest {}
28+
export interface CreateLoggingConfigurationCommandOutput extends CreateLoggingConfigurationResponse, __MetadataBearer {}
29+
30+
/**
31+
* Create logging configuration.
32+
* @example
33+
* Use a bare-bones client and the command you need to make an API call.
34+
* ```javascript
35+
* import { AmpClient, CreateLoggingConfigurationCommand } from "@aws-sdk/client-amp"; // ES Modules import
36+
* // const { AmpClient, CreateLoggingConfigurationCommand } = require("@aws-sdk/client-amp"); // CommonJS import
37+
* const client = new AmpClient(config);
38+
* const command = new CreateLoggingConfigurationCommand(input);
39+
* const response = await client.send(command);
40+
* ```
41+
*
42+
* @see {@link CreateLoggingConfigurationCommandInput} for command's `input` shape.
43+
* @see {@link CreateLoggingConfigurationCommandOutput} for command's `response` shape.
44+
* @see {@link AmpClientResolvedConfig | config} for AmpClient's `config` shape.
45+
*
46+
*/
47+
export class CreateLoggingConfigurationCommand extends $Command<
48+
CreateLoggingConfigurationCommandInput,
49+
CreateLoggingConfigurationCommandOutput,
50+
AmpClientResolvedConfig
51+
> {
52+
// Start section: command_properties
53+
// End section: command_properties
54+
55+
constructor(readonly input: CreateLoggingConfigurationCommandInput) {
56+
// Start section: command_constructor
57+
super();
58+
// End section: command_constructor
59+
}
60+
61+
/**
62+
* @internal
63+
*/
64+
resolveMiddleware(
65+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
66+
configuration: AmpClientResolvedConfig,
67+
options?: __HttpHandlerOptions
68+
): Handler<CreateLoggingConfigurationCommandInput, CreateLoggingConfigurationCommandOutput> {
69+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
70+
71+
const stack = clientStack.concat(this.middlewareStack);
72+
73+
const { logger } = configuration;
74+
const clientName = "AmpClient";
75+
const commandName = "CreateLoggingConfigurationCommand";
76+
const handlerExecutionContext: HandlerExecutionContext = {
77+
logger,
78+
clientName,
79+
commandName,
80+
inputFilterSensitiveLog: CreateLoggingConfigurationRequestFilterSensitiveLog,
81+
outputFilterSensitiveLog: CreateLoggingConfigurationResponseFilterSensitiveLog,
82+
};
83+
const { requestHandler } = configuration;
84+
return stack.resolve(
85+
(request: FinalizeHandlerArguments<any>) =>
86+
requestHandler.handle(request.request as __HttpRequest, options || {}),
87+
handlerExecutionContext
88+
);
89+
}
90+
91+
private serialize(input: CreateLoggingConfigurationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
92+
return serializeAws_restJson1CreateLoggingConfigurationCommand(input, context);
93+
}
94+
95+
private deserialize(
96+
output: __HttpResponse,
97+
context: __SerdeContext
98+
): Promise<CreateLoggingConfigurationCommandOutput> {
99+
return deserializeAws_restJson1CreateLoggingConfigurationCommand(output, context);
100+
}
101+
102+
// Start section: command_body_extra
103+
// End section: command_body_extra
104+
}

0 commit comments

Comments
 (0)