addIpRoutes method
If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.
Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.
May throw EntityDoesNotExistException. May throw EntityAlreadyExistsException. May throw InvalidParameterException. May throw DirectoryUnavailableException. May throw IpRouteLimitExceededException. May throw ClientException. May throw ServiceException.
Parameter directoryId
:
Identifier (ID) of the directory to which to add the address block.
Parameter ipRoutes
:
IP address blocks, using CIDR format, of the traffic to route. This is
often the IP address block of the DNS server used for your on-premises
domain.
Parameter updateSecurityGroupForDirectoryControllers
:
If set to true, updates the inbound and outbound rules of the security
group that has the description: "AWS created security group for
directory ID directory controllers." Following are the new rules:
Inbound:
- Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
- Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
- Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
- Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
- Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
- Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
- Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
- Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
- Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
- Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
- Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
Outbound:
- Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
Implementation
Future<void> addIpRoutes({
required String directoryId,
required List<IpRoute> ipRoutes,
bool? updateSecurityGroupForDirectoryControllers,
}) async {
ArgumentError.checkNotNull(directoryId, 'directoryId');
ArgumentError.checkNotNull(ipRoutes, 'ipRoutes');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'DirectoryService_20150416.AddIpRoutes'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'DirectoryId': directoryId,
'IpRoutes': ipRoutes,
if (updateSecurityGroupForDirectoryControllers != null)
'UpdateSecurityGroupForDirectoryControllers':
updateSecurityGroupForDirectoryControllers,
},
);
}