Skip to content

Commit 2b041ea

Browse files
author
awstools
committed
feat(client-networkmanager): This release adds Multi Account API support for a TGW Global Network, to enable and disable AWSServiceAccess with AwsOrganizations for Network Manager service and dependency CloudFormation StackSets service.
1 parent 097a389 commit 2b041ea

14 files changed

+860
-58
lines changed

clients/client-networkmanager/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
AWS SDK for JavaScript NetworkManager Client for Node.js, Browser and React Native.
1111

12-
<p>Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your
13-
Amazon Web Services and on-premises networks that are built around transit gateways.</p>
12+
<p>Amazon Web Services enables you to centrally manage your Amazon Web Services Cloud WAN core network and your Transit Gateway network across Amazon Web Services accounts, Regions, and on-premises locations.</p>
1413

1514
## Installing
1615

clients/client-networkmanager/src/NetworkManager.ts

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,11 @@ import {
268268
ListCoreNetworksCommandInput,
269269
ListCoreNetworksCommandOutput,
270270
} from "./commands/ListCoreNetworksCommand";
271+
import {
272+
ListOrganizationServiceAccessStatusCommand,
273+
ListOrganizationServiceAccessStatusCommandInput,
274+
ListOrganizationServiceAccessStatusCommandOutput,
275+
} from "./commands/ListOrganizationServiceAccessStatusCommand";
271276
import {
272277
ListTagsForResourceCommand,
273278
ListTagsForResourceCommandInput,
@@ -298,6 +303,11 @@ import {
298303
RestoreCoreNetworkPolicyVersionCommandInput,
299304
RestoreCoreNetworkPolicyVersionCommandOutput,
300305
} from "./commands/RestoreCoreNetworkPolicyVersionCommand";
306+
import {
307+
StartOrganizationServiceAccessUpdateCommand,
308+
StartOrganizationServiceAccessUpdateCommandInput,
309+
StartOrganizationServiceAccessUpdateCommandOutput,
310+
} from "./commands/StartOrganizationServiceAccessUpdateCommand";
301311
import {
302312
StartRouteAnalysisCommand,
303313
StartRouteAnalysisCommandInput,
@@ -344,8 +354,7 @@ import {
344354
import { NetworkManagerClient } from "./NetworkManagerClient";
345355

346356
/**
347-
* <p>Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your
348-
* Amazon Web Services and on-premises networks that are built around transit gateways.</p>
357+
* <p>Amazon Web Services enables you to centrally manage your Amazon Web Services Cloud WAN core network and your Transit Gateway network across Amazon Web Services accounts, Regions, and on-premises locations.</p>
349358
*/
350359
export class NetworkManager extends NetworkManagerClient {
351360
/**
@@ -421,8 +430,8 @@ export class NetworkManager extends NetworkManagerClient {
421430
* <p>Associates a customer gateway with a device and optionally, with a link. If you
422431
* specify a link, it must be associated with the specified device. </p>
423432
* <p>You can only associate customer gateways that are connected to a VPN attachment on a
424-
* transit gateway. The transit gateway must be registered in your global network. When
425-
* you register a transit gateway, customer gateways that are connected to the transit
433+
* transit gateway or core network registered in your global network. When you register a
434+
* transit gateway or core network, customer gateways that are connected to the transit
426435
* gateway are automatically included in the global network. To list customer gateways
427436
* that are connected to a transit gateway, use the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html">DescribeVpnConnections</a> EC2 API and filter by
428437
* <code>transit-gateway-id</code>.</p>
@@ -593,7 +602,7 @@ export class NetworkManager extends NetworkManagerClient {
593602
}
594603

595604
/**
596-
* <p>Creates a core network connect peer for a specified core network connect attachment between a core network and an appliance.
605+
* <p>Creates a core network Connect peer for a specified core network connect attachment between a core network and an appliance.
597606
* The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).</p>
598607
*/
599608
public createConnectPeer(
@@ -772,7 +781,7 @@ export class NetworkManager extends NetworkManagerClient {
772781
}
773782

774783
/**
775-
* <p>Creates a site-to-site VPN attachment on an edge location of a core network.</p>
784+
* <p>Creates an Amazon Web Services site-to-site VPN attachment on an edge location of a core network.</p>
776785
*/
777786
public createSiteToSiteVpnAttachment(
778787
args: CreateSiteToSiteVpnAttachmentCommandInput,
@@ -1027,7 +1036,7 @@ export class NetworkManager extends NetworkManagerClient {
10271036

10281037
/**
10291038
* <p>Deletes an existing global network. You must first delete all global network objects
1030-
* (devices, links, and sites) and deregister all transit gateways.</p>
1039+
* (devices, links, and sites), deregister all transit gateways, and delete any core networks.</p>
10311040
*/
10321041
public deleteGlobalNetwork(
10331042
args: DeleteGlobalNetworkCommandInput,
@@ -1503,7 +1512,7 @@ export class NetworkManager extends NetworkManagerClient {
15031512
}
15041513

15051514
/**
1506-
* <p>Returns information about a core network. By default it returns the LIVE policy.</p>
1515+
* <p>Returns information about the LIVE policy for a core network.</p>
15071516
*/
15081517
public getCoreNetwork(
15091518
args: GetCoreNetworkCommandInput,
@@ -2227,6 +2236,35 @@ export class NetworkManager extends NetworkManagerClient {
22272236
}
22282237
}
22292238

2239+
public listOrganizationServiceAccessStatus(
2240+
args: ListOrganizationServiceAccessStatusCommandInput,
2241+
options?: __HttpHandlerOptions
2242+
): Promise<ListOrganizationServiceAccessStatusCommandOutput>;
2243+
public listOrganizationServiceAccessStatus(
2244+
args: ListOrganizationServiceAccessStatusCommandInput,
2245+
cb: (err: any, data?: ListOrganizationServiceAccessStatusCommandOutput) => void
2246+
): void;
2247+
public listOrganizationServiceAccessStatus(
2248+
args: ListOrganizationServiceAccessStatusCommandInput,
2249+
options: __HttpHandlerOptions,
2250+
cb: (err: any, data?: ListOrganizationServiceAccessStatusCommandOutput) => void
2251+
): void;
2252+
public listOrganizationServiceAccessStatus(
2253+
args: ListOrganizationServiceAccessStatusCommandInput,
2254+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListOrganizationServiceAccessStatusCommandOutput) => void),
2255+
cb?: (err: any, data?: ListOrganizationServiceAccessStatusCommandOutput) => void
2256+
): Promise<ListOrganizationServiceAccessStatusCommandOutput> | void {
2257+
const command = new ListOrganizationServiceAccessStatusCommand(args);
2258+
if (typeof optionsOrCb === "function") {
2259+
this.send(command, optionsOrCb);
2260+
} else if (typeof cb === "function") {
2261+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2262+
this.send(command, optionsOrCb || {}, cb);
2263+
} else {
2264+
return this.send(command, optionsOrCb);
2265+
}
2266+
}
2267+
22302268
/**
22312269
* <p>Lists the tags for a specified resource.</p>
22322270
*/
@@ -2421,6 +2459,35 @@ export class NetworkManager extends NetworkManagerClient {
24212459
}
24222460
}
24232461

2462+
public startOrganizationServiceAccessUpdate(
2463+
args: StartOrganizationServiceAccessUpdateCommandInput,
2464+
options?: __HttpHandlerOptions
2465+
): Promise<StartOrganizationServiceAccessUpdateCommandOutput>;
2466+
public startOrganizationServiceAccessUpdate(
2467+
args: StartOrganizationServiceAccessUpdateCommandInput,
2468+
cb: (err: any, data?: StartOrganizationServiceAccessUpdateCommandOutput) => void
2469+
): void;
2470+
public startOrganizationServiceAccessUpdate(
2471+
args: StartOrganizationServiceAccessUpdateCommandInput,
2472+
options: __HttpHandlerOptions,
2473+
cb: (err: any, data?: StartOrganizationServiceAccessUpdateCommandOutput) => void
2474+
): void;
2475+
public startOrganizationServiceAccessUpdate(
2476+
args: StartOrganizationServiceAccessUpdateCommandInput,
2477+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartOrganizationServiceAccessUpdateCommandOutput) => void),
2478+
cb?: (err: any, data?: StartOrganizationServiceAccessUpdateCommandOutput) => void
2479+
): Promise<StartOrganizationServiceAccessUpdateCommandOutput> | void {
2480+
const command = new StartOrganizationServiceAccessUpdateCommand(args);
2481+
if (typeof optionsOrCb === "function") {
2482+
this.send(command, optionsOrCb);
2483+
} else if (typeof cb === "function") {
2484+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2485+
this.send(command, optionsOrCb || {}, cb);
2486+
} else {
2487+
return this.send(command, optionsOrCb);
2488+
}
2489+
}
2490+
24242491
/**
24252492
* <p>Starts analyzing the routing path between the specified source and destination. For more information,
24262493
* see <a href="https://docs.aws.amazon.com/vpc/latest/tgw/route-analyzer.html">Route Analyzer</a>.</p>

clients/client-networkmanager/src/NetworkManagerClient.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,10 @@ import {
201201
ListCoreNetworkPolicyVersionsCommandOutput,
202202
} from "./commands/ListCoreNetworkPolicyVersionsCommand";
203203
import { ListCoreNetworksCommandInput, ListCoreNetworksCommandOutput } from "./commands/ListCoreNetworksCommand";
204+
import {
205+
ListOrganizationServiceAccessStatusCommandInput,
206+
ListOrganizationServiceAccessStatusCommandOutput,
207+
} from "./commands/ListOrganizationServiceAccessStatusCommand";
204208
import {
205209
ListTagsForResourceCommandInput,
206210
ListTagsForResourceCommandOutput,
@@ -219,6 +223,10 @@ import {
219223
RestoreCoreNetworkPolicyVersionCommandInput,
220224
RestoreCoreNetworkPolicyVersionCommandOutput,
221225
} from "./commands/RestoreCoreNetworkPolicyVersionCommand";
226+
import {
227+
StartOrganizationServiceAccessUpdateCommandInput,
228+
StartOrganizationServiceAccessUpdateCommandOutput,
229+
} from "./commands/StartOrganizationServiceAccessUpdateCommand";
222230
import { StartRouteAnalysisCommandInput, StartRouteAnalysisCommandOutput } from "./commands/StartRouteAnalysisCommand";
223231
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
224232
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -301,12 +309,14 @@ export type ServiceInputTypes =
301309
| ListConnectPeersCommandInput
302310
| ListCoreNetworkPolicyVersionsCommandInput
303311
| ListCoreNetworksCommandInput
312+
| ListOrganizationServiceAccessStatusCommandInput
304313
| ListTagsForResourceCommandInput
305314
| PutCoreNetworkPolicyCommandInput
306315
| PutResourcePolicyCommandInput
307316
| RegisterTransitGatewayCommandInput
308317
| RejectAttachmentCommandInput
309318
| RestoreCoreNetworkPolicyVersionCommandInput
319+
| StartOrganizationServiceAccessUpdateCommandInput
310320
| StartRouteAnalysisCommandInput
311321
| TagResourceCommandInput
312322
| UntagResourceCommandInput
@@ -379,12 +389,14 @@ export type ServiceOutputTypes =
379389
| ListConnectPeersCommandOutput
380390
| ListCoreNetworkPolicyVersionsCommandOutput
381391
| ListCoreNetworksCommandOutput
392+
| ListOrganizationServiceAccessStatusCommandOutput
382393
| ListTagsForResourceCommandOutput
383394
| PutCoreNetworkPolicyCommandOutput
384395
| PutResourcePolicyCommandOutput
385396
| RegisterTransitGatewayCommandOutput
386397
| RejectAttachmentCommandOutput
387398
| RestoreCoreNetworkPolicyVersionCommandOutput
399+
| StartOrganizationServiceAccessUpdateCommandOutput
388400
| StartRouteAnalysisCommandOutput
389401
| TagResourceCommandOutput
390402
| UntagResourceCommandOutput
@@ -551,8 +563,7 @@ type NetworkManagerClientResolvedConfigType = __SmithyResolvedConfiguration<__Ht
551563
export interface NetworkManagerClientResolvedConfig extends NetworkManagerClientResolvedConfigType {}
552564

553565
/**
554-
* <p>Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your
555-
* Amazon Web Services and on-premises networks that are built around transit gateways.</p>
566+
* <p>Amazon Web Services enables you to centrally manage your Amazon Web Services Cloud WAN core network and your Transit Gateway network across Amazon Web Services accounts, Regions, and on-premises locations.</p>
556567
*/
557568
export class NetworkManagerClient extends __Client<
558569
__HttpHandlerOptions,

clients/client-networkmanager/src/commands/AssociateCustomerGatewayCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export interface AssociateCustomerGatewayCommandOutput extends AssociateCustomer
2626
* <p>Associates a customer gateway with a device and optionally, with a link. If you
2727
* specify a link, it must be associated with the specified device. </p>
2828
* <p>You can only associate customer gateways that are connected to a VPN attachment on a
29-
* transit gateway. The transit gateway must be registered in your global network. When
30-
* you register a transit gateway, customer gateways that are connected to the transit
29+
* transit gateway or core network registered in your global network. When you register a
30+
* transit gateway or core network, customer gateways that are connected to the transit
3131
* gateway are automatically included in the global network. To list customer gateways
3232
* that are connected to a transit gateway, use the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html">DescribeVpnConnections</a> EC2 API and filter by
3333
* <code>transit-gateway-id</code>.</p>

clients/client-networkmanager/src/commands/CreateConnectPeerCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export interface CreateConnectPeerCommandInput extends CreateConnectPeerRequest
2323
export interface CreateConnectPeerCommandOutput extends CreateConnectPeerResponse, __MetadataBearer {}
2424

2525
/**
26-
* <p>Creates a core network connect peer for a specified core network connect attachment between a core network and an appliance.
26+
* <p>Creates a core network Connect peer for a specified core network connect attachment between a core network and an appliance.
2727
* The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).</p>
2828
* @example
2929
* Use a bare-bones client and the command you need to make an API call.

clients/client-networkmanager/src/commands/CreateSiteToSiteVpnAttachmentCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export interface CreateSiteToSiteVpnAttachmentCommandOutput
2525
__MetadataBearer {}
2626

2727
/**
28-
* <p>Creates a site-to-site VPN attachment on an edge location of a core network.</p>
28+
* <p>Creates an Amazon Web Services site-to-site VPN attachment on an edge location of a core network.</p>
2929
* @example
3030
* Use a bare-bones client and the command you need to make an API call.
3131
* ```javascript

clients/client-networkmanager/src/commands/DeleteGlobalNetworkCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface DeleteGlobalNetworkCommandOutput extends DeleteGlobalNetworkRes
2424

2525
/**
2626
* <p>Deletes an existing global network. You must first delete all global network objects
27-
* (devices, links, and sites) and deregister all transit gateways.</p>
27+
* (devices, links, and sites), deregister all transit gateways, and delete any core networks.</p>
2828
* @example
2929
* Use a bare-bones client and the command you need to make an API call.
3030
* ```javascript

clients/client-networkmanager/src/commands/GetCoreNetworkCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export interface GetCoreNetworkCommandInput extends GetCoreNetworkRequest {}
2323
export interface GetCoreNetworkCommandOutput extends GetCoreNetworkResponse, __MetadataBearer {}
2424

2525
/**
26-
* <p>Returns information about a core network. By default it returns the LIVE policy.</p>
26+
* <p>Returns information about the LIVE policy for a core network.</p>
2727
* @example
2828
* Use a bare-bones client and the command you need to make an API call.
2929
* ```javascript
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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 {
16+
ListOrganizationServiceAccessStatusRequest,
17+
ListOrganizationServiceAccessStatusResponse,
18+
} from "../models/models_0";
19+
import { NetworkManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../NetworkManagerClient";
20+
import {
21+
deserializeAws_restJson1ListOrganizationServiceAccessStatusCommand,
22+
serializeAws_restJson1ListOrganizationServiceAccessStatusCommand,
23+
} from "../protocols/Aws_restJson1";
24+
25+
export interface ListOrganizationServiceAccessStatusCommandInput extends ListOrganizationServiceAccessStatusRequest {}
26+
export interface ListOrganizationServiceAccessStatusCommandOutput
27+
extends ListOrganizationServiceAccessStatusResponse,
28+
__MetadataBearer {}
29+
30+
export class ListOrganizationServiceAccessStatusCommand extends $Command<
31+
ListOrganizationServiceAccessStatusCommandInput,
32+
ListOrganizationServiceAccessStatusCommandOutput,
33+
NetworkManagerClientResolvedConfig
34+
> {
35+
// Start section: command_properties
36+
// End section: command_properties
37+
38+
constructor(readonly input: ListOrganizationServiceAccessStatusCommandInput) {
39+
// Start section: command_constructor
40+
super();
41+
// End section: command_constructor
42+
}
43+
44+
/**
45+
* @internal
46+
*/
47+
resolveMiddleware(
48+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
49+
configuration: NetworkManagerClientResolvedConfig,
50+
options?: __HttpHandlerOptions
51+
): Handler<ListOrganizationServiceAccessStatusCommandInput, ListOrganizationServiceAccessStatusCommandOutput> {
52+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
53+
54+
const stack = clientStack.concat(this.middlewareStack);
55+
56+
const { logger } = configuration;
57+
const clientName = "NetworkManagerClient";
58+
const commandName = "ListOrganizationServiceAccessStatusCommand";
59+
const handlerExecutionContext: HandlerExecutionContext = {
60+
logger,
61+
clientName,
62+
commandName,
63+
inputFilterSensitiveLog: ListOrganizationServiceAccessStatusRequest.filterSensitiveLog,
64+
outputFilterSensitiveLog: ListOrganizationServiceAccessStatusResponse.filterSensitiveLog,
65+
};
66+
const { requestHandler } = configuration;
67+
return stack.resolve(
68+
(request: FinalizeHandlerArguments<any>) =>
69+
requestHandler.handle(request.request as __HttpRequest, options || {}),
70+
handlerExecutionContext
71+
);
72+
}
73+
74+
private serialize(
75+
input: ListOrganizationServiceAccessStatusCommandInput,
76+
context: __SerdeContext
77+
): Promise<__HttpRequest> {
78+
return serializeAws_restJson1ListOrganizationServiceAccessStatusCommand(input, context);
79+
}
80+
81+
private deserialize(
82+
output: __HttpResponse,
83+
context: __SerdeContext
84+
): Promise<ListOrganizationServiceAccessStatusCommandOutput> {
85+
return deserializeAws_restJson1ListOrganizationServiceAccessStatusCommand(output, context);
86+
}
87+
88+
// Start section: command_body_extra
89+
// End section: command_body_extra
90+
}

0 commit comments

Comments
 (0)