in fast-build-update-tool/internal/gamelift/open_port_for_fleet.go [14:38]
func (g *GameLiftClient) OpenPortForFleet(ctx context.Context, fleetId string, port int32, ipRange string) error {
_, err := g.gamelift.UpdateFleetPortSettings(ctx, &gamelift.UpdateFleetPortSettingsInput{
FleetId: aws.String(fleetId),
InboundPermissionAuthorizations: []types.IpPermission{
types.IpPermission{
FromPort: aws.Int32(port),
IpRange: aws.String(ipRange),
Protocol: types.IpProtocolTcp,
ToPort: aws.Int32(port),
},
},
})
// If we have already opened this port on this fleet, there is no reason to return an error
if err != nil {
ire := new(types.InvalidRequestException)
if errors.As(err, &ire) {
if strings.Contains(ire.ErrorMessage(), "InvalidPermission.Duplicate") {
err = nil
}
}
}
return err
}