createServiceNetworkVpcAssociation method
Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide.
You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it.
As a result of this operation, the association gets created in the service network account and the VPC owner account.
If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter serviceNetworkIdentifier :
The ID or ARN of the service network. You must use an ARN if the resources
are in different accounts.
Parameter vpcIdentifier :
The ID of the VPC.
Parameter clientToken :
A unique, case-sensitive identifier that you provide to ensure the
idempotency of the request. If you retry a request that completed
successfully using the same client token and parameters, the retry
succeeds without performing any actions. If the parameters aren't
identical, the retry fails.
Parameter dnsOptions :
DNS options for the service network VPC association.
Parameter privateDnsEnabled :
Indicates if private DNS is enabled for the VPC association.
Parameter securityGroupIds :
The IDs of the security groups. Security groups aren't added by default.
You can add a security group to apply network level controls to control
which resources in a VPC are allowed to access the service network and its
services. For more information, see Control
traffic to resources using security groups in the Amazon VPC User
Guide.
Parameter tags :
The tags for the association.
Implementation
Future<CreateServiceNetworkVpcAssociationResponse>
createServiceNetworkVpcAssociation({
required String serviceNetworkIdentifier,
required String vpcIdentifier,
String? clientToken,
DnsOptions? dnsOptions,
bool? privateDnsEnabled,
List<String>? securityGroupIds,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'serviceNetworkIdentifier': serviceNetworkIdentifier,
'vpcIdentifier': vpcIdentifier,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (dnsOptions != null) 'dnsOptions': dnsOptions,
if (privateDnsEnabled != null) 'privateDnsEnabled': privateDnsEnabled,
if (securityGroupIds != null) 'securityGroupIds': securityGroupIds,
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/servicenetworkvpcassociations',
exceptionFnMap: _exceptionFns,
);
return CreateServiceNetworkVpcAssociationResponse.fromJson(response);
}